changeset 0:57f01ca855cd draft default tip

"planemo upload commit 47d779aa1de5153673ac8bb1e37c9730210cbb5d"
author galaxyp
date Sat, 12 Jun 2021 18:06:28 +0000
parents
children
files README.rst jvenn_template.html releases_notes.rst test-data/Bredberg.txt test-data/ID_Converter_FKW_Lacombe_et_al_2017_OK.txt test-data/Mucilli.txt test-data/Venn_diagram_html.html test-data/Venn_text_output.txt venn_diagram.py venn_diagram.xml
diffstat 10 files changed, 1573 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README.rst	Sat Jun 12 18:06:28 2021 +0000
@@ -0,0 +1,49 @@
+Wrapper for JVenn Diagram Tool
+==============================
+
+**Authors**
+
+Philippe Bardou, Jérôme Mariette, Frédéric Escudié, Christophe Djemiel and Christophe Klopp. jvenn: an interactive Venn diagram viewer. BMC Bioinformatics 2014, 15:293 doi:10.1186/1471-2105-15-293
+
+**Galaxy integration**
+
+T.P. Lien Nguyen, Florence Combes, Yves Vandenbrouck CEA, INSERM, CNRS, Grenoble-Alpes University, BIG Institute, FR
+
+Sandra Dérozier, Olivier Rué, Christophe Caron, Valentin Loux INRA, Paris-Saclay University, MAIAGE Unit,Migale Bioinformatics platform
+
+Contact support@proteore.org for any questions or concerns about the Galaxy implementation of this tool.
+
+------------------------------
+
+This tool draw a venn diagram from lists/files using Jvenn plug-in (http://jvenn.toulouse.inra.fr/app/index.html). It also creates output files that contain common or specific elements between query and each compared lists/files.
+
+**Inputs**
+
+* **Query file:** A file containing different information of proteins, could be output of previous components.
+
+* **File of a list of IDs:** .TXT format, each line contains 1 ID
+    
+    AMY1A
+    
+ 	ALB
+ 	
+ 	IGKC
+ 	
+ 	CSTA
+ 	
+ 	IGHA1
+ 	
+ 	ACTG1
+
+* **List of IDs:** IDs separated by a space
+    AMY1A ALB IGKC CSTA IGHA1 ACTG1
+
+If you choose a file, it is necessary to specify the column where you would like to perform the comparison.
+
+**Outputs**
+
+* **Summary file** (venn_diagram_summary.html):
+    Venn diagram: Could be downloaded as image (PNG, SVG)
+
+* **Venn text output file**
+    A text file containing common/specific elements among compared lists/files.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jvenn_template.html	Sat Jun 12 18:06:28 2021 +0000
@@ -0,0 +1,228 @@
+<!DOCTYPE html>
+<!--
+# Copyright (C) 2015 INRA
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+-->
+<html>
+	<head>
+		<title>Jvenn+</title>
+		<meta charset="UTF-8">
+		<meta name="version" content="2.0.1">
+		<link rel="stylesheet" href="https://cdn.datatables.net/1.10.6/css/jquery.dataTables.css"></link>
+		<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"></link>
+		<style type="text/css">
+			#js-alert {
+				width: 90%;
+				margin-right: auto;
+				margin-left: auto;
+			}
+			#content {
+				width: 90%;
+				margin-right: auto;
+				margin-left: auto;
+			}
+			.clear {
+				clear: both;
+				height: 0px;
+				width: 100%;
+				float: none !important;
+			}
+			ul.nav-tabs {
+				margin-bottom: 30px;
+			}
+			#venn-filters {
+				padding: 10px;
+				background-color: #FFF;
+				background-clip: padding-box;
+				border: 1px solid rgba(0, 0, 0, 0.15);
+				border-radius: 4px;
+				box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.176);
+				margin-right: auto;
+				margin-left: auto;
+				margin-bottom: 30px;
+			}
+			#byFilters-jvenn {
+				margin-right: auto;
+				margin-left: auto;
+			}
+			#venn-filters ul {
+				list-style-type: none;
+			}
+		</style>
+
+		<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
+		<script type="text/javascript" src="https://code.highcharts.com/4.1.4/highcharts.js"></script>
+		<script type="text/javascript" src="https://code.highcharts.com/4.1.4/modules/exporting.js"></script>
+		<script type="text/javascript" src="https://cdn.datatables.net/1.10.6/js/jquery.dataTables.min.js"></script>
+		<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
+		<script type="text/javascript">
+			/***************************************************************
+			*  Copyright notice
+			*
+			*  (c) 2014 PF bioinformatique de Toulouse
+			*  All rights reserved
+			* 
+			*
+			*  This script is an adaptation of the venny script developed by
+			*  Juan Carlos Oliveros, BioinfoGP, CNB-CSIC:
+			*  Oliveros, J.C. (2007) VENNY. An interactive tool for comparing 
+			*  lists with Venn Diagrams.
+			*  http://bioinfogp.cnb.csic.es/tools/venny/index.html.
+			*  It is distributed under the terms of the GNU General Public 
+			*  License as published by the Free Software Foundation; either 
+			*  version 2 of the License, or (at your option) any later version.
+			*
+			*  The GNU General Public License can be found at
+			*  http://www.gnu.org/copyleft/gpl.html.
+			*
+			*  This script is distributed in the hope that it will be useful,
+			*  but WITHOUT ANY WARRANTY; without even the implied warranty of
+			*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+			*  GNU General Public License for more details.
+			*
+			*  This copyright notice MUST APPEAR in all copies of the script!
+			***************************************************************/
+			!function(){"use strict";function s(s,t){var e,l=Object.keys(t);for(e=0;e<l.length;e++)s=s.replace(new RegExp("\\{"+l[e]+"\\}","gi"),t[l[e]]);return s}function t(s){var t,e,l;if(!s)throw new Error("cannot create a random attribute name for an undefined object");t="ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",e="";do for(e="",l=0;12>l;l++)e+=t[Math.floor(Math.random()*t.length)];while(s[e]);return e}function e(s,t){var e,l,r,o={};for(s=s.split(","),t=t||10,e=0;e<s.length;e+=2)l="&"+s[e+1]+";",r=parseInt(s[e],t),o[l]="&#"+r+";";return o["\\xa0"]="&#160;",o}function l(s){var t={left:"start",right:"end",center:"middle",start:"start",end:"end"};return t[s]||t.start}function r(s){var t={alphabetic:"alphabetic",hanging:"hanging",top:"text-before-edge",bottom:"text-after-edge",middle:"central"};return t[s]||t.alphabetic}var o,c,i,a,u;u=e("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32),o={strokeStyle:{svgAttr:"stroke",canvas:"#000000",svg:"none",apply:"stroke"},fillStyle:{svgAttr:"fill",canvas:"#000000",svg:null,apply:"fill"},lineCap:{svgAttr:"stroke-linecap",canvas:"butt",svg:"butt",apply:"stroke"},lineJoin:{svgAttr:"stroke-linejoin",canvas:"miter",svg:"miter",apply:"stroke"},miterLimit:{svgAttr:"stroke-miterlimit",canvas:10,svg:4,apply:"stroke"},lineWidth:{svgAttr:"stroke-width",canvas:1,svg:1,apply:"stroke"},globalAlpha:{svgAttr:"opacity",canvas:1,svg:1,apply:"fill stroke"},font:{canvas:"10px sans-serif"},shadowColor:{canvas:"#000000"},shadowOffsetX:{canvas:0},shadowOffsetY:{canvas:0},shadowBlur:{canvas:0},textAlign:{canvas:"start"},textBaseline:{canvas:"alphabetic"}},i=function(s){this.__root=s},i.prototype.addColorStop=function(t,e){var l,r,o=document.createElementNS("http://www.w3.org/2000/svg","stop");o.setAttribute("offset",t),-1!==e.indexOf("rgba")?(l=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi,r=l.exec(e),o.setAttribute("stop-color",s("rgb({r},{g},{b})",{r:r[1],g:r[2],b:r[3]})),o.setAttribute("stop-opacity",r[4])):o.setAttribute("stop-color",e),this.__root.appendChild(o)},a=function(s,t){this.__root=s,this.__ctx=t},c=function(s){var t,e={width:500,height:500,enableMirroring:!1};return arguments.length>1?(t=e,t.width=arguments[0],t.height=arguments[1]):t=s?s:e,this instanceof c?(this.width=t.width||e.width,this.height=t.height||e.height,this.enableMirroring=void 0!==t.enableMirroring?t.enableMirroring:e.enableMirroring,this.canvas=this,this.__canvas=document.createElement("canvas"),this.__ctx=this.__canvas.getContext("2d"),this.__setDefaultStyles(),this.__stack=[this.__getStyleState()],this.__groupStack=[],this.__root=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.__root.setAttribute("version",1.1),this.__root.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.__root.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),this.__root.setAttribute("width",this.width),this.__root.setAttribute("height",this.height),this.__ids={},this.__defs=document.createElementNS("http://www.w3.org/2000/svg","defs"),this.__root.appendChild(this.__defs),this.__currentElement=document.createElementNS("http://www.w3.org/2000/svg","g"),void this.__root.appendChild(this.__currentElement)):new c(t)},c.prototype.__createElement=function(s,t,e){var l,r,o=document.createElementNS("http://www.w3.org/2000/svg",s),c=Object.keys(t);for(e&&(o.setAttribute("fill","none"),o.setAttribute("stroke","none")),l=0;l<c.length;l++)r=c[l],o.setAttribute(r,t[r]);return o},c.prototype.__setDefaultStyles=function(){var s,t,e=Object.keys(o);for(s=0;s<e.length;s++)t=e[s],this[t]=o[t].canvas},c.prototype.__applyStyleState=function(s){var t,e,l=Object.keys(s);for(t=0;t<l.length;t++)e=l[t],this[e]=s[e]},c.prototype.__getStyleState=function(){var s,t,e={},l=Object.keys(o);for(s=0;s<l.length;s++)t=l[s],e[t]=this[t];return e},c.prototype.__applyStyleToCurrentElement=function(t){var e,l,r,c,u,p,n=Object.keys(o);for(e=0;e<n.length;e++)if(l=o[n[e]],r=this[n[e]],l.apply)if(-1!==l.apply.indexOf("fill")&&r instanceof a){if(r.__ctx)for(;r.__ctx.__defs.childNodes.length;)c=r.__ctx.__defs.childNodes[0].getAttribute("id"),this.__ids[c]=c,this.__defs.appendChild(r.__ctx.__defs.childNodes[0]);this.__currentElement.setAttribute("fill",s("url(#{id})",{id:r.__root.getAttribute("id")}))}else-1!==l.apply.indexOf("fill")&&r instanceof i?this.__currentElement.setAttribute("fill",s("url(#{id})",{id:r.__root.getAttribute("id")})):-1!==l.apply.indexOf(t)&&l.svg!==r&&("stroke"!==l.svgAttr&&"fill"!==l.svgAttr||-1===r.indexOf("rgba")?this.__currentElement.setAttribute(l.svgAttr,r):(u=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi,p=u.exec(r),this.__currentElement.setAttribute(l.svgAttr,s("rgb({r},{g},{b})",{r:p[1],g:p[2],b:p[3]})),this.__currentElement.setAttribute(l.svgAttr+"-opacity",p[4])))},c.prototype.__closestGroupOrSvg=function(s){return s=s||this.__currentElement,"g"===s.nodeName||"svg"===s.nodeName?s:this.__closestGroupOrSvg(s.parentNode)},c.prototype.getSerializedSvg=function(s){var t,e,l,r,o,c,i=(new XMLSerializer).serializeToString(this.__root);if(c=/xmlns="http:\/\/www\.w3\.org\/2000\/svg".+xmlns="http:\/\/www\.w3\.org\/2000\/svg/gi,c.test(i)&&(i=i.replace('xmlns="http://www.w3.org/2000/svg','xmlns:xlink="http://www.w3.org/1999/xlink')),s)for(t=Object.keys(u),e=0;e<t.length;e++)l=t[e],r=u[l],o=new RegExp(l,"gi"),o.test(i)&&(i=i.replace(o,r));return i},c.prototype.getSvg=function(){return this.__root},c.prototype.save=function(){var s=document.createElementNS("http://www.w3.org/2000/svg","g"),t=this.__closestGroupOrSvg();this.__groupStack.push(t),t.appendChild(s),this.__currentElement=s,this.__stack.push(this.__getStyleState())},c.prototype.restore=function(){this.__currentElement=this.__groupStack.pop();var s=this.__stack.pop();this.__applyStyleState(s)},c.prototype.__addTransform=function(s){var t=this.__currentElement.getAttribute("transform");t?t+=" ":t="",t+=s,this.__currentElement.setAttribute("transform",t)},c.prototype.scale=function(t,e){void 0===e&&(e=t),this.__addTransform(s("scale({x},{y})",{x:t,y:e}))},c.prototype.rotate=function(t){var e=180*t/Math.PI;this.__addTransform(s("rotate({angle},{cx},{cy})",{angle:e,cx:0,cy:0}))},c.prototype.translate=function(t,e){this.__addTransform(s("translate({x},{y})",{x:t,y:e}))},c.prototype.transform=function(t,e,l,r,o,c){this.__addTransform(s("matrix({a},{b},{c},{d},{e},{f})",{a:t,b:e,c:l,d:r,e:o,f:c}))},c.prototype.beginPath=function(){var s,t;s=this.__createElement("path",{},!0),t=this.__closestGroupOrSvg(),t.appendChild(s),this.__currentElement=s},c.prototype.__addPathCommand=function(s){if("path"!==this.__currentElement.nodeName)throw new Error("Attempted to add path command to node "+this.__currentElement.nodeName);var t=this.__currentElement.getAttribute("d");t?t+=" ":t="",t+=s,this.__currentElement.setAttribute("d",t)},c.prototype.moveTo=function(t,e){"path"!==this.__currentElement.nodeName&&this.beginPath(),this.__addPathCommand(s("M {x} {y}",{x:t,y:e}))},c.prototype.closePath=function(){this.__addPathCommand("Z")},c.prototype.lineTo=function(t,e){this.__addPathCommand(s("L {x} {y}",{x:t,y:e}))},c.prototype.bezierCurveTo=function(t,e,l,r,o,c){this.__addPathCommand(s("C {cp1x} {cp1y} {cp2x} {cp2y} {x} {y}",{cp1x:t,cp1y:e,cp2x:l,cp2y:r,x:o,y:c}))},c.prototype.quadraticCurveTo=function(t,e,l,r){this.__addPathCommand(s("Q {cpx} {cpy} {x} {y}",{cpx:t,cpy:e,x:l,y:r}))},c.prototype.stroke=function(){this.__applyStyleToCurrentElement("stroke")},c.prototype.fill=function(){this.__applyStyleToCurrentElement("fill")},c.prototype.rect=function(s,t,e,l){"path"!==this.__currentElement.nodeName&&this.beginPath(),this.moveTo(s,t),this.lineTo(s+e,t),this.lineTo(s+e,t+l),this.lineTo(s,t+l),this.lineTo(s,t),this.closePath()},c.prototype.fillRect=function(s,t,e,l){var r,o;r=this.__createElement("rect",{x:s,y:t,width:e,height:l},!0),o=this.__closestGroupOrSvg(),o.appendChild(r),this.__currentElement=r,this.__applyStyleToCurrentElement("fill")},c.prototype.strokeRect=function(s,t,e,l){var r,o;r=this.__createElement("rect",{x:s,y:t,width:e,height:l},!0),o=this.__closestGroupOrSvg(),o.appendChild(r),this.__currentElement=r,this.__applyStyleToCurrentElement("stroke")},c.prototype.clearRect=function(s,t,e,l){var r,o=this.__closestGroupOrSvg();r=this.__createElement("rect",{x:s,y:t,width:e,height:l,fill:"#FFFFFF"},!0),o.appendChild(r)},c.prototype.createLinearGradient=function(s,e,l,r){var o=this.__createElement("linearGradient",{id:t(this.__ids),x1:s+"px",x2:l+"px",y1:e+"px",y2:r+"px",gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(o),new i(o)},c.prototype.createRadialGradient=function(s,e,l,r,o,c){var a=this.__createElement("radialGradient",{id:t(this.__ids),cx:r+"px",cy:o+"px",r:c+"px",fx:s+"px",fy:e+"px",gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(a),new i(a)},c.prototype.__parseFont=function(){var s,t,e=this.font,l=0,r={style:"normal",size:"10px",family:"sans-serif",weight:"normal",decoration:"none",href:null};for("underline"===this.__fontUnderline&&(r.decoration="underline"),this.__fontHref&&(r.href=this.__fontHref),s=e.split(" "),t=s[l];/italic|bold|normal/.test(t);)"bold"===t?r.weight=t:r.style=t,l++,t=s[l];return/em|px|pt|%/.test(t)&&(r.size=t,l++),s.splice(0,l),r.family=s.join(" "),r},c.prototype.__wrapTextLink=function(s,t){if(s.href){var e=document.createElementNS("http://www.w3.org/2000/svg","a");return e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",s.href),e.appendChild(t),e}return t},c.prototype.__applyText=function(s,t,e,o){var c=this.__parseFont(),i=this.__closestGroupOrSvg(),a=this.__createElement("text",{"font-family":c.family,"font-size":c.size,"font-style":c.style,"font-weight":c.weight,"text-decoration":c.decoration,x:t,y:e,"text-anchor":l(this.textAlign),"dominant-baseline":r(this.textBaseline)},!0);a.appendChild(document.createTextNode(s)),this.__currentElement=a,this.__applyStyleToCurrentElement(o),i.appendChild(this.__wrapTextLink(c,a))},c.prototype.fillText=function(s,t,e){this.__applyText(s,t,e,"fill")},c.prototype.strokeText=function(s,t,e){this.__applyText(s,t,e,"stroke")},c.prototype.measureText=function(s){return this.__ctx.font=this.font,this.__ctx.measureText(s)},c.prototype.arc=function(t,e,l,r,o,c){r%=2*Math.PI,o%=2*Math.PI,r===o&&(o=(o+2*Math.PI-.001*(c?-1:1))%(2*Math.PI));var i=t+l*Math.cos(o),a=e+l*Math.sin(o),u=t+l*Math.cos(r),p=e+l*Math.sin(r),n=c?0:1,C=0,f=o-r;0>f&&(f+=2*Math.PI),C=c?f>Math.PI?0:1:f>Math.PI?1:0,this.moveTo(u,p),this.__addPathCommand(s("A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}",{rx:l,ry:l,xAxisRotation:0,largeArcFlag:C,sweepFlag:n,endX:i,endY:a}))},c.prototype.clip=function(){var e=this.__closestGroupOrSvg(),l=document.createElementNS("http://www.w3.org/2000/svg","clipPath"),r=t(this.__ids),o=document.createElementNS("http://www.w3.org/2000/svg","g");e.removeChild(this.__currentElement),l.setAttribute("id",r),l.appendChild(this.__currentElement),this.__defs.appendChild(l),e.setAttribute("clip-path",s("url(#{id})",{id:r})),e.appendChild(o),this.__currentElement=o},c.prototype.drawImage=function(){var s,t,e,l,r,o,i,a,u,p,n,C,f,h,d,b=Array.prototype.slice.call(arguments),v=b[0],m=0,g=0;if(3===b.length)s=b[1],t=b[2],r=v.width,o=v.height,e=r,l=o;else if(5===b.length)s=b[1],t=b[2],e=b[3],l=b[4],r=v.width,o=v.height;else{if(9!==b.length)throw new Error("Inavlid number of arguments passed to drawImage: "+arguments.length);m=b[1],g=b[2],r=b[3],o=b[4],s=b[5],t=b[6],e=b[7],l=b[8]}if(i=this.__closestGroupOrSvg(),n=this.__currentElement,v instanceof c){for(a=v.getSvg(),u=a.childNodes[0];u.childNodes.length;)d=u.childNodes[0].getAttribute("id"),this.__ids[d]=d,this.__defs.appendChild(u.childNodes[0]);p=a.childNodes[1],i.appendChild(p),this.__currentElement=p,this.translate(s,t),this.__currentElement=n}else("CANVAS"===v.nodeName||"IMG"===v.nodeName)&&(C=document.createElementNS("http://www.w3.org/2000/svg","image"),C.setAttribute("width",e),C.setAttribute("height",l),C.setAttribute("preserveAspectRatio","none"),(m||g||r!==v.width||o!==v.height)&&(f=document.createElement("canvas"),f.width=e,f.height=l,h=f.getContext("2d"),h.drawImage(v,m,g,r,o,0,0,e,l),v=f),C.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href","CANVAS"===v.nodeName?v.toDataURL():v.getAttribute("src")),i.appendChild(C),this.__currentElement=C,this.translate(s,t),this.__currentElement=n)},c.prototype.createPattern=function(s){var e,l=document.createElementNS("http://www.w3.org/2000/svg","pattern"),r=t(this.__ids);return l.setAttribute("id",r),l.setAttribute("width",s.width),l.setAttribute("height",s.height),"CANVAS"===s.nodeName||"IMG"===s.nodeName?(e=document.createElementNS("http://www.w3.org/2000/svg","image"),e.setAttribute("width",s.width),e.setAttribute("height",s.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href","CANVAS"===s.nodeName?s.toDataURL():s.getAttribute("src")),l.appendChild(e),this.__defs.appendChild(l)):s instanceof c&&(l.appendChild(s.__root.childNodes[1]),this.__defs.appendChild(l)),new a(l,this)},c.prototype.drawFocusRing=function(){},c.prototype.createImageData=function(){},c.prototype.getImageData=function(){},c.prototype.putImageData=function(){},c.prototype.globalCompositeOperation=function(){},c.prototype.arcTo=function(){},c.prototype.setTransform=function(){},window.C2S=c}(),function(s){s.fn.jvenn=function(e){function l(s,t,e,l,r,o,c){j.beginPath(),j.save(),j.translate(s,t),j.rotate(o*Math.PI/180),j.scale(l,r),j.arc(0,0,e,0,2*Math.PI),j.fillStyle=c,j.fill(),j.restore()}function r(s,t,e,l,r,o,c){j.beginPath(),j.save(),j.moveTo(s,t),j.lineTo(e,l),j.lineTo(r,o),j.fillStyle=c,j.fill(),j.restore()}function o(s,t,e,l,r){j.lineWidth=1,j.beginPath(),j.moveTo(s,t),j.lineTo(e,l),j.strokeStyle=r,j.stroke()}function c(s,t,e,l,r,o,c){j.beginPath(),j.save(),j.translate(s,t),j.rotate(o*Math.PI/180),j.scale(l,r),j.arc(0,0,e,0,2*Math.PI),j.lineWidth=3,j.strokeStyle=c,d(c)>=.6&&(j.fillStyle=h(c,.1),j.fill()),j.stroke(),j.restore()}function a(s){var t=!1;j.strokeStyle=s,j.lineWidth=3,j.beginPath(),j.arc(120,205,90,.25*Math.PI,1.75*Math.PI,t),j.stroke(),j.beginPath(),j.arc(370,205,90,1.25*Math.PI,.75*Math.PI,t),j.stroke(),j.beginPath(),j.arc(245,360,110,1.3*Math.PI,1.7*Math.PI,t),j.stroke(),j.beginPath(),j.arc(245,50,110,.3*Math.PI,.7*Math.PI,t),j.stroke(),d(s)>=.6&&(j.save(),j.beginPath(),j.moveTo(0,0),j.lineTo(500,0),j.lineTo(500,415),j.lineTo(0,415),j.closePath(),j.clip(),j.strokeStyle="rgba(0,0,0,0)",j.lineCap="butt",j.lineJoin="miter",j.miterLimit=4,j.save(),j.restore(),j.save(),j.restore(),j.save(),j.translate(-11,-633),j.save(),j.strokeStyle="rgba(0,0,0,0)",j.translate(0,636),j.beginPath(),j.moveTo(116.68996,288.55847),j.bezierCurveTo(114.18984,288.06339,109.64415,287.21717,106.58843999999999,286.67797),j.bezierCurveTo(91.905866,284.08711,74.873379,272.58587,62.202665,256.70632),j.bezierCurveTo(50.11906,241.56257,44.228048,226.01748,43.257799,206.71498),j.bezierCurveTo(41.560634,172.95091,57.502272,144.04252,87.68464900000001,126.1518),j.bezierCurveTo(113.85468,110.63942,151.67555000000002,111.15554999999999,176.27348,127.36075),j.bezierCurveTo(180.25579000000002,129.9843,185.18402,133.59167,187.22511,135.37712),j.bezierCurveTo(194.61144,141.83832999999998,205.94366,148.05088999999998,218.69964,152.63209999999998),j.bezierCurveTo(245.95179,162.41950999999997,276.56952,161.09978999999998,302.53531,149.01852999999997),j.bezierCurveTo(312.66749999999996,144.30425999999997,319.21466,140.23029999999997,324.17127999999997,135.55560999999997),j.bezierCurveTo(333.89739,126.38270999999997,351.79472999999996,118.14201999999997,367.20779999999996,115.73977999999997),j.bezierCurveTo(378.37728999999996,113.99892999999997,395.02293999999995,115.10837999999997,406.09866999999997,118.33190999999997),j.bezierCurveTo(427.39104999999995,124.52893999999996,447.81205,140.89770999999996,458.49307999999996,160.32946999999996),j.bezierCurveTo(466.21541999999994,174.37854999999996,468.14135,182.79986999999997,468.18706999999995,202.71742999999995),j.bezierCurveTo(468.21646999999996,215.53506999999996,467.84246999999993,219.76843999999994,466.13687999999996,225.92328999999995),j.bezierCurveTo(460.34646999999995,246.81870999999995,443.97394999999995,267.47014999999993,423.77633999999995,279.35468999999995),j.bezierCurveTo(411.54527999999993,286.55159999999995,399.98404999999997,289.09283999999997,379.83469999999994,289.01338999999996),j.bezierCurveTo(354.90229999999997,288.91508999999996,338.08241999999996,282.66270999999995,322.01485999999994,267.52031999999997),j.bezierCurveTo(312.0940299999999,258.17073,292.45028999999994,249.89035999999996,272.32759999999996,246.57576999999998),j.bezierCurveTo(254.94397999999995,243.71236999999996,234.25916999999995,245.61216,218.58554999999996,251.51169),j.bezierCurveTo(206.28085999999996,256.14317,191.57338999999996,264.45267,188.72360999999995,268.38324),j.bezierCurveTo(186.89117999999996,270.91063,172.96095999999994,280.26608,166.96462999999994,282.99643),j.bezierCurveTo(164.03704999999994,284.32946999999996,158.23248999999996,286.16623,154.06560999999994,287.07811999999996),j.bezierCurveTo(145.28290999999993,289.00015999999994,123.31454999999994,289.87026999999995,116.68995999999993,288.55846999999994),j.lineTo(116.68995999999993,288.55846999999994),j.closePath(),j.fillStyle=h(s,.1),j.fill(),j.stroke(),j.restore(),j.restore(),j.restore())}function u(s){var t=!1;j.strokeStyle=s,j.lineWidth=3,j.beginPath(),j.arc(145,205,40,.35*Math.PI,1.65*Math.PI,t),j.stroke(),j.beginPath(),j.arc(345,205,40,1.35*Math.PI,.65*Math.PI,t),j.stroke(),j.beginPath(),j.arc(245,100,40,.8*Math.PI,2.2*Math.PI,t),j.stroke(),j.beginPath(),j.arc(245,310,40,1.82*Math.PI,1.18*Math.PI,t),j.stroke(),j.beginPath(),j.arc(182,140,35,1.84*Math.PI,.7*Math.PI,t),j.stroke(),j.beginPath(),j.arc(308,140,35,.3*Math.PI,1.18*Math.PI,t),j.stroke(),j.beginPath(),j.arc(182,270,35,1.3*Math.PI,.2*Math.PI,t),j.stroke(),j.beginPath(),j.arc(308,270,35,.8*Math.PI,1.7*Math.PI,t),j.stroke(),d(s)>=.6&&(j.save(),j.beginPath(),j.moveTo(0,0),j.lineTo(500,0),j.lineTo(500,415),j.lineTo(0,415),j.closePath(),j.clip(),j.strokeStyle="rgba(0,0,0,0)",j.lineCap="butt",j.lineJoin="miter",j.miterLimit=4,j.save(),j.restore(),j.save(),j.restore(),j.save(),j.translate(-140,-212),j.save(),j.strokeStyle="rgba(0,0,0,0)",j.translate(139,217),j.beginPath(),j.moveTo(234.95394,341.16933),j.bezierCurveTo(231.80731999999998,340.135,227.61570999999998,338.28931,225.63925999999998,337.0678),j.bezierCurveTo(221.28248999999997,334.37516999999997,214.37806999999998,326.70736999999997,211.83772,321.74032),j.bezierCurveTo(207.9414,314.12196,208.45042999999998,293.37118,212.67719,287.51943),j.bezierCurveTo(215.87649,283.09018,218.95801,274.65101,219.59244,268.58113),j.bezierCurveTo(220.45250000000001,260.35249,218.0029,251.63114999999996,212.48275,243.26837999999998),j.bezierCurveTo(206.02273000000002,233.48175999999998,198.89664000000002,229.43794999999997,185.95006,228.21201),j.bezierCurveTo(178.17816000000002,227.47606,172.06373000000002,228.9391,162.89332000000002,233.72894),j.bezierCurveTo(156.28128,237.18251999999998,155.23208000000002,237.42228,146.73088,237.42244),j.bezierCurveTo(135.51808000000003,237.42266,128.41302000000002,234.90269,121.10778000000002,228.33465999999999),j.bezierCurveTo(114.30638000000002,222.21962,111.33466000000001,216.76216,109.78745000000002,207.54525999999998),j.bezierCurveTo(108.21951000000003,198.20489999999998,109.69855000000003,187.35654,113.42449000000002,180.86914),j.bezierCurveTo(116.70310000000002,175.16054,123.50535000000002,169.17129,130.61112000000003,165.73660999999998),j.bezierCurveTo(135.84135000000003,163.2085,137.81975000000003,162.82216,145.72073000000003,162.78605),j.bezierCurveTo(154.43018000000004,162.74624999999997,155.21524000000002,162.9348,164.40855000000002,167.27446999999998),j.bezierCurveTo(173.55745000000002,171.59319999999997,174.43144,171.80518999999998,183.14876,171.82016),j.bezierCurveTo(191.71748000000002,171.83496,192.78155,171.59418,200.06856000000002,167.99274),j.bezierCurveTo(206.71571000000003,164.70754,208.40559000000002,163.31437,211.70876,158.39629),j.bezierCurveTo(216.86766,150.71523,219.00004,144.97677,219.64970000000002,137.02646),j.bezierCurveTo(220.25703000000001,129.59413999999998,217.81806000000003,120.60798999999999,213.36866000000003,113.88449999999999),j.bezierCurveTo(208.31047000000004,106.24103999999998,207.60430000000002,86.789031,212.06743000000003,78.04059099999999),j.bezierCurveTo(215.36468000000002,71.57742099999999,222.48250000000002,64.79066099999999,229.83172000000002,61.10251999999999),j.bezierCurveTo(236.05208000000002,57.98088699999999,237.41276000000002,57.68862899999999,245.72583000000003,57.68862899999999),j.bezierCurveTo(253.41441000000003,57.68862899999999,255.67446000000004,58.09343499999999,260.37304,60.31215099999999),j.bezierCurveTo(277.08479,68.203604,286.51407,86.23497699999999,282.57463,102.76767),j.bezierCurveTo(281.86319000000003,105.75339,279.29147,112.06009,276.85971,116.78255),j.bezierCurveTo(273.65874,122.99881,272.27383000000003,127.0461,271.84239,131.44528),j.bezierCurveTo(270.33639000000005,146.80139,279.61874,162.9296,293.20300000000003,168.5596),j.bezierCurveTo(306.55802000000006,174.09458999999998,314.0903,173.65240999999997,329.06341000000003,166.45448),j.bezierCurveTo(336.00568000000004,163.11717,337.40021,162.8096,345.73093000000006,162.77846),j.bezierCurveTo(353.96010000000007,162.74776,355.45355000000006,163.05339,361.47832000000005,166.00153),j.bezierCurveTo(369.53210000000007,169.94254,376.64791,177.20452,380.3403400000001,185.25103000000001),j.bezierCurveTo(382.5644300000001,190.09773,382.9971500000001,192.49377,383.0256800000001,200.12014000000002),j.bezierCurveTo(383.0562800000001,208.31117000000003,382.74275000000006,209.86176000000003,379.8593200000001,215.77750000000003),j.bezierCurveTo(376.0651900000001,223.56169000000003,370.1637800000001,229.56756000000004,362.0334900000001,233.91890000000004),j.bezierCurveTo(351.4550500000001,239.58048000000002,339.7398500000001,239.17006000000003,326.6582200000001,232.67959000000005),j.bezierCurveTo(310.6073100000001,224.71590000000003,294.4869300000001,227.24494000000004,281.98739000000006,239.68774000000005),j.bezierCurveTo(270.03863000000007,251.58229000000006,268.4080000000001,270.18789000000004,277.92910000000006,285.99336000000005),j.bezierCurveTo(284.3299400000001,296.61906000000005,285.13914000000005,307.05507000000006,280.51249000000007,319.31069),j.bezierCurveTo(277.5959900000001,327.03626,268.9701400000001,335.93369,260.6715500000001,339.77631),j.bezierCurveTo(253.04107000000008,343.30956000000003,243.1026400000001,343.84789,234.95394000000007,341.16933),j.lineTo(234.95394000000007,341.16933),j.closePath(),j.fillStyle=h(s,.1),j.fill(),j.stroke(),j.restore(),j.restore(),j.restore())}function p(s){var t=!1;j.strokeStyle=s,j.lineWidth=3,j.beginPath(),j.arc(151,205,18,.4*Math.PI,1.6*Math.PI,t),j.stroke(),j.beginPath(),j.arc(167,238,18,1.35*Math.PI,2.42*Math.PI,t),j.stroke(),j.beginPath(),j.arc(180,272,18,.18*Math.PI,1.33*Math.PI,t),j.stroke(),j.beginPath(),j.arc(212,289,18,1.15*Math.PI,2.1*Math.PI,t),j.stroke(),j.beginPath(),j.arc(245,302,18,1.85*Math.PI,1.15*Math.PI,t),j.stroke(),j.beginPath(),j.arc(279,289,18,.87*Math.PI,1.85*Math.PI,t),j.stroke(),j.beginPath(),j.arc(311,272,18,1.65*Math.PI,.85*Math.PI,t),j.stroke(),j.beginPath(),j.arc(325,238,18,.54*Math.PI,1.68*Math.PI,t),j.stroke(),j.beginPath(),j.arc(340,205,18,1.37*Math.PI,.59*Math.PI,t),j.stroke(),j.beginPath(),j.arc(325,172,18,.35*Math.PI,1.4*Math.PI,t),j.stroke(),j.beginPath(),j.arc(311,138,18,1.15*Math.PI,2.35*Math.PI,t),j.stroke(),j.beginPath(),j.arc(279,122,18,.17*Math.PI,1.1*Math.PI,t),j.stroke(),j.beginPath(),j.arc(245,108,18,.8*Math.PI,2.15*Math.PI,t),j.stroke(),j.beginPath(),j.arc(212,122,18,1.9*Math.PI,.85*Math.PI,t),j.stroke(),j.beginPath(),j.arc(180,138,18,.65*Math.PI,1.85*Math.PI,t),j.stroke(),j.beginPath(),j.arc(167,172,18,1.6*Math.PI,.7*Math.PI,t),j.stroke(),d(s)>=.6&&(j.save(),j.beginPath(),j.moveTo(0,0),j.lineTo(500,0),j.lineTo(500,415),j.lineTo(0,415),j.closePath(),j.clip(),j.strokeStyle="rgba(0,0,0,0)",j.lineCap="butt",j.lineJoin="miter",j.miterLimit=4,j.save(),j.restore(),j.save(),j.restore(),j.save(),j.translate(-4,-637),j.save(),j.strokeStyle="rgba(0,0,0,0)",j.translate(0,637),j.beginPath(),j.moveTo(242.80929,316.76895),j.bezierCurveTo(239.2558,315.3947,234.83257,308.84895,234.18254000000002,304.00262000000004),j.bezierCurveTo(233.85998,301.59777,234.27994,298.62012000000004,235.27891000000002,296.22928),j.bezierCurveTo(237.39948,291.15406,237.29592000000002,285.99823000000004,234.97058,280.87787000000003),j.bezierCurveTo(231.58546,273.42388000000005,224.01393000000002,268.42150000000004,216.05280000000002,268.37923),j.bezierCurveTo(210.33377000000002,268.34883,202.51030000000003,272.78013,198.27794000000003,278.44704),j.bezierCurveTo(196.41545000000002,280.94083,193.36619000000002,284.00917000000004,191.50181000000003,285.26557),j.bezierCurveTo(180.81154000000004,292.46974,165.85368000000003,281.37461,168.71196000000003,268.36097),j.bezierCurveTo(169.66342000000003,264.02899,174.42957000000004,258.84685,179.89636000000004,256.20042),j.bezierCurveTo(188.48844000000005,252.04107000000002,193.00795000000005,242.34352,190.58184000000006,233.27254000000002),j.bezierCurveTo(189.87870000000007,230.64358000000001,188.21908000000005,227.07100000000003,186.89381000000006,225.33348),j.bezierCurveTo(182.51221000000007,219.58889000000002,172.48125000000005,216.46373,166.00572000000005,218.82574),j.bezierCurveTo(160.88401000000005,220.69395,153.47334000000006,221.17446999999999,149.58323000000004,219.89061),j.bezierCurveTo(147.65941000000004,219.25570000000002,144.69894000000005,217.15717,143.00442000000004,215.22721),j.bezierCurveTo(140.25313000000003,212.09367,139.92347000000004,211.02317000000002,139.92347000000004,205.22251),j.bezierCurveTo(139.92347000000004,199.42185,140.25313000000003,198.35135,143.00442000000004,195.21781),j.bezierCurveTo(148.08184000000003,189.43495,155.59116000000003,188.31217999999998,166.73325000000003,191.66995999999997),j.bezierCurveTo(171.89873000000003,193.22662999999997,176.76581000000002,192.32402999999996,182.19737000000003,188.80213999999998),j.bezierCurveTo(186.99980000000002,185.68819,191.44125000000003,178.0236,191.44125000000003,172.85002999999998),j.bezierCurveTo(191.44125000000003,165.91124999999997,187.02605000000003,157.91411999999997,181.72540000000004,155.25199999999998),j.bezierCurveTo(168.68097000000003,148.70074999999997,164.62205000000003,137.69753999999998,171.78539000000004,128.30592),j.bezierCurveTo(178.71368000000004,119.22245999999998,190.67567000000003,120.01398999999998,197.23888000000002,129.99017999999998),j.bezierCurveTo(204.51058000000003,141.04331,214.32951000000003,144.72351999999998,224.37555000000003,140.16123),j.bezierCurveTo(235.23365000000004,135.23013999999998,238.86734000000004,125.44275999999999,234.78543000000002,112.12207),j.bezierCurveTo(233.16446000000002,106.83225999999999,234.54797000000002,101.56208,238.76789000000002,96.95178),j.bezierCurveTo(248.33151000000004,86.503446,267.39820000000003,96.55735,264.708,110.63005),j.bezierCurveTo(262.24834000000004,123.49681,263.43732,130.24138,269.17704000000003,135.9811),j.bezierCurveTo(273.84920000000005,140.65326,279.80664,142.46487,287.54524000000004,141.56671),j.bezierCurveTo(290.80029,141.18892,293.25246000000004,140.53831,292.99449000000004,140.12091),j.bezierCurveTo(292.73652000000004,139.70352,293.68403000000006,138.74196,295.10007,137.98412000000002),j.bezierCurveTo(296.51611,137.22628000000003,298.81193,134.66566000000003,300.2019,132.29385000000002),j.bezierCurveTo(303.47878000000003,126.70229000000002,307.77937000000003,123.14413000000002,312.28166000000004,122.29950000000002),j.bezierCurveTo(323.19238000000007,120.25263000000002,332.5219000000001,130.29284,330.36964000000006,141.76535),j.bezierCurveTo(329.6006300000001,145.86456,323.8285400000001,152.29884,317.5065000000001,156.10419000000002),j.bezierCurveTo(312.2969800000001,159.23989,308.17124000000007,167.72107000000003,308.8642700000001,173.86973),j.bezierCurveTo(309.6787300000001,181.09556,313.7704700000001,186.95133,320.2047800000001,190.09934),j.bezierCurveTo(326.1904100000001,193.02784000000003,330.20042000000007,193.13284000000002,338.9627100000001,190.59052000000003),j.bezierCurveTo(344.9917000000001,188.84125000000003,350.1988400000001,189.89377000000002,354.59001000000006,193.74927000000002),j.bezierCurveTo(368.2933100000001,205.78092000000004,353.68808000000007,226.52374000000003,336.55395000000004,219.36465),j.bezierCurveTo(323.93852000000004,214.09358,308.93266000000006,224.16784,308.71798000000007,238.05247),j.bezierCurveTo(308.6646800000001,241.50290999999999,311.2253800000001,248.07176,313.86683000000005,251.26035),j.bezierCurveTo(314.59179000000006,252.13548,316.54865000000007,253.7222,318.21540000000005,254.7864),j.bezierCurveTo(324.03371000000004,258.50135,328.85284000000007,263.67991,329.97401,267.42204),j.bezierCurveTo(332.95992,277.3881,325.11943,287.55831,314.45977000000005,287.54616999999996),j.bezierCurveTo(309.88386,287.54116999999997,305.3854400000001,284.53792999999996,300.84666000000004,278.45842999999996),j.bezierCurveTo(295.84636000000006,271.76072,288.36647000000005,267.87215,281.88796,268.60236999999995),j.bezierCurveTo(274.64614,269.41862999999995,268.80722000000003,273.50679999999994,265.64137,279.97756999999996),j.bezierCurveTo(263.21128,284.94451999999995,262.99769,286.21504999999996,263.64589,291.84819999999996),j.bezierCurveTo(265.39685000000003,307.06499999999994,264.64547,310.09781999999996,257.87161000000003,315.15523999999994),j.bezierCurveTo(254.81776000000002,317.43526999999995,246.76347000000004,318.2981699999999,242.80929000000003,316.76894999999996),j.lineTo(242.80929000000003,316.76894999999996),j.closePath(),j.fillStyle=h(s,.1),j.fill(),j.stroke(),j.restore(),j.restore(),j.restore())
+			}function n(s,t,e,l,r){var o=10;j.beginPath(),j.moveTo(s+o,t),j.lineTo(s+e-o,t),j.quadraticCurveTo(s+e,t,s+e,t+o),j.lineTo(s+e,t+l-o),j.quadraticCurveTo(s+e,t+l,s+e-o,t+l),j.lineTo(s+o,t+l),j.quadraticCurveTo(s,t+l,s,t+l-o),j.lineTo(s,t+o),j.quadraticCurveTo(s,t,s+o,t),j.closePath(),j.lineWidth=3,j.strokeStyle=r,d(r)>=.6&&(j.fillStyle=h(r,.1),j.fill()),j.stroke()}function C(s,t,e,l,r){s.beginPath(),s.moveTo(t,e),s.lineTo(l,r),s.closePath(),s.stroke()}function f(s,t,e,l,r,o,c){s.beginPath(),s.rect(t,e,l,r),s.closePath(),s.lineWidth=.75,s.shadowColor="rgba(0,0,0, 0.4)",s.shadowBlur=7,s.shadowOffsetX=2,s.shadowOffsetY=-2,s.strokeStyle=c,s.stroke(),s.fillStyle=o,s.fill()}function h(s,t){var e=s.slice(s.indexOf("(")+1,s.indexOf(")")),l=e.split(",");return"rgba("+l[0]+","+l[1]+","+l[2]+","+t+")"}function d(s){var t=s.slice(s.indexOf("(")+1,s.indexOf(")")),e=t.split(",");return e[3]}function b(){j.clearRect(0,0,O,N)}function v(t){for(var e="rgba(0,0,0, 0.7)",l=120,o=70,c=415,i=20,a=(370-t*i)/t,u=265,p=A(),n=new Array,d=0,b=0;t>b;b++)d=Math.max(d,p[b]);for(var b=0;t>b;b++)n.push(p[b]/d*(l-50));j.fillStyle="#000",j.font="italic 10pt Arial",j.textAlign="center",j.fillText("Size of each list",250,c+27),j.font="normal 12pt Arial",j.textAlign="right",j.fillText(0,45,c+l+2),j.fillText(d/2,45,c+(l+55)/2),j.fillText(d,45,c+54),j.textAlign="left";for(var b=0;t>b;b++)f(j,o+b*a+b*i,c+l-n[b],a,n[b],h(B.colors[b],.5),B.colors[b]),l-n[b]+15<=l-10?(j.textAlign="right",j.fillStyle="white",j.fillText(p[b],a+65+b*a+b*i,c+l-n[b]+15)):(j.textAlign="right",j.fillText(p[b],a+65+b*a+b*i,c+l-n[b]-10)),u=b%2&&t>2?c+l+25:c+l+15,j.fillStyle="#000",j.textAlign="center",j.fillText(s("#label"+(b+1)).html(),o+b*a+b*i+a/2,u,200),j.strokeStyle=e,j.lineWidth=.4,C(j,o+b*a+b*i+a/2,c+l,o+b*a+b*i+a/2,c+l+5);j.lineWidth=1,j.strokeStyle=e,C(j,50,c+l,50,c+35),C(j,50,c+l,450,c+l),j.lineWidth=.4,C(j,47,c+(l+48)/2,53,c+(l+48)/2),C(j,47,c+50,53,c+50),r(50,c+25,46,c+35,54,c+35,e),r(460,c+l,450,c+l-4,450,c+l+4,e);var v=k(),m=new Array;i=2,o=60,c+=l+50;for(var g=390+i,x=0,b=0;t>b;b++)x+=v[b];for(var b=0;t>b;b++)m.push(v[b]/x*g);j.font="italic 10pt Arial",j.textAlign="center",j.fillText("Number of elements: specific (1) or shared by 2, 3, ... lists",250,c),j.font="normal 10pt Arial";for(var y=0,_=0,b=t-1;b>=0;b--)0!=m[b]&&(f(j,o+y,c+15,m[b]-i,20,h("rgb(156,106,156)",1/(b+1.5)),"rgba(0,0,0,0.5)"),j.textAlign="center",j.fillStyle="white",m[b]-i<25?(j.fillStyle="#000",j.fillText(b+1,(m[b]-i)/2+o+y,c+57+_),j.textAlign="left",j.fillText("("+v[b]+")",(m[b]-i)/2+o+y+6,c+57+_),48!=_?_+=12:_=0):(_>=24&&(_=0),j.fillText(v[b],(m[b]-i)/2+o+y,c+29),j.fillStyle="#000",j.fillText(b+1,(m[b]-i)/2+o+y,c+57+_),_=0),j.strokeStyle=e,j.lineWidth=.4,C(j,(m[b]-i)/2+o+y,c+40,(m[b]-i)/2+o+y,c+45),y+=m[b]);j.lineWidth=1,j.strokeStyle=e,C(j,50,c+40,460,c+40)}function m(s,t,e,l){B.shortNumber&&s.text().length>l&&s.html("<span title="+s.text()+">?</span>");var r=t-(s.text().length-1)/2*4;s.css("left",r).css("top",e)}function g(s){var t=s.length?s.length:0,e=s[0]instanceof Array?s[0].length:0;for(l=0;t>l;l++)s[l]instanceof Array&&s[l].length>e&&(e=s[l].length);if(0===e||0===t)return[];var l,r,o=[];for(l=0;e>l;l++)for(o[l]=[],r=0;t>r;r++)o[l][r]=s[r][l];return o}function x(t){var e="rgba(0,0,0,0.1)";6==t?(r(0,11,254,160,174,235,h(B.colors[0],s("#label1").css("opacity"))),r(188,0,134,242,236,202,h(B.colors[1],s("#label2").css("opacity"))),r(338,52,135,123,191,242,h(B.colors[2],s("#label3").css("opacity"))),r(500,260,163,117,134,219,h(B.colors[3],s("#label4").css("opacity"))),r(250,415,133,150,203,67,h(B.colors[4],s("#label5").css("opacity"))),r(11,307,263,81,214,220,h(B.colors[5],s("#label6").css("opacity"))),s("#label1").css("left",35).css("top",10).css("color",B.colors[0]),s("#label2").css("left",200).css("top",5).css("color",B.colors[1]),s("#label3").css("left",335).css("top",60).css("color",B.colors[2]),s("#label4").css("left",410).css("top",200).css("color",B.colors[3]),s("#label5").css("left",255).css("top",385).css("color",B.colors[4]),s("#label6").css("left",30).css("top",300).css("color",B.colors[5]),m(s("#resultC100000"),98,90,6),m(s("#resultC010000"),187,50,4),m(s("#resultC001000"),280,80,6),m(s("#resultC000100"),320,205,6),m(s("#resultC000010"),212,272,5),m(s("#resultC000001"),100,240,6),m(s("#resultC111111"),185,170,6),o(140,80,166,110,e),m(s("#resultC110000"),132,60,6),m(s("#resultC101000"),142,116,2),o(75,180,145,185,e),o(75,180,65,175,e),m(s("#resultC100100"),55,157,6),m(s("#resultC100010"),140,145,2),o(75,200,142,190,e),o(75,200,65,195,e),m(s("#resultC100001"),55,177,6),o(230,80,212,115,e),m(s("#resultC011000"),230,60,6),m(s("#resultC010100"),225,190,1),m(s("#resultC010010"),193,82,3),m(s("#resultC010001"),145,218,2),o(295,145,235,180,e),m(s("#resultC001100"),302,132,6),o(275,270,193,233,e),m(s("#resultC001010"),275,268,6),m(s("#resultC001001"),232,113,4),m(s("#resultC000110"),216,211,1),o(75,220,140,205,e),o(75,220,65,215,e),m(s("#resultC000101"),55,197,6),o(150,270,183,230,e),m(s("#resultC000011"),145,268,6),m(s("#resultC111110"),170,130,6),s("#resultC111110").hide(),m(s("#resultC111101"),218,155,6),s("#resultC111101").hide(),m(s("#resultC111011"),205,125,6),s("#resultC111011").hide(),m(s("#resultC110111"),160,190,6),s("#resultC110111").hide(),m(s("#resultC101111"),180,212,6),s("#resultC101111").hide(),m(s("#resultC011111"),208,197,6),s("#resultC011111").hide(),m(s("#resultC111100"),225,170,6),s("#resultC111100").hide(),m(s("#resultC111010"),182,113,6),s("#resultC111010").hide(),m(s("#resultC110110"),149,163,6),s("#resultC110110").hide(),m(s("#resultC101110"),152,140,6),s("#resultC101110").hide(),m(s("#resultC011110"),215,195,6),s("#resultC011110").hide(),m(s("#resultC111001"),212,128,6),s("#resultC111001").hide(),m(s("#resultC110101"),150,194,6),s("#resultC110101").hide(),m(s("#resultC110011"),168,216,6),s("#resultC110011").hide(),m(s("#resultC101101"),226,145,6),s("#resultC101101").hide(),m(s("#resultC101011"),178,216,6),s("#resultC101011").hide(),m(s("#resultC100111"),178,214,6),s("#resultC100111").hide(),m(s("#resultC011101"),218,180,6),s("#resultC011101").hide(),m(s("#resultC011011"),206,122,6),s("#resultC011011").hide(),m(s("#resultC010111"),215,198,6),s("#resultC010111").hide(),m(s("#resultC001111"),200,208,6),s("#resultC001111").hide(),m(s("#resultC111000"),156,105,6),s("#resultC111000").hide(),m(s("#resultC110100"),145,174,6),s("#resultC110100").hide(),m(s("#resultC110010"),163,100,6),s("#resultC110010").hide(),m(s("#resultC101100"),238,152,6),s("#resultC101100").hide(),m(s("#resultC101010"),148,128,6),s("#resultC101010").hide(),m(s("#resultC100110"),145,158,6),s("#resultC100110").hide(),m(s("#resultC011100"),226,178,6),s("#resultC011100").hide(),m(s("#resultC011010"),195,105,6),s("#resultC011010").hide(),m(s("#resultC010110"),218,198,6),s("#resultC010110").hide(),m(s("#resultC001110"),202,216,6),s("#resultC001110").hide(),m(s("#resultC110001"),160,213,6),s("#resultC110001").hide(),m(s("#resultC101001"),220,132,6),s("#resultC101001").hide(),m(s("#resultC100101"),139,182,6),s("#resultC100101").hide(),m(s("#resultC100011"),170,220,6),s("#resultC100011").hide(),m(s("#resultC011001"),212,122,6),s("#resultC011001").hide(),m(s("#resultC010101"),146,203,6),s("#resultC010101").hide(),m(s("#resultC010011"),164,220,6),s("#resultC010011").hide(),m(s("#resultC001101"),233,138,6),s("#resultC001101").hide(),m(s("#resultC001011"),185,218,6),s("#resultC001011").hide(),m(s("#resultC000111"),209,207,6),s("#resultC000111").hide()):5==t?(l(214,230,10,18.6,9.5,25,h(B.colors[0],s("#label1").css("opacity"))),l(232,187,10,18.6,9.5,98,h(B.colors[1],s("#label2").css("opacity"))),l(273,196,10,18.6,9.5,170,h(B.colors[2],s("#label3").css("opacity"))),l(282,238,10,18.6,9.5,62,h(B.colors[3],s("#label4").css("opacity"))),l(242,260,10,18.6,9.5,134,h(B.colors[4],s("#label5").css("opacity"))),s("#label1").css("left",0).css("top",100).css("color",B.colors[0]),s("#label2").css("left",310).css("top",15).css("color",B.colors[1]),s("#label3").css("left",450).css("top",120).css("color",B.colors[2]),s("#label4").css("left",387).css("top",400).css("color",B.colors[3]),s("#label5").css("left",40).css("top",400).css("color",B.colors[4]),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),75,150,6),m(s("#resultC010000"),245,30,6),m(s("#resultC001000"),415,162,6),m(s("#resultC000100"),350,370,6),m(s("#resultC000010"),132,370,6),m(s("#resultC110000"),152,118,2),m(s("#resultC101000"),110,200,6),m(s("#resultC100100"),350,295,6),m(s("#resultC100010"),125,273,2),m(s("#resultC011000"),309,94,3),m(s("#resultC010100"),215,82,6),m(s("#resultC010010"),195,340,6),m(s("#resultC001100"),378,232,2),m(s("#resultC001010"),360,140,5),m(s("#resultC000110"),261,347,2),m(s("#resultC111000"),148,180,4),m(s("#resultC110100"),168,113,2),m(s("#resultC110010"),176,295,6),m(s("#resultC101100"),367,248,2),m(s("#resultC101010"),127,256,2),m(s("#resultC100110"),305,300,4),m(s("#resultC011100"),240,110,6),m(s("#resultC011010"),317,108,2),m(s("#resultC010110"),248,338,2),m(s("#resultC001110"),345,180,4),m(s("#resultC111100"),185,140,6),m(s("#resultC111010"),158,245,6),m(s("#resultC110110"),250,310,6),m(s("#resultC101110"),330,240,6),m(s("#resultC011110"),290,133,6),m(s("#resultC111110"),245,210,6),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200)):4==t?(l(181,238,10,18.5,11.5,40,h(B.colors[0],s("#label1").css("opacity"))),l(242,177,10,18.5,11.5,40,h(B.colors[1],s("#label2").css("opacity"))),l(259,177,10,18.5,11.5,140,h(B.colors[2],s("#label3").css("opacity"))),l(320,238,10,18.5,11.5,140,h(B.colors[3],s("#label4").css("opacity"))),s("#label1").css("left",5).css("top",70).css("color",B.colors[0]),s("#label2").css("left",85).css("top",5).css("color",B.colors[1]),s("#label3").css("left",350).css("top",5).css("color",B.colors[2]),s("#label4").css("left",428).css("top",70).css("color",B.colors[3]),s("#label5").css("left",-1e3).css("top",-2200),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),55,190,6),m(s("#resultC010000"),140,60,6),m(s("#resultC001000"),335,60,6),m(s("#resultC000100"),430,190,6),m(s("#resultC110000"),105,120,6),m(s("#resultC101000"),130,260,6),m(s("#resultC100100"),245,340,6),m(s("#resultC011000"),245,90,6),m(s("#resultC010100"),365,260,6),m(s("#resultC001100"),385,120,6),m(s("#resultC111000"),160,170,6),m(s("#resultC110100"),310,290,6),m(s("#resultC101100"),180,290,6),m(s("#resultC011100"),330,170,6),m(s("#resultC111100"),245,220,6),s("#resultC000010").css("left",-1e3).css("top",-2200),s("#resultC100010").css("left",-1e3).css("top",-2200),s("#resultC010010").css("left",-1e3).css("top",-2200),s("#resultC001010").css("left",-1e3).css("top",-2200),s("#resultC000110").css("left",-1e3).css("top",-2200),s("#resultC110010").css("left",-1e3).css("top",-2200),s("#resultC101010").css("left",-1e3).css("top",-2200),s("#resultC100110").css("left",-1e3).css("top",-2200),s("#resultC011010").css("left",-1e3).css("top",-2200),s("#resultC010110").css("left",-1e3).css("top",-2200),s("#resultC001110").css("left",-1e3).css("top",-2200),s("#resultC111010").css("left",-1e3).css("top",-2200),s("#resultC110110").css("left",-1e3).css("top",-2200),s("#resultC101110").css("left",-1e3).css("top",-2200),s("#resultC011110").css("left",-1e3).css("top",-2200),s("#resultC111110").css("left",-1e3).css("top",-2200),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200)):3==t?(l(171,142,120,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),l(327,142,120,1,1,0,h(B.colors[1],s("#label2").css("opacity"))),l(249,271,120,1,1,0,h(B.colors[2],s("#label3").css("opacity"))),s("#label1").css("left",55).css("top",5).css("color",B.colors[0]),s("#label2").css("left",380).css("top",5).css("color",B.colors[1]),s("#label3").css("left",220).css("top",400).css("color",B.colors[2]),s("#label4").css("left",-1e3).css("top",-2200),s("#label5").css("left",-1e3).css("top",-2200),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),120,100,8),m(s("#resultC010000"),360,100,8),m(s("#resultC001000"),245,330,8),m(s("#resultC110000"),245,100,8),m(s("#resultC101000"),170,220,8),m(s("#resultC011000"),320,220,8),m(s("#resultC111000"),245,175,8),s("#resultC000100").css("left",-1e3).css("top",-2200),s("#resultC000010").css("left",-1e3).css("top",-2200),s("#resultC100100").css("left",-1e3).css("top",-2200),s("#resultC100010").css("left",-1e3).css("top",-2200),s("#resultC010100").css("left",-1e3).css("top",-2200),s("#resultC010010").css("left",-1e3).css("top",-2200),s("#resultC001100").css("left",-1e3).css("top",-2200),s("#resultC001010").css("left",-1e3).css("top",-2200),s("#resultC000110").css("left",-1e3).css("top",-2200),s("#resultC110100").css("left",-1e3).css("top",-2200),s("#resultC110010").css("left",-1e3).css("top",-2200),s("#resultC101100").css("left",-1e3).css("top",-2200),s("#resultC101010").css("left",-1e3).css("top",-2200),s("#resultC100110").css("left",-1e3).css("top",-2200),s("#resultC011100").css("left",-1e3).css("top",-2200),s("#resultC011010").css("left",-1e3).css("top",-2200),s("#resultC010110").css("left",-1e3).css("top",-2200),s("#resultC001110").css("left",-1e3).css("top",-2200),s("#resultC111100").css("left",-1e3).css("top",-2200),s("#resultC111010").css("left",-1e3).css("top",-2200),s("#resultC110110").css("left",-1e3).css("top",-2200),s("#resultC101110").css("left",-1e3).css("top",-2200),s("#resultC011110").css("left",-1e3).css("top",-2200),s("#resultC111110").css("left",-1e3).css("top",-2200),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200)):2==t?(l(171,206,140,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),l(327,206,140,1,1,0,h(B.colors[1],s("#label2").css("opacity"))),s("#label1").css("left",95).css("top",40).css("color",B.colors[0]),s("#label2").css("left",360).css("top",40).css("color",B.colors[1]),s("#label3").css("left",-1e3).css("top",-2200),s("#label4").css("left",-1e3).css("top",-2200),s("#label5").css("left",-1e3).css("top",-2200),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),120,195,10),m(s("#resultC010000"),360,195,10),m(s("#resultC110000"),250,195,10),s("#resultC001000").css("left",-1e3).css("top",-2200),s("#resultC000100").css("left",-1e3).css("top",-2200),s("#resultC000010").css("left",-1e3).css("top",-2200),s("#resultC101000").css("left",-1e3).css("top",-2200),s("#resultC100100").css("left",-1e3).css("top",-2200),s("#resultC100010").css("left",-1e3).css("top",-2200),s("#resultC011000").css("left",-1e3).css("top",-2200),s("#resultC010100").css("left",-1e3).css("top",-2200),s("#resultC010010").css("left",-1e3).css("top",-2200),s("#resultC001100").css("left",-1e3).css("top",-2200),s("#resultC001010").css("left",-1e3).css("top",-2200),s("#resultC000110").css("left",-1e3).css("top",-2200),s("#resultC111000").css("left",-1e3).css("top",-2200),s("#resultC110100").css("left",-1e3).css("top",-2200),s("#resultC110010").css("left",-1e3).css("top",-2200),s("#resultC101100").css("left",-1e3).css("top",-2200),s("#resultC101010").css("left",-1e3).css("top",-2200),s("#resultC100110").css("left",-1e3).css("top",-2200),s("#resultC011100").css("left",-1e3).css("top",-2200),s("#resultC011010").css("left",-1e3).css("top",-2200),s("#resultC010110").css("left",-1e3).css("top",-2200),s("#resultC001110").css("left",-1e3).css("top",-2200),s("#resultC111100").css("left",-1e3).css("top",-2200),s("#resultC111010").css("left",-1e3).css("top",-2200),s("#resultC110110").css("left",-1e3).css("top",-2200),s("#resultC101110").css("left",-1e3).css("top",-2200),s("#resultC011110").css("left",-1e3).css("top",-2200),s("#resultC111110").css("left",-1e3).css("top",-2200),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200)):(l(246,210,140,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),s("#label1").css("left",225).css("top",30).css("color",B.colors[0]),s("#label2").css("left",-1e3).css("top",-2200),s("#label3").css("left",-1e3).css("top",-2200),s("#label4").css("left",-1e3).css("top",-2200),s("#label5").css("left",-1e3).css("top",-2200),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),245,200,10),s("#resultC010000").css("left",-1e3).css("top",-2200),s("#resultC001000").css("left",-1e3).css("top",-2200),s("#resultC000100").css("left",-1e3).css("top",-2200),s("#resultC000010").css("left",-1e3).css("top",-2200),s("#resultC110000").css("left",-1e3).css("top",-2200),s("#resultC101000").css("left",-1e3).css("top",-2200),s("#resultC100100").css("left",-1e3).css("top",-2200),s("#resultC100010").css("left",-1e3).css("top",-2200),s("#resultC011000").css("left",-1e3).css("top",-2200),s("#resultC010100").css("left",-1e3).css("top",-2200),s("#resultC010010").css("left",-1e3).css("top",-2200),s("#resultC001100").css("left",-1e3).css("top",-2200),s("#resultC001010").css("left",-1e3).css("top",-2200),s("#resultC000110").css("left",-1e3).css("top",-2200),s("#resultC111000").css("left",-1e3).css("top",-2200),s("#resultC110100").css("left",-1e3).css("top",-2200),s("#resultC110010").css("left",-1e3).css("top",-2200),s("#resultC101100").css("left",-1e3).css("top",-2200),s("#resultC101010").css("left",-1e3).css("top",-2200),s("#resultC100110").css("left",-1e3).css("top",-2200),s("#resultC011100").css("left",-1e3).css("top",-2200),s("#resultC011010").css("left",-1e3).css("top",-2200),s("#resultC010110").css("left",-1e3).css("top",-2200),s("#resultC001110").css("left",-1e3).css("top",-2200),s("#resultC111100").css("left",-1e3).css("top",-2200),s("#resultC111010").css("left",-1e3).css("top",-2200),s("#resultC110110").css("left",-1e3).css("top",-2200),s("#resultC101110").css("left",-1e3).css("top",-2200),s("#resultC011110").css("left",-1e3).css("top",-2200),s("#resultC111110").css("left",-1e3).css("top",-2200),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200))}function y(t){6==t?(c(246,206,90,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),n(245,25,250,365,h(B.colors[1],s("#label2").css("opacity"))),n(5,205,490,185,h(B.colors[2],s("#label3").css("opacity"))),a(h(B.colors[3],s("#label4").css("opacity"))),u(h(B.colors[4],s("#label5").css("opacity"))),p(h(B.colors[5],s("#label6").css("opacity"))),s("#label1").css("left",297).css("top",90).css("color",B.colors[0]),s("#label2").css("left",267).css("top",0).css("color",B.colors[1]),s("#label3").css("left",27).css("top",400).css("color",B.colors[2]),s("#label4").css("left",55).css("top",90).css("color",B.colors[3]),s("#label5").css("left",282).css("top",45).css("color",B.colors[4]),s("#label6").css("left",297).css("top",302).css("color",B.colors[5]),m(s("#resultC100000"),204,122,1),m(s("#resultC010000"),390,70,6),m(s("#resultC001000"),85,330,6),m(s("#resultC000100"),85,150,6),m(s("#resultC000010"),225,70,3),m(s("#resultC110000"),280,122,1),m(s("#resultC101000"),204,269,1),m(s("#resultC100100"),172,155,1),m(s("#resultC100010"),218,118,1),m(s("#resultC011000"),390,330,6),m(s("#resultC010100"),390,150,6),m(s("#resultC010010"),258,70,3),m(s("#resultC001100"),85,240,6),m(s("#resultC001010"),225,320,3),m(s("#resultC000110"),120,178,2),m(s("#resultC111000"),280,269,1),m(s("#resultC110100"),314,155,1),m(s("#resultC110010"),266,118,1),m(s("#resultC101100"),172,235,1),m(s("#resultC101010"),219,274,1),m(s("#resultC100110"),167,171,1),m(s("#resultC011100"),390,240,6),m(s("#resultC011010"),258,320,3),m(s("#resultC010110"),365,178,2),m(s("#resultC001110"),120,212,2),m(s("#resultC111100"),315,235,1),m(s("#resultC111010"),266,274,1),m(s("#resultC110110"),320,171,1),m(s("#resultC101110"),166,218,1),m(s("#resultC011110"),365,212,2),m(s("#resultC111110"),320,218,1),m(s("#resultC000001"),180,120,1),m(s("#resultC100001"),199,134,1),m(s("#resultC010001"),304,120,1),m(s("#resultC001001"),179,271,1),m(s("#resultC000101"),169,132,1),m(s("#resultC000011"),234,95,1),m(s("#resultC110001"),286,134,1),m(s("#resultC101001"),199,256,1),m(s("#resultC100101"),190,149,1),m(s("#resultC100011"),228,135,3),m(s("#resultC011001"),306,272,1),m(s("#resultC010101"),317,132,1),m(s("#resultC010011"),250,95,1),m(s("#resultC001101"),167,260,1),m(s("#resultC001011"),233,296,1),m(s("#resultC000111"),143,187,1),m(s("#resultC111001"),285,256,1),m(s("#resultC110101"),295,149,1),m(s("#resultC110011"),255,135,3),m(s("#resultC101101"),190,242,1),m(s("#resultC101011"),227,255,3),m(s("#resultC100111"),213,178,6),m(s("#resultC011101"),318,259,1),m(s("#resultC011011"),250,296,1),m(s("#resultC010111"),342,187,1),m(s("#resultC001111"),143,203,1),m(s("#resultC111101"),295,240,1),m(s("#resultC111011"),256,255,3),m(s("#resultC110111"),270,178,6),m(s("#resultC101111"),213,212,6),m(s("#resultC011111"),342,203,1),m(s("#resultC111111"),270,212,6)):5==t?(c(246,206,90,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),n(245,25,250,365,h(B.colors[1],s("#label2").css("opacity"))),n(5,205,490,185,h(B.colors[2],s("#label3").css("opacity"))),a(h(B.colors[3],s("#label4").css("opacity"))),u(h(B.colors[4],s("#label5").css("opacity"))),s("#label1").css("left",297).css("top",90).css("color",B.colors[0]),s("#label2").css("left",267).css("top",0).css("color",B.colors[1]),s("#label3").css("left",27).css("top",400).css("color",B.colors[2]),s("#label4").css("left",55).css("top",90).css("color",B.colors[3]),s("#label5").css("left",282).css("top",45).css("color",B.colors[4]),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),200,130,3),m(s("#resultC010000"),390,70,6),m(s("#resultC001000"),85,330,6),m(s("#resultC000100"),85,150,6),m(s("#resultC000010"),225,80,4),m(s("#resultC110000"),284,130,3),m(s("#resultC101000"),200,260,3),m(s("#resultC100100"),185,150,4),m(s("#resultC100010"),228,130,3),m(s("#resultC011000"),390,330,6),m(s("#resultC010100"),390,150,6),m(s("#resultC010010"),258,80,4),m(s("#resultC001100"),85,240,6),m(s("#resultC001010"),225,310,4),m(s("#resultC000110"),133,178,6),m(s("#resultC111000"),284,260,3),m(s("#resultC110100"),300,150,4),m(s("#resultC110010"),255,130,3),m(s("#resultC101100"),185,240,4),m(s("#resultC101010"),228,260,3),m(s("#resultC100110"),213,178,6),m(s("#resultC011100"),390,240,6),m(s("#resultC011010"),258,310,4),m(s("#resultC010110"),355,178,6),m(s("#resultC001110"),133,212,6),m(s("#resultC111100"),300,240,4),m(s("#resultC111010"),256,260,3),m(s("#resultC110110"),270,178,6),m(s("#resultC101110"),213,212,6),m(s("#resultC011110"),355,212,6),m(s("#resultC111110"),270,212,6),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200)):4==t?(c(246,206,90,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),n(245,25,250,365,h(B.colors[1],s("#label2").css("opacity"))),n(5,205,490,185,h(B.colors[2],s("#label3").css("opacity"))),a(h(B.colors[3],s("#label4").css("opacity"))),s("#label1").css("left",267).css("top",90).css("color",B.colors[0]),s("#label2").css("left",267).css("top",0).css("color",B.colors[1]),s("#label3").css("left",27).css("top",400).css("color",B.colors[2]),s("#label4").css("left",27).css("top",90).css("color",B.colors[3]),s("#label5").css("left",-1e3).css("top",-2200),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),215,130,6),m(s("#resultC010000"),390,70,6),m(s("#resultC001000"),85,330,6),m(s("#resultC000100"),85,150,6),m(s("#resultC110000"),265,130,6),m(s("#resultC101000"),215,260,6),m(s("#resultC100100"),200,170,6),m(s("#resultC011000"),390,330,6),m(s("#resultC010100"),390,150,6),m(s("#resultC001100"),85,240,6),m(s("#resultC111000"),265,260,6),m(s("#resultC110100"),280,170,6),m(s("#resultC101100"),200,220,6),m(s("#resultC011100"),390,240,6),m(s("#resultC111100"),280,220,6),s("#resultC000010").css("left",-1e3).css("top",-2200),s("#resultC100010").css("left",-1e3).css("top",-2200),s("#resultC010010").css("left",-1e3).css("top",-2200),s("#resultC001010").css("left",-1e3).css("top",-2200),s("#resultC000110").css("left",-1e3).css("top",-2200),s("#resultC110010").css("left",-1e3).css("top",-2200),s("#resultC101010").css("left",-1e3).css("top",-2200),s("#resultC100110").css("left",-1e3).css("top",-2200),s("#resultC011010").css("left",-1e3).css("top",-2200),s("#resultC010110").css("left",-1e3).css("top",-2200),s("#resultC001110").css("left",-1e3).css("top",-2200),s("#resultC111010").css("left",-1e3).css("top",-2200),s("#resultC110110").css("left",-1e3).css("top",-2200),s("#resultC101110").css("left",-1e3).css("top",-2200),s("#resultC011110").css("left",-1e3).css("top",-2200),s("#resultC111110").css("left",-1e3).css("top",-2200),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200)):3==t?(c(246,206,110,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),n(245,25,250,365,h(B.colors[1],s("#label2").css("opacity"))),n(5,205,490,185,h(B.colors[2],s("#label3").css("opacity"))),s("#label1").css("left",95).css("top",75).css("color",B.colors[0]),s("#label2").css("left",267).css("top",0).css("color",B.colors[1]),s("#label3").css("left",27).css("top",400).css("color",B.colors[2]),s("#label4").css("left",-1e3).css("top",-2200),s("#label5").css("left",-1e3).css("top",-2200),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),190,150,8),m(s("#resultC010000"),390,70,8),m(s("#resultC001000"),85,330,8),m(s("#resultC110000"),290,150,8),m(s("#resultC101000"),190,240,8),m(s("#resultC011000"),390,330,8),m(s("#resultC111000"),290,240,8),s("#resultC000100").css("left",-1e3).css("top",-2200),s("#resultC000010").css("left",-1e3).css("top",-2200),s("#resultC100100").css("left",-1e3).css("top",-2200),s("#resultC100010").css("left",-1e3).css("top",-2200),s("#resultC010100").css("left",-1e3).css("top",-2200),s("#resultC010010").css("left",-1e3).css("top",-2200),s("#resultC001100").css("left",-1e3).css("top",-2200),s("#resultC001010").css("left",-1e3).css("top",-2200),s("#resultC000110").css("left",-1e3).css("top",-2200),s("#resultC110100").css("left",-1e3).css("top",-2200),s("#resultC110010").css("left",-1e3).css("top",-2200),s("#resultC101100").css("left",-1e3).css("top",-2200),s("#resultC101010").css("left",-1e3).css("top",-2200),s("#resultC100110").css("left",-1e3).css("top",-2200),s("#resultC011100").css("left",-1e3).css("top",-2200),s("#resultC011010").css("left",-1e3).css("top",-2200),s("#resultC010110").css("left",-1e3).css("top",-2200),s("#resultC001110").css("left",-1e3).css("top",-2200),s("#resultC111100").css("left",-1e3).css("top",-2200),s("#resultC111010").css("left",-1e3).css("top",-2200),s("#resultC110110").css("left",-1e3).css("top",-2200),s("#resultC101110").css("left",-1e3).css("top",-2200),s("#resultC011110").css("left",-1e3).css("top",-2200),s("#resultC111110").css("left",-1e3).css("top",-2200),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200)):2==t?(c(246,206,110,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),n(245,25,250,365,h(B.colors[1],s("#label2").css("opacity"))),s("#label1").css("left",95).css("top",75).css("color",B.colors[0]),s("#label2").css("left",267).css("top",0).css("color",B.colors[1]),s("#label3").css("left",-1e3).css("top",-2200),s("#label4").css("left",-1e3).css("top",-2200),s("#label5").css("left",-1e3).css("top",-2200),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),180,195,10),m(s("#resultC010000"),420,195,10),m(s("#resultC110000"),290,195,10),s("#resultC001000").css("left",-1e3).css("top",-2200),s("#resultC000100").css("left",-1e3).css("top",-2200),s("#resultC000010").css("left",-1e3).css("top",-2200),s("#resultC101000").css("left",-1e3).css("top",-2200),s("#resultC100100").css("left",-1e3).css("top",-2200),s("#resultC100010").css("left",-1e3).css("top",-2200),s("#resultC011000").css("left",-1e3).css("top",-2200),s("#resultC010100").css("left",-1e3).css("top",-2200),s("#resultC010010").css("left",-1e3).css("top",-2200),s("#resultC001100").css("left",-1e3).css("top",-2200),s("#resultC001010").css("left",-1e3).css("top",-2200),s("#resultC000110").css("left",-1e3).css("top",-2200),s("#resultC111000").css("left",-1e3).css("top",-2200),s("#resultC110100").css("left",-1e3).css("top",-2200),s("#resultC110010").css("left",-1e3).css("top",-2200),s("#resultC101100").css("left",-1e3).css("top",-2200),s("#resultC101010").css("left",-1e3).css("top",-2200),s("#resultC100110").css("left",-1e3).css("top",-2200),s("#resultC011100").css("left",-1e3).css("top",-2200),s("#resultC011010").css("left",-1e3).css("top",-2200),s("#resultC010110").css("left",-1e3).css("top",-2200),s("#resultC001110").css("left",-1e3).css("top",-2200),s("#resultC111100").css("left",-1e3).css("top",-2200),s("#resultC111010").css("left",-1e3).css("top",-2200),s("#resultC110110").css("left",-1e3).css("top",-2200),s("#resultC101110").css("left",-1e3).css("top",-2200),s("#resultC011110").css("left",-1e3).css("top",-2200),s("#resultC111110").css("left",-1e3).css("top",-2200),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200)):(c(246,210,140,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),s("#label1").css("left",225).css("top",30).css("color",B.colors[0]),s("#label2").css("left",-1e3).css("top",-2200),s("#label3").css("left",-1e3).css("top",-2200),s("#label4").css("left",-1e3).css("top",-2200),s("#label5").css("left",-1e3).css("top",-2200),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),245,200,10),s("#resultC010000").css("left",-1e3).css("top",-2200),s("#resultC001000").css("left",-1e3).css("top",-2200),s("#resultC000100").css("left",-1e3).css("top",-2200),s("#resultC000010").css("left",-1e3).css("top",-2200),s("#resultC110000").css("left",-1e3).css("top",-2200),s("#resultC101000").css("left",-1e3).css("top",-2200),s("#resultC100100").css("left",-1e3).css("top",-2200),s("#resultC100010").css("left",-1e3).css("top",-2200),s("#resultC011000").css("left",-1e3).css("top",-2200),s("#resultC010100").css("left",-1e3).css("top",-2200),s("#resultC010010").css("left",-1e3).css("top",-2200),s("#resultC001100").css("left",-1e3).css("top",-2200),s("#resultC001010").css("left",-1e3).css("top",-2200),s("#resultC000110").css("left",-1e3).css("top",-2200),s("#resultC111000").css("left",-1e3).css("top",-2200),s("#resultC110100").css("left",-1e3).css("top",-2200),s("#resultC110010").css("left",-1e3).css("top",-2200),s("#resultC101100").css("left",-1e3).css("top",-2200),s("#resultC101010").css("left",-1e3).css("top",-2200),s("#resultC100110").css("left",-1e3).css("top",-2200),s("#resultC011100").css("left",-1e3).css("top",-2200),s("#resultC011010").css("left",-1e3).css("top",-2200),s("#resultC010110").css("left",-1e3).css("top",-2200),s("#resultC001110").css("left",-1e3).css("top",-2200),s("#resultC111100").css("left",-1e3).css("top",-2200),s("#resultC111010").css("left",-1e3).css("top",-2200),s("#resultC110110").css("left",-1e3).css("top",-2200),s("#resultC101110").css("left",-1e3).css("top",-2200),s("#resultC011110").css("left",-1e3).css("top",-2200),s("#resultC111110").css("left",-1e3).css("top",-2200),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200))
+			}function _(t,e){$t=t;var l=1,r="",o='<div class="module-legend">';s("*[id^=label]").each(function(){o+='<div id="item-'+l+'" name="'+s(this).text()+'" class="leg-items" style="opacity:0.5; background-color:'+s(this).css("color")+r+'">',o+='<span style="background-color:white; margin-left:0px; padding:0px 2px 0px 2px; transition: margin-left .3s ease-in-out;">off</span></div>',l+=1,l>e&&(r=";display:none")}),o+="</div>",$t.append(o),s("*[id^=item]").hover(function(){s(this).css("opacity",.75),s(this).css("box-shadow","0px 0px 8px 1px lightgrey")},function(){"off"===s(this).children("span").text()&&s(this).css("opacity",.5),s(this).css("box-shadow","none")}),s("*[id^=item]").click(function(){var t=null;t="off"===s(this).children("span").text()?M(s(this).attr("name")):I(s(this).attr("name")),null!=B.searchInput&&(B.searchInput.val(""),null!=B.searchStatus&&B.searchStatus.text("")),b(),"edwards"==B.displayMode?y(e):x(e),B.displayStat&&v(e),"resultC000000"!=t&&s("#"+t).show()})}function w(){var e=new Array,l=new Array;for(l[0]=new Array,l[1]=new Array,l[2]=new Array,l[3]=new Array,l[4]=new Array,l[5]=new Array,c=0;c<B.series.length;c++){l[c]=new Array;var r=B.series[c].data;for(t=0;t<r.length;t++)r[t].length>0&&(l[c][r[t]]?l[c][r[t]]++:l[c][r[t]]=1,e[r[t]]="C")}for(t=0;6>t;t++){for(tt in l[t])e[tt]&&(e[tt]=e[tt]+"1");for(cl in e)e[cl].length<t+2&&(e[cl]=e[cl]+"0")}for(cl in e){var o=parseInt(s("#result"+e[cl]).html());if(B.useValues)for(var c=0;c<B.series.length;c++){var i=B.series[c].data.indexOf(cl);-1!=i&&(o+=parseInt(B.series[c].values[i]))}else o+=1;s("#result"+e[cl]).html(o),s("#result"+e[cl]).removeClass("number-empty")}6==B.series.length?(s("#label1").html(B.series[0].name),s("#label2").html(B.series[1].name),s("#label3").html(B.series[2].name),s("#label4").html(B.series[3].name),s("#label5").html(B.series[4].name),s("#label6").html(B.series[5].name)):5==B.series.length?(s("#label1").html(B.series[0].name),s("#label2").html(B.series[1].name),s("#label3").html(B.series[2].name),s("#label4").html(B.series[3].name),s("#label5").html(B.series[4].name)):4==B.series.length?(s("#label1").html(B.series[0].name),s("#label2").html(B.series[1].name),s("#label3").html(B.series[2].name),s("#label4").html(B.series[3].name)):3==B.series.length?(s("#label1").html(B.series[0].name),s("#label2").html(B.series[1].name),s("#label3").html(B.series[2].name)):2==B.series.length?(s("#label1").html(B.series[0].name),s("#label2").html(B.series[1].name)):1==B.series.length&&s("#label1").html(B.series[0].name),B.disableClick||(s("*[id^=resultC]").mouseover(function(){s(this).addClass("number-over")}),s("*[id^=resultC]").mouseout(function(){s(this).removeClass("number-over")}),s("*[id^=resultC]").click(B.fnClickCallback)),s("*[id^=resultC]").each(function(){this.listnames=new Array;for(var t=6;t<s(this).attr("id").length;t++)if("1"==s(this).attr("id").substring(t+1,t+2))try{this.listnames.push(B.series[t-6].name)}catch(l){}this.empty=!0,this.list=new Array;var r=s(this).attr("id").substring(6,13);for(cl in e)e[cl]==r&&(this.list.push(cl),this.empty=!1)})}function k(){var t=new Array(0,0,0,0,0,0);return s("*[id^=resultC]").each(function(){for(var e=0,l=6;l<s(this).attr("id").length;l++)e+="1"==s(this).attr("id").substring(l+1,l+2);var r=s(this).text();"?"==r&&(r=s(this).children("span").attr("title")),t[e-1]+=parseInt(r)}),t}function A(){var t=new Array(0,0,0,0,0,0);return s("*[id^=resultC]").each(function(){for(var e=6;e<s(this).attr("id").length;e++)if("1"==s(this).attr("id").substring(e+1,e+2)){var l=s(this).text();"?"==l&&(l=s(this).children("span").attr("title")),t[e-6]+=parseInt(l)}}),t}function T(t){t.A&&s("#resultC100000").html(t.A),t.B&&s("#resultC010000").html(t.B),t.C&&s("#resultC001000").html(t.C),t.D&&s("#resultC000100").html(t.D),t.E&&s("#resultC000010").html(t.E),t.F&&s("#resultC000001").html(t.F),t.AB&&s("#resultC110000").html(t.AB),t.AC&&s("#resultC101000").html(t.AC),t.AD&&s("#resultC100100").html(t.AD),t.AE&&s("#resultC100010").html(t.AE),t.AF&&s("#resultC100001").html(t.AF),t.BC&&s("#resultC011000").html(t.BC),t.BD&&s("#resultC010100").html(t.BD),t.BE&&s("#resultC010010").html(t.BE),t.BF&&s("#resultC010001").html(t.BF),t.CD&&s("#resultC001100").html(t.CD),t.CE&&s("#resultC001010").html(t.CE),t.CF&&s("#resultC001001").html(t.CF),t.DE&&s("#resultC000110").html(t.DE),t.DF&&s("#resultC000101").html(t.DF),t.EF&&s("#resultC000011").html(t.EF),t.ABC&&s("#resultC111000").html(t.ABC),t.ABD&&s("#resultC110100").html(t.ABD),t.ABE&&s("#resultC110010").html(t.ABE),t.ABF&&s("#resultC110001").html(t.ABF),t.ACD&&s("#resultC101100").html(t.ACD),t.ACE&&s("#resultC101010").html(t.ACE),t.ACF&&s("#resultC101001").html(t.ACF),t.ADE&&s("#resultC100110").html(t.ADE),t.ADF&&s("#resultC100101").html(t.ADF),t.AEF&&s("#resultC100011").html(t.AEF),t.BCD&&s("#resultC011100").html(t.BCD),t.BCE&&s("#resultC011010").html(t.BCE),t.BCF&&s("#resultC011001").html(t.BCF),t.BDE&&s("#resultC010110").html(t.BDE),t.BDF&&s("#resultC010101").html(t.BDF),t.BEF&&s("#resultC010011").html(t.BEF),t.CDE&&s("#resultC001110").html(t.CDE),t.CDF&&s("#resultC001101").html(t.CDF),t.CEF&&s("#resultC001011").html(t.CEF),t.DEF&&s("#resultC000111").html(t.DEF),t.ABCD&&s("#resultC111100").html(t.ABCD),t.ABCE&&s("#resultC111010").html(t.ABCE),t.ABCF&&s("#resultC111001").html(t.ABCF),t.ABDE&&s("#resultC110110").html(t.ABDE),t.ABDF&&s("#resultC110101").html(t.ABDF),t.ACDE&&s("#resultC101110").html(t.ACDE),t.ACDF&&s("#resultC101101").html(t.ACDF),t.BCDE&&s("#resultC011110").html(t.BCDE),t.BCDF&&s("#resultC011101").html(t.BCDF),t.CDEF&&s("#resultC001111").html(t.CDEF),t.BDEF&&s("#resultC010111").html(t.BDEF),t.BCEF&&s("#resultC011011").html(t.BCEF),t.ADEF&&s("#resultC100111").html(t.ADEF),t.ACEF&&s("#resultC101011").html(t.ACEF),t.ABEF&&s("#resultC110011").html(t.ABEF),t.ABCDE&&s("#resultC111110").html(t.ABCDE),t.ABCDF&&s("#resultC111101").html(t.ABCDF),t.ABCEF&&s("#resultC111011").html(t.ABCEF),t.ABDEF&&s("#resultC110111").html(t.ABDEF),t.ACDEF&&s("#resultC101111").html(t.ACDEF),t.BCDEF&&s("#resultC011111").html(t.BCDEF),t.ABCDEF&&s("#resultC111111").html(t.ABCDEF)}function E(){if(B.series[0].name.A&&s("#label1").html(B.series[0].name.A),B.series[0].name.B&&s("#label2").html(B.series[0].name.B),B.series[0].name.C&&s("#label3").html(B.series[0].name.C),B.series[0].name.D&&s("#label4").html(B.series[0].name.D),B.series[0].name.E&&s("#label5").html(B.series[0].name.E),B.series[0].name.F&&s("#label6").html(B.series[0].name.F),B.series[0].hasOwnProperty("values")&&B.series[0].hasOwnProperty("data"))T(B.series[0].values);else if(B.series[0].hasOwnProperty("data")){var t={};for(var e in B.series[0].data)t[e]=B.series[0].data[e].length;T(t)}else B.series[0].hasOwnProperty("values")&&T(B.series[0].values);s("*[id^=resultC]").each(function(){this.listnames=new Array;for(var t=6;t<s(this).attr("id").length;t++)if("1"==s(this).attr("id").substring(t+1,t+2))try{t-6==0?this.listnames.push(B.series[0].name.A):t-6==1?this.listnames.push(B.series[0].name.B):t-6==2?this.listnames.push(B.series[0].name.C):t-6==3?this.listnames.push(B.series[0].name.D):t-6==4?this.listnames.push(B.series[0].name.E):t-6==5&&this.listnames.push(B.series[0].name.F)}catch(e){}if(B.series[0].hasOwnProperty("data")){for(var l="",t=6;t<s(this).attr("id").length;t++)"1"==s(this).attr("id").substring(t+1,t+2)&&(6==t?l+="A":7==t?l+="B":8==t?l+="C":9==t?l+="D":10==t?l+="E":11==t&&(l+="F"));this.list=B.series[0].data[l],B.disableClick||(s(this).mouseover(function(){s(this).addClass("number-over")}),s(this).mouseout(function(){s(this).removeClass("number-over")}),s(this).click(B.fnClickCallback))}s(this).text()>0&&s(this).removeClass("number-empty")})}function z(){if(B.series.length>1)return new Array("list",B.series.length);if(void 0!=B.series[0]&&B.series[0].name.A){var s=0;for(i in B.series[0].name)s++;return new Array("count",s)}return new Array("list",B.series.length)}function P(s,t,e,l,r,o,c,i,a){return a?(t=parseInt(t.replace("px",""))+20,e=parseInt(e.replace("px",""))+14):(t=parseInt(t.replace("px",""))+5,e=parseInt(e.replace("px",""))+14),'<text fill="'+l+'" fill-opacity="'+r+'" stroke="none" font-family="'+o+'" font-size="'+c+'"pt font-style="normal" font-weight="'+i+'" text-decoration="none" x="'+t+'"pt y="'+e+'"pt text-anchor="middle" dominant-baseline="alphabetic">'+s+"</text>"}function S(t,e,l){$t=t;var r='<div id="module-export" style="position: relative; left:475px; top: -'+(418+e)+'px; width: 25px; height: 20px;">';r+='<a id="data-export" href="" download="" style="display:none;"></a>',r+='<canvas id="canvasExport" style="border:1px solid white" width="25" height="20"></canvas>',r+='<div id="export-menu" style="position: relative;width:150px; height:30px; display:none; right:123px; top:-4px;">',r+='<div style="box-shadow: 3px 3px 10px rgb(136, 136, 136); border: 1px solid rgb(160, 160, 160); background: none repeat scroll 0% 0% rgb(255, 255, 255);padding: 5px 0px;">',r+='<div id="format-png" style="padding: 0px 10px; background: none repeat scroll 0% 0% transparent; color: rgb(48, 48, 48); font-size: 12px;">Download PNG image</div>',r+='<div id="format-svg" style="padding: 0px 10px; background: none repeat scroll 0% 0% transparent; color: rgb(48, 48, 48); font-size: 12px;">Download SVG image</div>',"list"==l&&(r+='<div id="format-csv" style="padding: 0px 10px; background: none repeat scroll 0% 0% transparent; color: rgb(48, 48, 48); font-size: 12px;">Download CSV lists</div>'),r+="</div>",r+="</div>",r+="</div>",$t.append(r);var o=s("#canvasExport")[0],c=o.getContext("2d");for(i=0;3>i;i++)c.lineWidth=3,c.beginPath(),c.lineCap="round",c.moveTo(5,5+5.2*i),c.lineTo(20,5+5.2*i),c.strokeStyle="#666",c.stroke();var a=s("#export-menu"),u=s("#canvasExport").css("background");s("#format-png").click(function(){s("#canvasExport").css("background",u),s("#canvasExport").css("border-color","white"),s("#canvasExport").hover(function(){s(this).css("background","linear-gradient(to bottom, white, #AECEFF) repeat scroll 0 0 transparent"),s(this).css("border","1px solid #6688AA"),s(this).css("border-radius","3px")},function(){s(this).css("background",u),s(this).css("border-color","white")}),a.hide();var t=document.createElement("canvas");export_ctx=t.getContext("2d"),t.width=O,t.height=N;var e=document.createElement("img"),l=s("<div></div>");l.append(j.getSerializedSvg(!0)),s("[id^=resultC]").each(function(){"none"!=s(this).css("display")&&(value=0===s(this).html().indexOf("<span")?"?":s(this).html(),l.children("svg").children("g").append(P(value,s(this).css("left"),s(this).css("top"),s(this).css("color"),s(this).css("opacity"),s(this).css("font-family"),s(this).css("font-size"),s(this).css("font-weight"),!1)))}),s("[id^=label]").each(function(){l.children("svg").children("g").append(P(s(this).html(),s(this).css("left"),s(this).css("top"),s(this).css("color"),s(this).css("opacity"),s(this).css("font-family"),s(this).css("font-size"),s(this).css("font-weight"),!0))}),e.setAttribute("src","data:image/svg+xml;base64,"+window.btoa(l.html())),e.setAttribute("height","700px"),e.setAttribute("width","500px"),e.onload=function(){export_ctx.drawImage(e,0,0);var l=t.toDataURL("image/png");s("#data-export").attr("href",l),s("#data-export").attr("download","jVenn_chart.png"),s("#data-export")[0].click()}}),s("#format-svg").click(function(){s("#canvasExport").css("background",u),s("#canvasExport").css("border-color","white"),s("#canvasExport").hover(function(){s(this).css("background","linear-gradient(to bottom, white, #AECEFF) repeat scroll 0 0 transparent"),s(this).css("border","1px solid #6688AA"),s(this).css("border-radius","3px")},function(){s(this).css("background",u),s(this).css("border-color","white")}),a.hide();var t=s("<div></div>");t.append(j.getSerializedSvg(!0)),s("[id^=resultC]").each(function(){"none"!=s(this).css("display")&&(value=0===s(this).html().indexOf("<span")?"?":s(this).html(),t.children("svg").children("g").append(P(value,s(this).css("left"),s(this).css("top"),s(this).css("color"),s(this).css("opacity"),s(this).css("font-family"),s(this).css("font-size"),s(this).css("font-weight"),!1)))}),s("[id^=label]").each(function(){t.children("svg").children("g").append(P(s(this).html(),s(this).css("left"),s(this).css("top"),s(this).css("color"),s(this).css("opacity"),s(this).css("font-family"),s(this).css("font-size"),s(this).css("font-weight"),!0))});var e="data:image/svg+xml;base64,"+window.btoa(t.html()),l=encodeURI(e);s("#data-export").attr("href",l),s("#data-export").attr("download","jVenn_chart.svg"),s("#data-export")[0].click()}),s("#format-csv").click(function(){s("#canvasExport").css("background",u),s("#canvasExport").css("border-color","white"),s("#canvasExport").hover(function(){s(this).css("background","linear-gradient(to bottom, white, #AECEFF) repeat scroll 0 0 transparent"),s(this).css("border","1px solid #6688AA"),s(this).css("border-radius","3px")},function(){s(this).css("background",u),s(this).css("border-color","white")}),a.hide();var t=new Array,e=!1;s("*[id^=resultC]").each(function(){if(!this.empty){var s=new Array,l=this.listnames.join("|");l.indexOf(",")>=0&&(e=!0,l=l.replace(/,/g,"_")),s.push(l);for(var r=0;r<this.list.length;r++)l=this.list[r],this.list[r].indexOf(",")>=0&&(e=!0,l=this.list[r].replace(/,/g,"_")),s.push(l);t.push(s)}});var l="data:text/csv;charset=utf-8,";e&&(l+="##\n## Warning: comma(s) have been replaced by underscore(s)\n##\n"),g(t).forEach(function(s){l+=s.join(",")+"\n"});var r=encodeURI(l);s("#data-export").attr("href",r),s("#data-export").attr("download","jVenn.csv"),s("#data-export")[0].click()}),s("#canvasExport").click(function(){s(this).css("background","linear-gradient(to bottom, #AECEFF, white) repeat scroll 0 0 transparent"),s(this).css("border","1px solid #6688AA"),s("#canvasExport").unbind("mouseenter mouseleave"),a.show(),a.is(":visible")&&s(document).mouseup(function(t){0===a.has(t.target).length&&(s("#canvasExport").css("background",u),s("#canvasExport").css("border-color","white"),s("#canvasExport").hover(function(){s(this).css("background","linear-gradient(to bottom, white, #AECEFF) repeat scroll 0 0 transparent"),s(this).css("border","1px solid #6688AA"),s(this).css("border-radius","3px")},function(){s(this).css("background",u),s(this).css("border-color","white")}),a.hide())});var t=s("div[id^=format-]").css("background");s("div[id^=format-]").hover(function(){s(this).css("background","rgba(69,114,165,0.75)"),s(this).css("color","white")},function(){s(this).css("background",t),s(this).css("color","")})}),s("#canvasExport").hover(function(){s(this).css("background","linear-gradient(to bottom, white, #AECEFF) repeat scroll 0 0 transparent"),s(this).css("border","1px solid #6688AA"),s(this).css("border-radius","3px")},function(){s(this).css("background",u),s(this).css("border-color","white")})}function I(t,e){var e=null==e?!0:e,l=null;s("*[id^=label]").each(function(){if(s(this).html()==t){s(this).css("opacity",.1),s(this).removeClass("is-selected");var e=s(this).attr("id");l=e.charAt(e.length-1)}}),legend_button=s("#item-"+l),legend_button.children("span").css("margin-left","0px"),legend_button.css("opacity",.5),legend_button.children("span").text("off");var r="resultC000000";return s(".is-selected").each(function(){var t=s(this).attr("id"),e=6+parseInt(t.charAt(t.length-1));r=r.substr(0,e)+1+r.substr(e+1)}),"resultC000000"==r&&e?(s(".number-black").each(function(){s(this).css("opacity",1)}),s("*[id^=label]").each(function(){s(this).css("opacity",.6)})):s(".number-black").each(function(){s(this).attr("id")==r?s(this).css("opacity",1):s(this).css("opacity",.1)}),r}function M(t){var e=null;s("*[id^=label]").each(function(){if(s(this).html()==t){s(this).css("opacity",.6),s(this).addClass("is-selected");var l=s(this).attr("id");e=l.charAt(l.length-1)}else s(this).hasClass("is-selected")||s(this).css("opacity",.1)}),legend_button=s("#item-"+e),legend_button.children("span").css("margin-left","13px"),legend_button.css("opacity",.75),legend_button.css("color","black"),legend_button.children("span").text("on");var l="resultC000000";return s(".is-selected").each(function(){var t=s(this).attr("id"),e=6+parseInt(t.charAt(t.length-1));l=l.substr(0,e)+1+l.substr(e+1)}),s(".number-black").each(function(){s(this).attr("id")==l?s(this).css("opacity",1):s(this).css("opacity",.1)}),l}function F(t,e){var e=null==e?1:e,l=new Array,r="resultC000000",o=0;if(s("*[id^=label]").each(function(){""!=s(this).html()&&(l[s(this).html()]="unselected")}),""==t||e>t.length)for(var c in l)r=I(c);else{var i=null,a=!1;if(s(".number-black:not(.number-empty)").each(function(){for(var s=0;s<this.list.length&&!a;s++)-1!=this.list[s].indexOf(t)&&(this.list[s]==t&&(a=!0),i=this.listnames,o++)}),1==o||a){for(var u=0;u<i.length;u++)l[i[u]]="selected";o=1}if(1>=o)for(var c in l)r="selected"==l[c]?M(c):I(c,!1);else for(var c in l)r=I(c)}null!=B.searchStatus&&(""==t||e>t.length?B.searchStatus.text(""):0==o?B.searchStatus.text("not found"):1==o?B.searchStatus.text("found"):o>1&&B.searchStatus.text("ambiguous")),b(),"edwards"==B.displayMode?y(z()[1]):x(z()[1]),B.displayStat&&v(z()[1]),"resultC000000"!=r&&s("#"+r).show()}var D={series:[{name:"Actors",data:["Marilyn Monroe","Arnold Schwarzenegger","Jack Nicholson","Barbra Streisand","Robert de Niro","Dean Martin","Harrison Ford"]},{name:"Singers",data:["Freddy Mercury","Barbra Streisand","Dean Martin","Ricky Martin","Celine Dion","Marilyn Monroe"]}],fnClickCallback:function(){var s="";s+=1==this.listnames.length?"Elements only in ":"Common elements in ";for(name in this.listnames)s+=this.listnames[name]+" ";s+=":\n";for(val in this.list)s+=this.list[val]+"\n";alert(s)},disableClick:!1,useValues:!1,exporting:!0,displayMode:"classic",displayStat:!1,shortNumber:!0,searchInput:null,searchStatus:null,searchMinSize:1,colors:["rgb(0,102,0)","rgb(90,155,212)","rgb(241,90,96)","rgb(250,220,91)","rgb(255,117,0)","rgb(192,152,83)"],fontSize:"16px",fontFamily:"Arial"},B=s.extend(D,e),O=500,N=415,j=null;return this.each(function(){var t=s(this),e=0;B.displayStat&&(e=280,N+=e),t.css({width:"500px",height:""+(450+e)+"px"}),s("<style>.number-black{font-weight:bold;color:#000000;text-decoration:none;font-size:12px;}.number-over{font-weight:bold;cursor:pointer;color:#0000FF;text-decoration:underline;}.number-empty{font-weight:normal;font-size:12px;}</style>").appendTo("body");var l=434,r=130;"edwards"==B.displayMode&&(l=10,r=425),s("<style>.module-legend{border:1px solid lightgrey;border-radius:5px;position:relative;left:"+l+"px;top:-"+(r+e)+"px;width:35px;padding-bottom:3px}</style>").appendTo("body"),s("<style>.leg-items{padding-top:1px;margin:3px 3px 0px 3px;cursor:pointer;border: 1px solid grey;border-radius:2px;width:27px;height:11px;font-size:0.65em;line-height:10px;opacity:0.75}</style>").appendTo("body");var o='<div id="frame" style="position: relative; left: 5pt; top: 5pt; width: 500px; height: "'+(445+e)+'px;">';o+='<div id="canvasEllipse" width="500px" height="'+(415+e)+'px;"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC100000"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC010000"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC001000"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC000100"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC000010"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC110000"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC101000"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC100100"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC100010"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC011000"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC010100"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC010010"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC001100"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC001010"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC000110"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC111000"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC110100"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC110010"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC101100"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC101010"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC100110"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC011100"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC011010"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC010110"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC001110"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC111100"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC111010"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC110110"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC101110"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC011110"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC111110"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC000001"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC000011"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC000101"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC000111"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC001001"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC001011"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC001101"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC001111"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC010001"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC010011"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC010101"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC010111"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC011001"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC011011"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC011101"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC011111"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC100001"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC100011"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC100101"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC100111"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC101001"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC101011"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC101101"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC101111"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC110001"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC110011"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC110101"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC110111"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC111001"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC111011"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC111101"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC111111"></div>',o+='<div style="position: absolute; left: -1000px; top: -1000px; opacity:0.5;;" id="label1"></div>',o+='<div style="position: absolute; left: -1000px; top: -1000px; opacity:0.5;;" id="label2"></div>',o+='<div style="position: absolute; left: -1000px; top: -1000px; opacity:0.5;;" id="label3"></div>',o+='<div style="position: absolute; left: -1000px; top: -1000px; opacity:0.5;;" id="label4"></div>',o+='<div style="position: absolute; left: -1000px; top: -1000px; opacity:0.5;;" id="label5"></div>',o+='<div style="position: absolute; left: -1000px; top: -1000px; opacity:0.5;;" id="label6"></div>',o+="</div>",t.html(o),j=new C2S(O,N),s("*[id^=resultC]").each(function(){s(this).html(0),s(this).addClass("number-empty"),s(this).css("font-size",B.fontSize),s(this).css("font-family",B.fontFamily)}),s("*[id^=label]").each(function(){s(this).css("font-family",B.fontFamily)});var c=z();"list"==c[0]?w():"count"==c[0]&&E(),null!=B.searchInput&&B.searchInput.keyup(function(){F(B.searchInput.val(),B.searchMinSize)}),"edwards"==B.displayMode?y(c[1]):x(c[1]),B.displayStat&&v(c[1]),B.exporting===!0&&S(t,e,c[0]),c[1]>=4&&_(t,c[1]),s(".number-black").hover(function(){var t=!1;s("*[id^=item]").each(function(){"on"===s(this).children("span").text()&&(t=!0)});var e=!1;if(null!=B.searchInput&&""!=B.searchInput.val()&&(e=!0),!t&&!e&&""!==s(this).text()){var l=this.listnames,r=this;s("*[id^=label]").each(function(){l.indexOf(s(this).text())<0?s(this).css("opacity",.1):s(this).css("opacity",.6)}),s(".number-black").each(function(){this!=r&&s(this).css("opacity",.1)}),b(),"edwards"==B.displayMode?y(c[1]):x(c[1]),B.displayStat&&v(c[1])}},function(){var t=!1;s("*[id^=item]").each(function(){"on"===s(this).children("span").text()&&(t=!0)});var e=!1;if(null!=B.searchInput&&""!=B.searchInput.val()&&(e=!0),!t&&!e&&""!==s(this).text()){{this.listnames}s("*[id^=label]").each(function(){s(this).css("opacity",.5)}),s(".number-black").each(function(){s(this).css("opacity",1)}),b(),"edwards"==B.displayMode?y(c[1]):x(c[1]),B.displayStat&&v(c[1])}}),s("#canvasEllipse").html(j.getSvg())}),this}}(jQuery);
+		</script>
+		<script type="text/javascript">
+			/*
+			 * HTMLTable.js 0.1.0 - HTMLTable Library
+			 *
+			 * Copyright (c) 2015 Escudie Frederic
+			 * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.
+			 */
+			function HTMLtable(e){var t,r,n=e,a=";";this.deleteColumns=function(e){for(var a=n.getElementsByTagName("tr"),o=0;o<a.length;o++){s=0;var i=a[o].getElementsByTagName("td");0==i.length&&(i=a[o].getElementsByTagName("th"));for(var v=0,s=0;s<t[1];s++)if(!r[o][s]){var f=i[v].getAttribute("colspan");if(null!=f)for(var m=0;f>m;m++){if(in_array(s+m,e)){var u=i[v].getAttribute("colspan");u-1==0?i[v].removeAttribute("colspan"):i[v].setAttribute("colspan",u-1)}if(null==i[v].getAttribute("colspan")){var h=i[v];a[o].removeChild(h),v--}}else if(in_array(s,e)){var h=i[v];a[o].removeChild(h),v--}v++}}l(),g()},this.filter=function(e,a){var l=new RegExp(e),g=new Array;null!=a&&a||(g.c0=!0);for(var o=n.getElementsByTagName("tr"),i=0;i<o.length;i++){f=0;var v=o[i].getElementsByTagName("td");if(0!=v.length)for(var s=0,f=0;f<t[1];f++)r[i][f]||(l.test(v[s].innerHTML)&&(g["c"+f]=!0),s++)}for(var m=new Array,u=0;u<t[1];u++)void 0===g["c"+u]&&m.push(u);this.deleteColumns(m)},this.getModel=function(){return n};var l=function(){for(var e=0,r=0,a=n.getElementsByTagName("tr"),l=0;l<a.length;l++){var g=0;e++;var o=a[l].getElementsByTagName("td");0==o.length&&(o=a[l].getElementsByTagName("th"));for(var i=0;i<o.length;i++){var v=o[i].getAttribute("colspan");g+=null==v?1:parseInt(v)}g>r&&(r=g)}t=new Array(2),t[0]=e,t[1]=r},g=function(){r=new Array(t[0]);for(var e=0;e<t[0];e++){r[e]=new Array(t[1]);for(var a=0;a<t[1];a++)r[e][a]=!1}for(var l=n.getElementsByTagName("tr"),g=0;g<l.length;g++){v=0;var o=l[g].getElementsByTagName("td");0==o.length&&(o=l[g].getElementsByTagName("th"));for(var i=0,v=0;v<t[1];v++)if(!r[g][v]){var s=0,f=0,m=o[i].getAttribute("rowspan");null!=m&&(s=parseInt(m)-1);var u=o[i].getAttribute("colspan");null!=u&&(f=parseInt(u)-1);for(var h=s;h>=0;h--)for(var y=f;y>=0;y--)(0!=h||0!=y)&&(r[g+h][v+y]=!0);i++}}};this.replace=function(e,a,l){var g=new RegExp(e);null==a&&(a=""),null==l&&(l="");for(var o=n.getElementsByTagName("tr"),i=0;i<o.length;i++){f=0;var v=o[i].getElementsByTagName("td");if(0!=v.length)for(var s=0,f=0;f<t[1];f++)if(!r[i][f]){var m=g.exec(v[s].innerHTML);null!=m&&(void 0===m[1]&&(m[1]=""),v[s].innerHTML=a+m[1]+l),s++}}},this.toCSV=function(){for(var e="",l=n.getElementsByTagName("tr"),g=0;g<l.length;g++){var o=l[g].getElementsByTagName("td");0==o.length&&(o=l[g].getElementsByTagName("th"));for(var i=0,v=0;v<t[1];v++)r[g][v]||(e+=o[i].innerHTML,i++),e+=a;e=e.substr(0,e.length-1)+"\n"}return e},l(),g()}var in_array=function(e,t){for(var r in t)if(t[r]==e)return!0;return!1};
+			
+			/*
+			 * dataTableExtractor.plugin.js 0.1.0 - datatableExport Library
+			 *
+			 * Copyright (c) 2015 Escudie Frederic
+			 * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.
+			 */
+			!function(t){t.fn.datatableExport=function(a){var e={anchor_id:t(this).attr("id"),table_id:null,csv_separator:";",omitted_columns:[]},n=t.extend(e,a);if(!t(this).length)throw"The element where the datatableExport is called does not exist.";if(void 0==n.anchor_id)throw"The datatableExport plugin must be called on an element with id.";if(null==n.table_id)throw"You must set the table_id parameter in datatableExport plugin.";if(!t("#"+n.table_id))throw"The datatable '#"+n.table_id+"' cannot be retieve in DOM.";return this.each(function(){var a=t(this);a.on("click",function(){t.fn.datatableExport.csv(n.anchor_id,n.table_id,n.csv_separator,n.omitted_columns)})})},t.fn.datatableExport.cleanCellMarkup=function(a,e){t.parseHTML(e);t("#"+a).append('<div class="hidden data-tmp">'+e+"</div>"),t("#"+a+" .data-tmp").find("input").each(function(){var a="";a=t(this).is(":checkbox")?t(this).is(":checked")?"true":"false":t(this).val(),t(this).replaceWith(a)});var n=t("#"+a+" .data-tmp").text();return t("#"+a+" .data-tmp").remove(),n},t.fn.datatableExport.csv=function(a,e,n,i){var l="",r=t("#"+e).DataTable(),d=t("#"+e+" thead")[0],o=new HTMLtable(d.cloneNode(!0));o.deleteColumns(i),l+=o.toCSV();var c=r.rows().data();t.each(c,function(e,n){for(var r="",d=0;d<n.length;d++)-1==t.inArray(d,i)&&(r+='"'+t.fn.datatableExport.cleanCellMarkup(a,n[d])+'";');""!=r&&(r=r.slice(0,-1)),l+=r+"\n"}),t("#"+a+"-extract-csv").length||t("#"+a).append('<a id="'+a+'-extract-csv" href="data:text/csv;charset=UTF-8,'+encodeURI(l)+'" download="data.csv" style="display:none;"></a>'),t("#"+a+"-extract-csv")[0].click()}}(jQuery);
+		</script>		
+		
+		<script type="text/javascript">
+/*
+$(document).ready(function(){
+  $('#example').jvenn({
+    series: [{
+    	name: {A: 'Actors',
+               B: 'Singers'},
+    	data: {A: ["Arnold Schwarzenegger", "Jack Nicholson", "Robert de Niro", "Harrison Ford"], B: ["Freddy Mercury", "Ricky Martin", "Celine Dion"], AB: ["Marilyn Monroe", "Barbra Streisand", "Dean Martin"]},
+    	values: {A: 4, B: 3, AB: 3}
+    }],
+  });
+});
+*/
+var jvenn_data = ###JVENN_DATA### ;
+$(document).ready(function(){
+  $('#example').jvenn(jvenn_data);
+});
+
+			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+			//
+			// Data
+			//
+			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+			//var processed_filters = ###PORCESSED_FILTERS### ;
+			/* Example:
+				['filterA', 'filterB', 'filterC']
+			*/
+			//var global_results = ###GLOBAL_RESULTS### ; 
+			/* Example: 
+				{
+					'nb_clstr_kept': 100,
+					'nb_clstr_ini': 300,
+					'nb_seq_kept': 100,
+					'nb_seq_ini': 100000
+				}
+			*/
+			//var by_samples_results = ###SAMPLES_RESULTS### ;
+			/* Example:
+				{
+					'sampleA':{
+						'filtered':{
+							'filterA': 10,
+							'filterB': 20
+						},
+						'initial': 75,
+						'kept': 50
+					},
+					'sampleB':{
+						'filtered':{
+							'filterB': 20,
+						},
+						'initial': 110,
+						'kept': 90
+					}
+				}
+			*/
+			//var by_filters_results = ###FILTERS_RESULTS### ;
+			/* Example:
+				[
+					{'filters':['filterA'], 'count': 10},
+					{'filters':['filterB'], 'count': 20},
+					{'filters':['filterC'], 'count': 30},
+					{'filters':['filterA', 'filterB'], 'count': 1},
+					{'filters':['filterA', 'filterC'], 'count': 2},
+					{'filters':['filterB', 'filterC'], 'count': 3},
+					{'filters':['filterA', 'filterB', 'filterC'], 'count': 4}
+				];
+			*/
+			
+			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+			//
+			// Main
+			//
+			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+			$(function() {
+				// Remove alert
+				$('#js-alert').remove();
+				$('#content').removeClass("hidden");
+				
+				// Load active tab
+				global_filters_load();
+				intersections_filters_load();
+				
+				// Add tab listener
+				$('.nav-tabs a').click(function (e) {
+					e.preventDefault();
+					$(this).tab('show');
+					if( $(this).attr('href') == "#view-by-samples" && $('#view-by-samples').hasClass('disabled') ){
+						$('#view-by-samples').removeClass('disabled')
+						samples_filters_load( "filter-log" );
+					}
+				})
+			});
+		</script>
+
+	</head>
+	<body>
+		<!-- Alert -->
+		<p id="js-alert" class="alert alert-warning">
+                javascript is needed to display data.<br />
+                If you try to view this data on galaxy please contact your administrator to authorise javascript or download the file to view.
+		</p>
+		
+        <!-- Content -->
+	<div id="example"></div>
+        </div>
+
+		
+	</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/releases_notes.rst	Sat Jun 12 18:06:28 2021 +0000
@@ -0,0 +1,19 @@
+=============================
+Venn diagram - Releases Notes
+=============================
+
+==================
+2019-05-13 Release
+==================
+
+New
+---
+
+Improvements
+------------
+
+- handle multiple IDs per line in input file (";" separated)
+- better handle of copy/paste 
+
+Fixes
+-----
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/Bredberg.txt	Sat Jun 12 18:06:28 2021 +0000
@@ -0,0 +1,121 @@
+P04637
+P31947
+P63104
+P60709
+P43652
+P02763
+P04217
+P01023
+P04083
+P07355
+P12429
+P08758
+P01008
+P02647
+P02649
+P05089
+P61769
+Q13867
+P27482
+P07339
+P00450
+Q9NSK0
+P10909
+P23528
+P02747
+P06681
+P01024
+P0C0L4
+P0C0L5
+Q15517
+P22528
+P01036
+Q9UGM3
+Q02413
+Q86SJ6
+P61916
+A2IPI6
+P04117
+Q01469
+Q5D862
+Q8NF17
+Q08380
+P04406
+P11217
+P00738
+P07900
+P08238
+P68871
+P02790
+B4E1Z4
+P04196
+P62807
+P62805
+Q86YZ3
+P05362
+P01880
+P01765
+P01598
+P01613
+P01611
+P01617
+P01621
+P06313
+P01625
+P15814
+P80748
+P01714
+P01717
+A4F255
+P01591
+P19827
+P01011
+P01009
+P02751
+P06396
+P02774
+P01871
+Q14624
+Q13835
+P15924
+P02788
+P04233
+P31025
+P00338
+P61626
+P22897
+Q9UL86
+Q9UL77
+Q9UL83
+P59665
+P80188
+O95613
+Q96S96
+P05155
+P01833
+P07737
+P12273
+Q16378
+P02760
+P05109
+Q08188
+P00734
+Q8IWL2
+P11686
+A0A0U1RVJ5
+Q6N093
+Q6MZX7
+Q7Z351
+A0N5G5
+P02787
+Q96P63
+P02768
+P01622
+Q9BYE4
+Q9UBC9
+O95436
+P10599
+P02766
+Q13885
+P25311
+Q96DA0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/ID_Converter_FKW_Lacombe_et_al_2017_OK.txt	Sat Jun 12 18:06:28 2021 +0000
@@ -0,0 +1,152 @@
+Protein accession number (UniProt)	Protein name	Number of peptides (razor + unique)	neXtProt_ID	UniProt.ID	GeneID	MIM	Ensembl
+P15924	Desmoplakin	69	NX_P15924	DESP_HUMAN	1832	125647; 605676; 607450; 607655; 609638; 612908; 615821	ENSG00000096696
+P02538	Keratin, type II cytoskeletal 6A	53	NX_P02538	K2C6A_HUMAN	3853	148041; 615726	ENSG00000205420
+P02768	Serum albumin	44	NX_P02768	ALBU_HUMAN	213	103600; 615999; 616000	ENSG00000163631
+P08779	Keratin, type I cytoskeletal 16	29	NX_P08779	K1C16_HUMAN	3868	148067; 167200; 613000	ENSG00000186832
+Q02413	Desmoglein-1	24	NX_Q02413	DSG1_HUMAN	1828	125670; 148700; 615508	ENSG00000134760
+P07355	Annexin A2;Putative annexin A2-like protein	22	NX_P07355	ANXA2_HUMAN	302	151740	ENSG00000182718
+P14923	Junction plakoglobin	22	NX_P14923	PLAK_HUMAN	3728	173325; 601214; 611528	ENSG00000173801
+P02788	Lactotransferrin	21	NX_P02788	TRFL_HUMAN	4057	150210	ENSG00000012223
+Q9HC84	Mucin-5B	21	NX_Q9HC84	MUC5B_HUMAN	727897	178500; 600770	ENSG00000117983
+P29508	Serpin B3	20	NX_P29508	SPB3_HUMAN	6317	600517	ENSG00000057149
+P63261	Actin, cytoplasmic 2	19	NX_P63261	ACTG_HUMAN	71	102560; 604717; 614583	ENSG00000184009
+Q8N1N4	Keratin, type II cytoskeletal 78	18	NX_Q8N1N4	K2C78_HUMAN	196374	611159	ENSG00000170423
+Q04695	Keratin, type I cytoskeletal 17	18	NX_Q04695	K1C17_HUMAN	3872	148069; 167210; 184500	ENSG00000128422
+P01876	Ig alpha-1 chain C region	16	NX_P01876	IGHA1_HUMAN	NA	146900	ENSG00000211895; ENSG00000282633
+Q01469	Fatty acid-binding protein 5, epidermal	15	NX_Q01469	FABP5_HUMAN	2171	605168	ENSG00000164687
+P31944	Caspase-14	15	NX_P31944	CASPE_HUMAN	23581	605848; 617320	ENSG00000105141
+P01833	Polymeric immunoglobulin receptor	15	NX_P01833	PIGR_HUMAN	5284	173880	ENSG00000162896
+P06733	Alpha-enolase	15	NX_P06733	ENOA_HUMAN	2023	172430	ENSG00000074800
+P25311	Zinc-alpha-2-glycoprotein	15	NX_P25311	ZA2G_HUMAN	563	194460	ENSG00000160862
+Q15149	Plectin	15	NX_Q15149	PLEC_HUMAN	5339	131950; 226670; 601282; 612138; 613723; 616487	ENSG00000178209
+P19013	Keratin, type II cytoskeletal 4	13	NX_P19013	K2C4_HUMAN	NA	123940; 193900	ENSG00000170477
+Q6KB66	Keratin, type II cytoskeletal 80	13	NX_Q6KB66	K2C80_HUMAN	144501	611161	ENSG00000167767
+Q08188	Protein-glutamine gamma-glutamyltransferase E	12	NX_Q08188	TGM3_HUMAN	7053	600238; 617251	ENSG00000125780
+P13646	Keratin, type I cytoskeletal 13	11	NX_P13646	K1C13_HUMAN	3860	148065; 615785	ENSG00000171401
+Q86YZ3	Hornerin	11	NX_Q86YZ3	HORN_HUMAN	388697	616293	ENSG00000197915
+P04259	Keratin, type II cytoskeletal 6B	10	NX_P04259	K2C6B_HUMAN	3854	148042; 615728	ENSG00000185479
+P02545	Prelamin-A/C;Lamin-A/C	10	NX_P02545	LMNA_HUMAN	4000	115200; 150330; 151660; 159001; 176670; 181350; 212112; 248370; 275210; 605588; 610140; 613205; 616516	ENSG00000160789
+P04083	Annexin A1	10	NX_P04083	ANXA1_HUMAN	301	151690	ENSG00000135046
+P11021	78 kDa glucose-regulated protein	10	NX_P11021	GRP78_HUMAN	3309	138120	ENSG00000044574
+P02787	Serotransferrin	9	NX_P02787	TRFE_HUMAN	7018	190000; 209300	ENSG00000091513
+P04040	Catalase	9	NX_P04040	CATA_HUMAN	847	115500; 614097	ENSG00000121691
+P31151	Protein S100-A7	9	NX_P31151	S10A7_HUMAN	6278	600353	ENSG00000143556
+P31947	14-3-3 protein sigma	9	NX_P31947	1433S_HUMAN	2810	601290	ENSG00000175793
+Q96P63	Serpin B12	9	NX_Q96P63	SPB12_HUMAN	89777	615662	ENSG00000166634
+P14618	Pyruvate kinase PKM	9	NX_P14618	KPYM_HUMAN	5315	179050	ENSG00000067225
+P60174	Triosephosphate isomerase	9	NX_P60174	TPIS_HUMAN	7167	190450; 615512	ENSG00000111669
+Q06830	Peroxiredoxin-1	9	NX_Q06830	PRDX1_HUMAN	5052	176763	ENSG00000117450
+P01040	Cystatin-A	8	NX_P01040	CYTA_HUMAN	1475	184600; 607936	ENSG00000121552
+P05089	Arginase-1	8	NX_P05089	ARGI1_HUMAN	383	207800; 608313	ENSG00000118520
+P01834	Ig kappa chain C region	8	NX_P01834	IGKC_HUMAN	NA	147200; 614102	NA
+P04406	Glyceraldehyde-3-phosphate dehydrogenase	8	NX_P04406	G3P_HUMAN	2597	138400	ENSG00000111640
+P0DMV9	Heat shock 70 kDa protein 1B	8	NX_P0DMV9	HS71B_HUMAN	3303; 3304	140550; 603012	ENSG00000204388; ENSG00000224501; ENSG00000212866; ENSG00000231555; ENSG00000232804
+P13639	Elongation factor 2	8	NX_P13639	EF2_HUMAN	1938	130610; 609306	ENSG00000167658
+P35579	Myosin-9	8	NX_P35579	MYH9_HUMAN	4627	153640; 153650; 155100; 160775; 600208; 603622; 605249	ENSG00000100345
+P68371	Tubulin beta-4B chain	8	NX_P68371	TBB4B_HUMAN	10383	602660	ENSG00000188229
+Q8WVV4	Protein POF1B	8	NX_Q8WVV4	POF1B_HUMAN	79983	300603; 300604	ENSG00000124429
+O75635	Serpin B7	7	NX_O75635	SPB7_HUMAN	8710	603357; 615598	ENSG00000166396
+P01857	Ig gamma-1 chain C region	7	NX_P01857	IGHG1_HUMAN	NA	147100; 254500	ENSG00000211896; ENSG00000277633
+P61626	Lysozyme C	7	NX_P61626	LYSC_HUMAN	4069	105200; 153450	ENSG00000090382
+P68363	Tubulin alpha-1B chain	7	NX_P68363	TBA1B_HUMAN	10376	602530	ENSG00000123416
+P01009	Alpha-1-antitrypsin;Short peptide from AAT	6	NX_P01009	A1AT_HUMAN	5265	107400; 613490	ENSG00000197249
+P07900	Heat shock protein HSP 90-alpha	6	NX_P07900	HS90A_HUMAN	3320	140571	ENSG00000080824
+Q9NZH8	Interleukin-36 gamma	6	NX_Q9NZH8	IL36G_HUMAN	56300	605542	ENSG00000136688
+O43707	Alpha-actinin-4;Alpha-actinin-1	6	NX_O43707	ACTN4_HUMAN	81	603278; 604638	ENSG00000130402; ENSG00000282844
+O75223	Gamma-glutamylcyclotransferase	6	NX_O75223	GGCT_HUMAN	79017	137170	ENSG00000006625
+P00338	L-lactate dehydrogenase A chain	6	NX_P00338	LDHA_HUMAN	3939	150000; 612933	ENSG00000134333
+P07339	Cathepsin D	6	NX_P07339	CATD_HUMAN	1509	116840; 610127	ENSG00000117984
+P62987	Ubiquitin-60S ribosomal protein L40	6	NX_P62987	RL40_HUMAN	7311	191321	ENSG00000221983
+P10599	Thioredoxin	6	NX_P10599	THIO_HUMAN	7295	187700	ENSG00000136810
+Q9UGM3	Deleted in malignant brain tumors 1 protein	6	NX_Q9UGM3	DMBT1_HUMAN	1755	137800; 601969	ENSG00000187908
+Q9UI42	Carboxypeptidase A4	6	NX_Q9UI42	CBPA4_HUMAN	51200	607635	ENSG00000128510
+P47929	Galectin-7	5	NX_P47929	LEG7_HUMAN	3963; 653499	600615; 617139	ENSG00000178934; ENSG00000205076; ENSG00000282902; ENSG00000283082
+Q13867	Bleomycin hydrolase	5	NX_Q13867	BLMH_HUMAN	642	602403	ENSG00000108578
+Q6P4A8	Phospholipase B-like 1	5	NX_Q6P4A8	PLBL1_HUMAN	79887	NA	ENSG00000121316
+O75369	Filamin-B	5	NX_O75369	FLNB_HUMAN	2317	108720; 108721; 112310; 150250; 272460; 603381	ENSG00000136068
+P00441	Superoxide dismutase [Cu-Zn]	5	NX_P00441	SODC_HUMAN	6647	105400; 147450	ENSG00000142168
+P04792	Heat shock protein beta-1	5	NX_P04792	HSPB1_HUMAN	3315	602195; 606595; 608634	ENSG00000106211
+P11142	Heat shock cognate 71 kDa protein	5	NX_P11142	HSP7C_HUMAN	3312	600816	ENSG00000109971
+P58107	Epiplakin	5	NX_P58107	EPIPL_HUMAN	83481	607553	NA
+P60842	Eukaryotic initiation factor 4A-I	5	NX_P60842	IF4A1_HUMAN	1973	602641	ENSG00000161960
+P62937	Peptidyl-prolyl cis-trans isomerase A	5	NX_P62937	PPIA_HUMAN	5478	123840	ENSG00000196262
+P63104	14-3-3 protein zeta/delta	5	NX_P63104	1433Z_HUMAN	7534	601288	ENSG00000164924
+Q92820	Gamma-glutamyl hydrolase	5	NX_Q92820	GGH_HUMAN	8836	601509	ENSG00000137563
+O75342	Arachidonate 12-lipoxygenase, 12R-type	4	NX_O75342	LX12B_HUMAN	242	242100; 603741	ENSG00000179477
+P09211	Glutathione S-transferase P	4	NX_P09211	GSTP1_HUMAN	2950	134660	ENSG00000084207
+P31025	Lipocalin-1	4	NX_P31025	LCN1_HUMAN	3933	151675	ENSG00000160349
+P48594	Serpin B4	4	NX_P48594	SPB4_HUMAN	6318	600518	ENSG00000206073
+Q14574	Desmocollin-3	4	NX_Q14574	DSC3_HUMAN	1825	600271; 613102	ENSG00000134762
+Q5T750	Skin-specific protein 32	4	NX_Q5T750	XP32_HUMAN	100129271	NA	ENSG00000198854
+Q6UWP8	Suprabasin	4	NX_Q6UWP8	SBSN_HUMAN	374897	609969	ENSG00000189001
+O60911	Cathepsin L2	4	NX_O60911	CATL2_HUMAN	1515	603308	ENSG00000136943
+P00558	Phosphoglycerate kinase 1	4	NX_P00558	PGK1_HUMAN	5230	300653; 311800	ENSG00000102144
+P04075	Fructose-bisphosphate aldolase A	4	NX_P04075	ALDOA_HUMAN	226	103850; 611881	ENSG00000149925
+P07384	Calpain-1 catalytic subunit	4	NX_P07384	CAN1_HUMAN	823	114220; 616907	ENSG00000014216
+P0CG05	Ig lambda-2 chain C regions	4	NA	NA	NA	NA	NA
+P18206	Vinculin	4	NX_P18206	VINC_HUMAN	7414	193065; 611407; 613255	ENSG00000035403
+P62258	14-3-3 protein epsilon	4	NX_P62258	1433E_HUMAN	7531	605066	ENSG00000108953; ENSG00000274474
+P68871	Hemoglobin subunit beta	4	NX_P68871	HBB_HUMAN	3043	140700; 141900; 603902; 603903; 611162; 613985	ENSG00000244734
+Q9C075	Keratin, type I cytoskeletal 23	4	NX_Q9C075	K1C23_HUMAN	25984	606194	ENSG00000108244; ENSG00000263309
+A8K2U0	Alpha-2-macroglobulin-like protein 1	3	NX_A8K2U0	A2ML1_HUMAN	144568	610627	ENSG00000166535
+P00738	Haptoglobin	3	NX_P00738	HPT_HUMAN	3240	140100; 614081	ENSG00000257017
+P01011	Alpha-1-antichymotrypsin	3	NX_P01011	AACT_HUMAN	12	107280	ENSG00000196136
+P02763	Alpha-1-acid glycoprotein 1	3	NX_P02763	A1AG1_HUMAN	5004	138600	ENSG00000229314
+P18510	Interleukin-1 receptor antagonist protein	3	NX_P18510	IL1RA_HUMAN	3557	147679; 612628; 612852	ENSG00000136689
+P22528	Cornifin-B	3	NX_P22528	SPR1B_HUMAN	6699	182266	ENSG00000169469
+P30740	Leukocyte elastase inhibitor	3	NX_P30740	ILEU_HUMAN	1992	130135	ENSG00000021355
+P80188	Neutrophil gelatinase-associated lipocalin	3	NX_P80188	NGAL_HUMAN	3934	600181	ENSG00000148346
+Q15828	Cystatin-M	3	NX_Q15828	CYTM_HUMAN	1474	601891	ENSG00000175315
+Q9HCY8	Protein S100-A14	3	NX_Q9HCY8	S10AE_HUMAN	57402	607986	ENSG00000189334
+P01623	Ig kappa chain V-III region	3	NA	NA	NA	NA	NA
+P01877	Ig alpha-2 chain C region	3	NX_P01877	IGHA2_HUMAN	NA	147000	ENSG00000211890
+P06396	Gelsolin	3	NX_P06396	GELS_HUMAN	2934	105120; 137350	ENSG00000148180
+P14735	Insulin-degrading enzyme	3	NX_P14735	IDE_HUMAN	3416	146680	ENSG00000119912
+P20933	N(4)-(beta-N-acetylglucosaminyl)-L-asparaginase	3	NX_P20933	ASPG_HUMAN	175	208400; 613228	ENSG00000038002
+P25788	Proteasome subunit alpha type-3	3	NX_P25788	PSA3_HUMAN	5684	176843; 176845	ENSG00000100567
+P26641	Elongation factor 1-gamma	3	NX_P26641	EF1G_HUMAN	1937	130593	ENSG00000254772
+P36952	Serpin B5	3	NX_P36952	SPB5_HUMAN	5268	154790	ENSG00000206075
+P40926	Malate dehydrogenase, mitochondrial	3	NX_P40926	MDHM_HUMAN	4191	154100; 617339	ENSG00000146701
+Q9Y6R7	IgGFc-binding protein	3	NX_Q9Y6R7	FCGBP_HUMAN	8857	617553	ENSG00000281123
+O95274	Ly6/PLAUR domain-containing protein 3	2	NX_O95274	LYPD3_HUMAN	27076	609484	ENSG00000124466
+P00491	Purine nucleoside phosphorylase	2	NX_P00491	PNPH_HUMAN	4860	164050; 613179	ENSG00000198805
+P04080	Cystatin-B	2	NX_P04080	CYTB_HUMAN	1476	254800; 601145	ENSG00000160213
+P09972	Fructose-bisphosphate aldolase C	2	NX_P09972	ALDOC_HUMAN	230	103870	ENSG00000109107
+P19012	Keratin, type I cytoskeletal 15	2	NX_P19012	K1C15_HUMAN	3866	148030	ENSG00000171346
+P20930	Filaggrin	2	NX_P20930	FILA_HUMAN	2312	135940; 146700; 605803	ENSG00000143631
+Q96FX8	p53 apoptosis effector related to PMP-22	2	NX_Q96FX8	PERP_HUMAN	64065	609301	ENSG00000112378
+Q9UIV8	Serpin B13	2	NX_Q9UIV8	SPB13_HUMAN	5275	604445	ENSG00000197641
+P01625	Ig kappa chain V-IV region Len	2	NA	NA	NA	NA	NA
+P01765	Ig heavy chain V-III region TIL	2	NA	NA	NA	NA	NA
+P01766	Ig heavy chain V-III region BRO	2	NX_P01766	HV313_HUMAN	NA	NA	ENSG00000211942; ENSG00000282286
+P01860	Ig gamma-3 chain C region	2	NX_P01860	IGHG3_HUMAN	NA	147120	NA
+P01871	Ig mu chain C region	2	NX_P01871	IGHM_HUMAN	NA	147020; 601495	ENSG00000211899; ENSG00000282657
+P05090	Apolipoprotein D	2	NX_P05090	APOD_HUMAN	347	107740	ENSG00000189058
+P06870	Kallikrein-1	2	NX_P06870	KLK1_HUMAN	3816	147910; 615953	ENSG00000167748
+P07858	Cathepsin B	2	NX_P07858	CATB_HUMAN	1508	116810	ENSG00000164733
+P08865	40S ribosomal protein SA	2	NX_P08865	RSSA_HUMAN	3921	150370; 271400	ENSG00000168028
+P11279	Lysosome-associated membrane glycoprotein 1	2	NX_P11279	LAMP1_HUMAN	3916	153330	ENSG00000185896
+P13473	Lysosome-associated membrane glycoprotein 2	2	NX_P13473	LAMP2_HUMAN	3920	300257; 309060	ENSG00000005893
+P19971	Thymidine phosphorylase	2	NX_P19971	TYPH_HUMAN	1890	131222; 603041	ENSG00000025708
+P23284	Peptidyl-prolyl cis-trans isomerase B	2	NX_P23284	PPIB_HUMAN	5479	123841; 259440	ENSG00000166794
+P23396	40S ribosomal protein S3	2	NX_P23396	RS3_HUMAN	6188	600454	ENSG00000149273
+P25705	ATP synthase subunit alpha, mitochondrial	2	NX_P25705	ATPA_HUMAN	498	164360; 615228; 616045	ENSG00000152234
+P27482	Calmodulin-like protein 3	2	NX_P27482	CALL3_HUMAN	810	114184	ENSG00000178363
+P31949	Protein S100-A11	2	NX_P31949	S10AB_HUMAN	6282	603114	ENSG00000163191
+P40121	Macrophage-capping protein	2	NX_P40121	CAPG_HUMAN	822	153615	ENSG00000042493
+P42357	Histidine ammonia-lyase	2	NX_P42357	HUTH_HUMAN	3034	235800; 609457	ENSG00000084110
+P47756	F-actin-capping protein subunit beta	2	NX_P47756	CAPZB_HUMAN	832	601572	ENSG00000077549
+P48637	Glutathione synthetase	2	NX_P48637	GSHB_HUMAN	2937	231900; 266130; 601002	ENSG00000100983
+P49720	Proteasome subunit beta type-3	2	NX_P49720	PSB3_HUMAN	5691	602176	ENSG00000277791; ENSG00000275903
+P50395	Rab GDP dissociation inhibitor beta	2	NX_P50395	GDIB_HUMAN	2665	600767	ENSG00000057608
+P59998	Actin-related protein 2/3 complex subunit 4	2	NX_P59998	ARPC4_HUMAN	10093	604226	ENSG00000241553
+P61160	Actin-related protein 2	2	NX_P61160	ARP2_HUMAN	10097	604221	ENSG00000138071
+P61916	Epididymal secretory protein E1	2	NX_P61916	NPC2_HUMAN	10577	601015; 607625	ENSG00000119655
+P04745	Alpha-amylase 1	23	NX_P04745	AMY1_HUMAN	276; 277; 278	104700; 104701; 104702	ENSG00000174876; ENSG00000187733; ENSG00000237763
+Q9NZT1	Calmodulin-like protein 5	8	NX_Q9NZT1	CALL5_HUMAN	51806	605183	ENSG00000178372
+P12273	Prolactin-inducible protein	6	NX_P12273	PIP_HUMAN	5304	176720	ENSG00000159763
+Q96DA0	Zymogen granule protein 16 homolog B	5	NX_Q96DA0	ZG16B_HUMAN	124220	NA	ENSG00000162078; ENSG00000283056
+P01036	Cystatin-S	5	NX_P01036	CYTS_HUMAN	1472	123857	ENSG00000101441
+Q8TAX7	Mucin-7	2	NX_Q8TAX7	MUC7_HUMAN	4589	158375; 600807	ENSG00000171195
+P01037	Cystatin-SN	2	NX_P01037	CYTN_HUMAN	1469	123855	ENSG00000170373
+P09228	Cystatin-SA	2	NX_P09228	CYTT_HUMAN	1470	123856	ENSG00000170369
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/Mucilli.txt	Sat Jun 12 18:06:28 2021 +0000
@@ -0,0 +1,167 @@
+P04264
+P35908
+P35527
+P04259
+P13647
+P08779
+P02533
+Q04695
+P01040
+P13645
+P59665
+Q01469
+Q9NZT1
+P22531
+P04792
+P01834
+Q96KK5
+Q06830
+P60709
+P13646
+P31949
+P06702
+P14923
+Q13835
+P60174
+P07737
+P62805
+P31947
+P10599
+P15924
+Q6UWP8
+P02768
+Q6KB66
+P12035
+P47929
+P04406
+P17931
+Q3ZCW2
+P63167
+P63104
+P0CG48
+Q5XKE5
+P11142
+P06733
+Q7Z794
+P01593
+Q9NZH8
+P14174
+P01620
+P36952
+P68104
+O60814
+Q8N1N4
+P00338
+Q02413
+P07355
+P52907
+Q6ZVX7
+P08865
+P09211
+Q96P63
+P68371
+P30041
+P27482
+P08107
+P22392
+P29508
+P01861
+Q08188
+Q9C075
+P14618
+P31025
+P02679
+P54652
+Q13748
+P01857
+P80188
+P35321
+P02675
+P19013
+Q14CN4
+P37802
+P05783
+P51149
+P01876
+P28072
+Q86YZ3
+Q5T749
+P28070
+P05109
+P02671
+P58107
+Q5T750
+P04040
+P00558
+P62244
+P03973
+Q6E0U4
+P47756
+P13639
+P68431
+P32119
+Q8WVV4
+Q96QA5
+P68871
+Q9Y337
+P11021
+P01871
+P61626
+P25311
+P22735
+P30050
+P06576
+O43175
+O43790
+P37837
+P04083
+P04075
+P02545
+P50990
+O43707
+Q5D862
+P17900
+O75223
+Q14134
+Q08554
+P60842
+P00738
+P07476
+P05120
+P28074
+O15523
+P25787
+P13489
+P05091
+P31944
+P23490
+P05090
+P06396
+P49862
+P18206
+P15880
+P05089
+P40925
+P40926
+P20933
+Q9UIV8
+Q5VVQ6
+P07900
+P02788
+Q9Y3R4
+P23526
+P07339
+Q15517
+Q8IW75
+P49189
+P01023
+P26641
+P61978
+P10809
+P29401
+O75369
+Q15365
+P29373
+P14735
+Q14210
+Q9Y277
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/Venn_diagram_html.html	Sat Jun 12 18:06:28 2021 +0000
@@ -0,0 +1,228 @@
+<!DOCTYPE html>
+<!--
+# Copyright (C) 2015 INRA
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+-->
+<html>
+	<head>
+		<title>Jvenn+</title>
+		<meta charset="UTF-8">
+		<meta name="version" content="2.0.1">
+		<link rel="stylesheet" href="https://cdn.datatables.net/1.10.6/css/jquery.dataTables.css"></link>
+		<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"></link>
+		<style type="text/css">
+			#js-alert {
+				width: 90%;
+				margin-right: auto;
+				margin-left: auto;
+			}
+			#content {
+				width: 90%;
+				margin-right: auto;
+				margin-left: auto;
+			}
+			.clear {
+				clear: both;
+				height: 0px;
+				width: 100%;
+				float: none !important;
+			}
+			ul.nav-tabs {
+				margin-bottom: 30px;
+			}
+			#venn-filters {
+				padding: 10px;
+				background-color: #FFF;
+				background-clip: padding-box;
+				border: 1px solid rgba(0, 0, 0, 0.15);
+				border-radius: 4px;
+				box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.176);
+				margin-right: auto;
+				margin-left: auto;
+				margin-bottom: 30px;
+			}
+			#byFilters-jvenn {
+				margin-right: auto;
+				margin-left: auto;
+			}
+			#venn-filters ul {
+				list-style-type: none;
+			}
+		</style>
+
+		<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
+		<script type="text/javascript" src="https://code.highcharts.com/4.1.4/highcharts.js"></script>
+		<script type="text/javascript" src="https://code.highcharts.com/4.1.4/modules/exporting.js"></script>
+		<script type="text/javascript" src="https://cdn.datatables.net/1.10.6/js/jquery.dataTables.min.js"></script>
+		<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
+		<script type="text/javascript">
+			/***************************************************************
+			*  Copyright notice
+			*
+			*  (c) 2014 PF bioinformatique de Toulouse
+			*  All rights reserved
+			* 
+			*
+			*  This script is an adaptation of the venny script developed by
+			*  Juan Carlos Oliveros, BioinfoGP, CNB-CSIC:
+			*  Oliveros, J.C. (2007) VENNY. An interactive tool for comparing 
+			*  lists with Venn Diagrams.
+			*  http://bioinfogp.cnb.csic.es/tools/venny/index.html.
+			*  It is distributed under the terms of the GNU General Public 
+			*  License as published by the Free Software Foundation; either 
+			*  version 2 of the License, or (at your option) any later version.
+			*
+			*  The GNU General Public License can be found at
+			*  http://www.gnu.org/copyleft/gpl.html.
+			*
+			*  This script is distributed in the hope that it will be useful,
+			*  but WITHOUT ANY WARRANTY; without even the implied warranty of
+			*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+			*  GNU General Public License for more details.
+			*
+			*  This copyright notice MUST APPEAR in all copies of the script!
+			***************************************************************/
+			!function(){"use strict";function s(s,t){var e,l=Object.keys(t);for(e=0;e<l.length;e++)s=s.replace(new RegExp("\\{"+l[e]+"\\}","gi"),t[l[e]]);return s}function t(s){var t,e,l;if(!s)throw new Error("cannot create a random attribute name for an undefined object");t="ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",e="";do for(e="",l=0;12>l;l++)e+=t[Math.floor(Math.random()*t.length)];while(s[e]);return e}function e(s,t){var e,l,r,o={};for(s=s.split(","),t=t||10,e=0;e<s.length;e+=2)l="&"+s[e+1]+";",r=parseInt(s[e],t),o[l]="&#"+r+";";return o["\\xa0"]="&#160;",o}function l(s){var t={left:"start",right:"end",center:"middle",start:"start",end:"end"};return t[s]||t.start}function r(s){var t={alphabetic:"alphabetic",hanging:"hanging",top:"text-before-edge",bottom:"text-after-edge",middle:"central"};return t[s]||t.alphabetic}var o,c,i,a,u;u=e("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32),o={strokeStyle:{svgAttr:"stroke",canvas:"#000000",svg:"none",apply:"stroke"},fillStyle:{svgAttr:"fill",canvas:"#000000",svg:null,apply:"fill"},lineCap:{svgAttr:"stroke-linecap",canvas:"butt",svg:"butt",apply:"stroke"},lineJoin:{svgAttr:"stroke-linejoin",canvas:"miter",svg:"miter",apply:"stroke"},miterLimit:{svgAttr:"stroke-miterlimit",canvas:10,svg:4,apply:"stroke"},lineWidth:{svgAttr:"stroke-width",canvas:1,svg:1,apply:"stroke"},globalAlpha:{svgAttr:"opacity",canvas:1,svg:1,apply:"fill stroke"},font:{canvas:"10px sans-serif"},shadowColor:{canvas:"#000000"},shadowOffsetX:{canvas:0},shadowOffsetY:{canvas:0},shadowBlur:{canvas:0},textAlign:{canvas:"start"},textBaseline:{canvas:"alphabetic"}},i=function(s){this.__root=s},i.prototype.addColorStop=function(t,e){var l,r,o=document.createElementNS("http://www.w3.org/2000/svg","stop");o.setAttribute("offset",t),-1!==e.indexOf("rgba")?(l=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi,r=l.exec(e),o.setAttribute("stop-color",s("rgb({r},{g},{b})",{r:r[1],g:r[2],b:r[3]})),o.setAttribute("stop-opacity",r[4])):o.setAttribute("stop-color",e),this.__root.appendChild(o)},a=function(s,t){this.__root=s,this.__ctx=t},c=function(s){var t,e={width:500,height:500,enableMirroring:!1};return arguments.length>1?(t=e,t.width=arguments[0],t.height=arguments[1]):t=s?s:e,this instanceof c?(this.width=t.width||e.width,this.height=t.height||e.height,this.enableMirroring=void 0!==t.enableMirroring?t.enableMirroring:e.enableMirroring,this.canvas=this,this.__canvas=document.createElement("canvas"),this.__ctx=this.__canvas.getContext("2d"),this.__setDefaultStyles(),this.__stack=[this.__getStyleState()],this.__groupStack=[],this.__root=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.__root.setAttribute("version",1.1),this.__root.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.__root.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),this.__root.setAttribute("width",this.width),this.__root.setAttribute("height",this.height),this.__ids={},this.__defs=document.createElementNS("http://www.w3.org/2000/svg","defs"),this.__root.appendChild(this.__defs),this.__currentElement=document.createElementNS("http://www.w3.org/2000/svg","g"),void this.__root.appendChild(this.__currentElement)):new c(t)},c.prototype.__createElement=function(s,t,e){var l,r,o=document.createElementNS("http://www.w3.org/2000/svg",s),c=Object.keys(t);for(e&&(o.setAttribute("fill","none"),o.setAttribute("stroke","none")),l=0;l<c.length;l++)r=c[l],o.setAttribute(r,t[r]);return o},c.prototype.__setDefaultStyles=function(){var s,t,e=Object.keys(o);for(s=0;s<e.length;s++)t=e[s],this[t]=o[t].canvas},c.prototype.__applyStyleState=function(s){var t,e,l=Object.keys(s);for(t=0;t<l.length;t++)e=l[t],this[e]=s[e]},c.prototype.__getStyleState=function(){var s,t,e={},l=Object.keys(o);for(s=0;s<l.length;s++)t=l[s],e[t]=this[t];return e},c.prototype.__applyStyleToCurrentElement=function(t){var e,l,r,c,u,p,n=Object.keys(o);for(e=0;e<n.length;e++)if(l=o[n[e]],r=this[n[e]],l.apply)if(-1!==l.apply.indexOf("fill")&&r instanceof a){if(r.__ctx)for(;r.__ctx.__defs.childNodes.length;)c=r.__ctx.__defs.childNodes[0].getAttribute("id"),this.__ids[c]=c,this.__defs.appendChild(r.__ctx.__defs.childNodes[0]);this.__currentElement.setAttribute("fill",s("url(#{id})",{id:r.__root.getAttribute("id")}))}else-1!==l.apply.indexOf("fill")&&r instanceof i?this.__currentElement.setAttribute("fill",s("url(#{id})",{id:r.__root.getAttribute("id")})):-1!==l.apply.indexOf(t)&&l.svg!==r&&("stroke"!==l.svgAttr&&"fill"!==l.svgAttr||-1===r.indexOf("rgba")?this.__currentElement.setAttribute(l.svgAttr,r):(u=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi,p=u.exec(r),this.__currentElement.setAttribute(l.svgAttr,s("rgb({r},{g},{b})",{r:p[1],g:p[2],b:p[3]})),this.__currentElement.setAttribute(l.svgAttr+"-opacity",p[4])))},c.prototype.__closestGroupOrSvg=function(s){return s=s||this.__currentElement,"g"===s.nodeName||"svg"===s.nodeName?s:this.__closestGroupOrSvg(s.parentNode)},c.prototype.getSerializedSvg=function(s){var t,e,l,r,o,c,i=(new XMLSerializer).serializeToString(this.__root);if(c=/xmlns="http:\/\/www\.w3\.org\/2000\/svg".+xmlns="http:\/\/www\.w3\.org\/2000\/svg/gi,c.test(i)&&(i=i.replace('xmlns="http://www.w3.org/2000/svg','xmlns:xlink="http://www.w3.org/1999/xlink')),s)for(t=Object.keys(u),e=0;e<t.length;e++)l=t[e],r=u[l],o=new RegExp(l,"gi"),o.test(i)&&(i=i.replace(o,r));return i},c.prototype.getSvg=function(){return this.__root},c.prototype.save=function(){var s=document.createElementNS("http://www.w3.org/2000/svg","g"),t=this.__closestGroupOrSvg();this.__groupStack.push(t),t.appendChild(s),this.__currentElement=s,this.__stack.push(this.__getStyleState())},c.prototype.restore=function(){this.__currentElement=this.__groupStack.pop();var s=this.__stack.pop();this.__applyStyleState(s)},c.prototype.__addTransform=function(s){var t=this.__currentElement.getAttribute("transform");t?t+=" ":t="",t+=s,this.__currentElement.setAttribute("transform",t)},c.prototype.scale=function(t,e){void 0===e&&(e=t),this.__addTransform(s("scale({x},{y})",{x:t,y:e}))},c.prototype.rotate=function(t){var e=180*t/Math.PI;this.__addTransform(s("rotate({angle},{cx},{cy})",{angle:e,cx:0,cy:0}))},c.prototype.translate=function(t,e){this.__addTransform(s("translate({x},{y})",{x:t,y:e}))},c.prototype.transform=function(t,e,l,r,o,c){this.__addTransform(s("matrix({a},{b},{c},{d},{e},{f})",{a:t,b:e,c:l,d:r,e:o,f:c}))},c.prototype.beginPath=function(){var s,t;s=this.__createElement("path",{},!0),t=this.__closestGroupOrSvg(),t.appendChild(s),this.__currentElement=s},c.prototype.__addPathCommand=function(s){if("path"!==this.__currentElement.nodeName)throw new Error("Attempted to add path command to node "+this.__currentElement.nodeName);var t=this.__currentElement.getAttribute("d");t?t+=" ":t="",t+=s,this.__currentElement.setAttribute("d",t)},c.prototype.moveTo=function(t,e){"path"!==this.__currentElement.nodeName&&this.beginPath(),this.__addPathCommand(s("M {x} {y}",{x:t,y:e}))},c.prototype.closePath=function(){this.__addPathCommand("Z")},c.prototype.lineTo=function(t,e){this.__addPathCommand(s("L {x} {y}",{x:t,y:e}))},c.prototype.bezierCurveTo=function(t,e,l,r,o,c){this.__addPathCommand(s("C {cp1x} {cp1y} {cp2x} {cp2y} {x} {y}",{cp1x:t,cp1y:e,cp2x:l,cp2y:r,x:o,y:c}))},c.prototype.quadraticCurveTo=function(t,e,l,r){this.__addPathCommand(s("Q {cpx} {cpy} {x} {y}",{cpx:t,cpy:e,x:l,y:r}))},c.prototype.stroke=function(){this.__applyStyleToCurrentElement("stroke")},c.prototype.fill=function(){this.__applyStyleToCurrentElement("fill")},c.prototype.rect=function(s,t,e,l){"path"!==this.__currentElement.nodeName&&this.beginPath(),this.moveTo(s,t),this.lineTo(s+e,t),this.lineTo(s+e,t+l),this.lineTo(s,t+l),this.lineTo(s,t),this.closePath()},c.prototype.fillRect=function(s,t,e,l){var r,o;r=this.__createElement("rect",{x:s,y:t,width:e,height:l},!0),o=this.__closestGroupOrSvg(),o.appendChild(r),this.__currentElement=r,this.__applyStyleToCurrentElement("fill")},c.prototype.strokeRect=function(s,t,e,l){var r,o;r=this.__createElement("rect",{x:s,y:t,width:e,height:l},!0),o=this.__closestGroupOrSvg(),o.appendChild(r),this.__currentElement=r,this.__applyStyleToCurrentElement("stroke")},c.prototype.clearRect=function(s,t,e,l){var r,o=this.__closestGroupOrSvg();r=this.__createElement("rect",{x:s,y:t,width:e,height:l,fill:"#FFFFFF"},!0),o.appendChild(r)},c.prototype.createLinearGradient=function(s,e,l,r){var o=this.__createElement("linearGradient",{id:t(this.__ids),x1:s+"px",x2:l+"px",y1:e+"px",y2:r+"px",gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(o),new i(o)},c.prototype.createRadialGradient=function(s,e,l,r,o,c){var a=this.__createElement("radialGradient",{id:t(this.__ids),cx:r+"px",cy:o+"px",r:c+"px",fx:s+"px",fy:e+"px",gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(a),new i(a)},c.prototype.__parseFont=function(){var s,t,e=this.font,l=0,r={style:"normal",size:"10px",family:"sans-serif",weight:"normal",decoration:"none",href:null};for("underline"===this.__fontUnderline&&(r.decoration="underline"),this.__fontHref&&(r.href=this.__fontHref),s=e.split(" "),t=s[l];/italic|bold|normal/.test(t);)"bold"===t?r.weight=t:r.style=t,l++,t=s[l];return/em|px|pt|%/.test(t)&&(r.size=t,l++),s.splice(0,l),r.family=s.join(" "),r},c.prototype.__wrapTextLink=function(s,t){if(s.href){var e=document.createElementNS("http://www.w3.org/2000/svg","a");return e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",s.href),e.appendChild(t),e}return t},c.prototype.__applyText=function(s,t,e,o){var c=this.__parseFont(),i=this.__closestGroupOrSvg(),a=this.__createElement("text",{"font-family":c.family,"font-size":c.size,"font-style":c.style,"font-weight":c.weight,"text-decoration":c.decoration,x:t,y:e,"text-anchor":l(this.textAlign),"dominant-baseline":r(this.textBaseline)},!0);a.appendChild(document.createTextNode(s)),this.__currentElement=a,this.__applyStyleToCurrentElement(o),i.appendChild(this.__wrapTextLink(c,a))},c.prototype.fillText=function(s,t,e){this.__applyText(s,t,e,"fill")},c.prototype.strokeText=function(s,t,e){this.__applyText(s,t,e,"stroke")},c.prototype.measureText=function(s){return this.__ctx.font=this.font,this.__ctx.measureText(s)},c.prototype.arc=function(t,e,l,r,o,c){r%=2*Math.PI,o%=2*Math.PI,r===o&&(o=(o+2*Math.PI-.001*(c?-1:1))%(2*Math.PI));var i=t+l*Math.cos(o),a=e+l*Math.sin(o),u=t+l*Math.cos(r),p=e+l*Math.sin(r),n=c?0:1,C=0,f=o-r;0>f&&(f+=2*Math.PI),C=c?f>Math.PI?0:1:f>Math.PI?1:0,this.moveTo(u,p),this.__addPathCommand(s("A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}",{rx:l,ry:l,xAxisRotation:0,largeArcFlag:C,sweepFlag:n,endX:i,endY:a}))},c.prototype.clip=function(){var e=this.__closestGroupOrSvg(),l=document.createElementNS("http://www.w3.org/2000/svg","clipPath"),r=t(this.__ids),o=document.createElementNS("http://www.w3.org/2000/svg","g");e.removeChild(this.__currentElement),l.setAttribute("id",r),l.appendChild(this.__currentElement),this.__defs.appendChild(l),e.setAttribute("clip-path",s("url(#{id})",{id:r})),e.appendChild(o),this.__currentElement=o},c.prototype.drawImage=function(){var s,t,e,l,r,o,i,a,u,p,n,C,f,h,d,b=Array.prototype.slice.call(arguments),v=b[0],m=0,g=0;if(3===b.length)s=b[1],t=b[2],r=v.width,o=v.height,e=r,l=o;else if(5===b.length)s=b[1],t=b[2],e=b[3],l=b[4],r=v.width,o=v.height;else{if(9!==b.length)throw new Error("Inavlid number of arguments passed to drawImage: "+arguments.length);m=b[1],g=b[2],r=b[3],o=b[4],s=b[5],t=b[6],e=b[7],l=b[8]}if(i=this.__closestGroupOrSvg(),n=this.__currentElement,v instanceof c){for(a=v.getSvg(),u=a.childNodes[0];u.childNodes.length;)d=u.childNodes[0].getAttribute("id"),this.__ids[d]=d,this.__defs.appendChild(u.childNodes[0]);p=a.childNodes[1],i.appendChild(p),this.__currentElement=p,this.translate(s,t),this.__currentElement=n}else("CANVAS"===v.nodeName||"IMG"===v.nodeName)&&(C=document.createElementNS("http://www.w3.org/2000/svg","image"),C.setAttribute("width",e),C.setAttribute("height",l),C.setAttribute("preserveAspectRatio","none"),(m||g||r!==v.width||o!==v.height)&&(f=document.createElement("canvas"),f.width=e,f.height=l,h=f.getContext("2d"),h.drawImage(v,m,g,r,o,0,0,e,l),v=f),C.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href","CANVAS"===v.nodeName?v.toDataURL():v.getAttribute("src")),i.appendChild(C),this.__currentElement=C,this.translate(s,t),this.__currentElement=n)},c.prototype.createPattern=function(s){var e,l=document.createElementNS("http://www.w3.org/2000/svg","pattern"),r=t(this.__ids);return l.setAttribute("id",r),l.setAttribute("width",s.width),l.setAttribute("height",s.height),"CANVAS"===s.nodeName||"IMG"===s.nodeName?(e=document.createElementNS("http://www.w3.org/2000/svg","image"),e.setAttribute("width",s.width),e.setAttribute("height",s.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href","CANVAS"===s.nodeName?s.toDataURL():s.getAttribute("src")),l.appendChild(e),this.__defs.appendChild(l)):s instanceof c&&(l.appendChild(s.__root.childNodes[1]),this.__defs.appendChild(l)),new a(l,this)},c.prototype.drawFocusRing=function(){},c.prototype.createImageData=function(){},c.prototype.getImageData=function(){},c.prototype.putImageData=function(){},c.prototype.globalCompositeOperation=function(){},c.prototype.arcTo=function(){},c.prototype.setTransform=function(){},window.C2S=c}(),function(s){s.fn.jvenn=function(e){function l(s,t,e,l,r,o,c){j.beginPath(),j.save(),j.translate(s,t),j.rotate(o*Math.PI/180),j.scale(l,r),j.arc(0,0,e,0,2*Math.PI),j.fillStyle=c,j.fill(),j.restore()}function r(s,t,e,l,r,o,c){j.beginPath(),j.save(),j.moveTo(s,t),j.lineTo(e,l),j.lineTo(r,o),j.fillStyle=c,j.fill(),j.restore()}function o(s,t,e,l,r){j.lineWidth=1,j.beginPath(),j.moveTo(s,t),j.lineTo(e,l),j.strokeStyle=r,j.stroke()}function c(s,t,e,l,r,o,c){j.beginPath(),j.save(),j.translate(s,t),j.rotate(o*Math.PI/180),j.scale(l,r),j.arc(0,0,e,0,2*Math.PI),j.lineWidth=3,j.strokeStyle=c,d(c)>=.6&&(j.fillStyle=h(c,.1),j.fill()),j.stroke(),j.restore()}function a(s){var t=!1;j.strokeStyle=s,j.lineWidth=3,j.beginPath(),j.arc(120,205,90,.25*Math.PI,1.75*Math.PI,t),j.stroke(),j.beginPath(),j.arc(370,205,90,1.25*Math.PI,.75*Math.PI,t),j.stroke(),j.beginPath(),j.arc(245,360,110,1.3*Math.PI,1.7*Math.PI,t),j.stroke(),j.beginPath(),j.arc(245,50,110,.3*Math.PI,.7*Math.PI,t),j.stroke(),d(s)>=.6&&(j.save(),j.beginPath(),j.moveTo(0,0),j.lineTo(500,0),j.lineTo(500,415),j.lineTo(0,415),j.closePath(),j.clip(),j.strokeStyle="rgba(0,0,0,0)",j.lineCap="butt",j.lineJoin="miter",j.miterLimit=4,j.save(),j.restore(),j.save(),j.restore(),j.save(),j.translate(-11,-633),j.save(),j.strokeStyle="rgba(0,0,0,0)",j.translate(0,636),j.beginPath(),j.moveTo(116.68996,288.55847),j.bezierCurveTo(114.18984,288.06339,109.64415,287.21717,106.58843999999999,286.67797),j.bezierCurveTo(91.905866,284.08711,74.873379,272.58587,62.202665,256.70632),j.bezierCurveTo(50.11906,241.56257,44.228048,226.01748,43.257799,206.71498),j.bezierCurveTo(41.560634,172.95091,57.502272,144.04252,87.68464900000001,126.1518),j.bezierCurveTo(113.85468,110.63942,151.67555000000002,111.15554999999999,176.27348,127.36075),j.bezierCurveTo(180.25579000000002,129.9843,185.18402,133.59167,187.22511,135.37712),j.bezierCurveTo(194.61144,141.83832999999998,205.94366,148.05088999999998,218.69964,152.63209999999998),j.bezierCurveTo(245.95179,162.41950999999997,276.56952,161.09978999999998,302.53531,149.01852999999997),j.bezierCurveTo(312.66749999999996,144.30425999999997,319.21466,140.23029999999997,324.17127999999997,135.55560999999997),j.bezierCurveTo(333.89739,126.38270999999997,351.79472999999996,118.14201999999997,367.20779999999996,115.73977999999997),j.bezierCurveTo(378.37728999999996,113.99892999999997,395.02293999999995,115.10837999999997,406.09866999999997,118.33190999999997),j.bezierCurveTo(427.39104999999995,124.52893999999996,447.81205,140.89770999999996,458.49307999999996,160.32946999999996),j.bezierCurveTo(466.21541999999994,174.37854999999996,468.14135,182.79986999999997,468.18706999999995,202.71742999999995),j.bezierCurveTo(468.21646999999996,215.53506999999996,467.84246999999993,219.76843999999994,466.13687999999996,225.92328999999995),j.bezierCurveTo(460.34646999999995,246.81870999999995,443.97394999999995,267.47014999999993,423.77633999999995,279.35468999999995),j.bezierCurveTo(411.54527999999993,286.55159999999995,399.98404999999997,289.09283999999997,379.83469999999994,289.01338999999996),j.bezierCurveTo(354.90229999999997,288.91508999999996,338.08241999999996,282.66270999999995,322.01485999999994,267.52031999999997),j.bezierCurveTo(312.0940299999999,258.17073,292.45028999999994,249.89035999999996,272.32759999999996,246.57576999999998),j.bezierCurveTo(254.94397999999995,243.71236999999996,234.25916999999995,245.61216,218.58554999999996,251.51169),j.bezierCurveTo(206.28085999999996,256.14317,191.57338999999996,264.45267,188.72360999999995,268.38324),j.bezierCurveTo(186.89117999999996,270.91063,172.96095999999994,280.26608,166.96462999999994,282.99643),j.bezierCurveTo(164.03704999999994,284.32946999999996,158.23248999999996,286.16623,154.06560999999994,287.07811999999996),j.bezierCurveTo(145.28290999999993,289.00015999999994,123.31454999999994,289.87026999999995,116.68995999999993,288.55846999999994),j.lineTo(116.68995999999993,288.55846999999994),j.closePath(),j.fillStyle=h(s,.1),j.fill(),j.stroke(),j.restore(),j.restore(),j.restore())}function u(s){var t=!1;j.strokeStyle=s,j.lineWidth=3,j.beginPath(),j.arc(145,205,40,.35*Math.PI,1.65*Math.PI,t),j.stroke(),j.beginPath(),j.arc(345,205,40,1.35*Math.PI,.65*Math.PI,t),j.stroke(),j.beginPath(),j.arc(245,100,40,.8*Math.PI,2.2*Math.PI,t),j.stroke(),j.beginPath(),j.arc(245,310,40,1.82*Math.PI,1.18*Math.PI,t),j.stroke(),j.beginPath(),j.arc(182,140,35,1.84*Math.PI,.7*Math.PI,t),j.stroke(),j.beginPath(),j.arc(308,140,35,.3*Math.PI,1.18*Math.PI,t),j.stroke(),j.beginPath(),j.arc(182,270,35,1.3*Math.PI,.2*Math.PI,t),j.stroke(),j.beginPath(),j.arc(308,270,35,.8*Math.PI,1.7*Math.PI,t),j.stroke(),d(s)>=.6&&(j.save(),j.beginPath(),j.moveTo(0,0),j.lineTo(500,0),j.lineTo(500,415),j.lineTo(0,415),j.closePath(),j.clip(),j.strokeStyle="rgba(0,0,0,0)",j.lineCap="butt",j.lineJoin="miter",j.miterLimit=4,j.save(),j.restore(),j.save(),j.restore(),j.save(),j.translate(-140,-212),j.save(),j.strokeStyle="rgba(0,0,0,0)",j.translate(139,217),j.beginPath(),j.moveTo(234.95394,341.16933),j.bezierCurveTo(231.80731999999998,340.135,227.61570999999998,338.28931,225.63925999999998,337.0678),j.bezierCurveTo(221.28248999999997,334.37516999999997,214.37806999999998,326.70736999999997,211.83772,321.74032),j.bezierCurveTo(207.9414,314.12196,208.45042999999998,293.37118,212.67719,287.51943),j.bezierCurveTo(215.87649,283.09018,218.95801,274.65101,219.59244,268.58113),j.bezierCurveTo(220.45250000000001,260.35249,218.0029,251.63114999999996,212.48275,243.26837999999998),j.bezierCurveTo(206.02273000000002,233.48175999999998,198.89664000000002,229.43794999999997,185.95006,228.21201),j.bezierCurveTo(178.17816000000002,227.47606,172.06373000000002,228.9391,162.89332000000002,233.72894),j.bezierCurveTo(156.28128,237.18251999999998,155.23208000000002,237.42228,146.73088,237.42244),j.bezierCurveTo(135.51808000000003,237.42266,128.41302000000002,234.90269,121.10778000000002,228.33465999999999),j.bezierCurveTo(114.30638000000002,222.21962,111.33466000000001,216.76216,109.78745000000002,207.54525999999998),j.bezierCurveTo(108.21951000000003,198.20489999999998,109.69855000000003,187.35654,113.42449000000002,180.86914),j.bezierCurveTo(116.70310000000002,175.16054,123.50535000000002,169.17129,130.61112000000003,165.73660999999998),j.bezierCurveTo(135.84135000000003,163.2085,137.81975000000003,162.82216,145.72073000000003,162.78605),j.bezierCurveTo(154.43018000000004,162.74624999999997,155.21524000000002,162.9348,164.40855000000002,167.27446999999998),j.bezierCurveTo(173.55745000000002,171.59319999999997,174.43144,171.80518999999998,183.14876,171.82016),j.bezierCurveTo(191.71748000000002,171.83496,192.78155,171.59418,200.06856000000002,167.99274),j.bezierCurveTo(206.71571000000003,164.70754,208.40559000000002,163.31437,211.70876,158.39629),j.bezierCurveTo(216.86766,150.71523,219.00004,144.97677,219.64970000000002,137.02646),j.bezierCurveTo(220.25703000000001,129.59413999999998,217.81806000000003,120.60798999999999,213.36866000000003,113.88449999999999),j.bezierCurveTo(208.31047000000004,106.24103999999998,207.60430000000002,86.789031,212.06743000000003,78.04059099999999),j.bezierCurveTo(215.36468000000002,71.57742099999999,222.48250000000002,64.79066099999999,229.83172000000002,61.10251999999999),j.bezierCurveTo(236.05208000000002,57.98088699999999,237.41276000000002,57.68862899999999,245.72583000000003,57.68862899999999),j.bezierCurveTo(253.41441000000003,57.68862899999999,255.67446000000004,58.09343499999999,260.37304,60.31215099999999),j.bezierCurveTo(277.08479,68.203604,286.51407,86.23497699999999,282.57463,102.76767),j.bezierCurveTo(281.86319000000003,105.75339,279.29147,112.06009,276.85971,116.78255),j.bezierCurveTo(273.65874,122.99881,272.27383000000003,127.0461,271.84239,131.44528),j.bezierCurveTo(270.33639000000005,146.80139,279.61874,162.9296,293.20300000000003,168.5596),j.bezierCurveTo(306.55802000000006,174.09458999999998,314.0903,173.65240999999997,329.06341000000003,166.45448),j.bezierCurveTo(336.00568000000004,163.11717,337.40021,162.8096,345.73093000000006,162.77846),j.bezierCurveTo(353.96010000000007,162.74776,355.45355000000006,163.05339,361.47832000000005,166.00153),j.bezierCurveTo(369.53210000000007,169.94254,376.64791,177.20452,380.3403400000001,185.25103000000001),j.bezierCurveTo(382.5644300000001,190.09773,382.9971500000001,192.49377,383.0256800000001,200.12014000000002),j.bezierCurveTo(383.0562800000001,208.31117000000003,382.74275000000006,209.86176000000003,379.8593200000001,215.77750000000003),j.bezierCurveTo(376.0651900000001,223.56169000000003,370.1637800000001,229.56756000000004,362.0334900000001,233.91890000000004),j.bezierCurveTo(351.4550500000001,239.58048000000002,339.7398500000001,239.17006000000003,326.6582200000001,232.67959000000005),j.bezierCurveTo(310.6073100000001,224.71590000000003,294.4869300000001,227.24494000000004,281.98739000000006,239.68774000000005),j.bezierCurveTo(270.03863000000007,251.58229000000006,268.4080000000001,270.18789000000004,277.92910000000006,285.99336000000005),j.bezierCurveTo(284.3299400000001,296.61906000000005,285.13914000000005,307.05507000000006,280.51249000000007,319.31069),j.bezierCurveTo(277.5959900000001,327.03626,268.9701400000001,335.93369,260.6715500000001,339.77631),j.bezierCurveTo(253.04107000000008,343.30956000000003,243.1026400000001,343.84789,234.95394000000007,341.16933),j.lineTo(234.95394000000007,341.16933),j.closePath(),j.fillStyle=h(s,.1),j.fill(),j.stroke(),j.restore(),j.restore(),j.restore())}function p(s){var t=!1;j.strokeStyle=s,j.lineWidth=3,j.beginPath(),j.arc(151,205,18,.4*Math.PI,1.6*Math.PI,t),j.stroke(),j.beginPath(),j.arc(167,238,18,1.35*Math.PI,2.42*Math.PI,t),j.stroke(),j.beginPath(),j.arc(180,272,18,.18*Math.PI,1.33*Math.PI,t),j.stroke(),j.beginPath(),j.arc(212,289,18,1.15*Math.PI,2.1*Math.PI,t),j.stroke(),j.beginPath(),j.arc(245,302,18,1.85*Math.PI,1.15*Math.PI,t),j.stroke(),j.beginPath(),j.arc(279,289,18,.87*Math.PI,1.85*Math.PI,t),j.stroke(),j.beginPath(),j.arc(311,272,18,1.65*Math.PI,.85*Math.PI,t),j.stroke(),j.beginPath(),j.arc(325,238,18,.54*Math.PI,1.68*Math.PI,t),j.stroke(),j.beginPath(),j.arc(340,205,18,1.37*Math.PI,.59*Math.PI,t),j.stroke(),j.beginPath(),j.arc(325,172,18,.35*Math.PI,1.4*Math.PI,t),j.stroke(),j.beginPath(),j.arc(311,138,18,1.15*Math.PI,2.35*Math.PI,t),j.stroke(),j.beginPath(),j.arc(279,122,18,.17*Math.PI,1.1*Math.PI,t),j.stroke(),j.beginPath(),j.arc(245,108,18,.8*Math.PI,2.15*Math.PI,t),j.stroke(),j.beginPath(),j.arc(212,122,18,1.9*Math.PI,.85*Math.PI,t),j.stroke(),j.beginPath(),j.arc(180,138,18,.65*Math.PI,1.85*Math.PI,t),j.stroke(),j.beginPath(),j.arc(167,172,18,1.6*Math.PI,.7*Math.PI,t),j.stroke(),d(s)>=.6&&(j.save(),j.beginPath(),j.moveTo(0,0),j.lineTo(500,0),j.lineTo(500,415),j.lineTo(0,415),j.closePath(),j.clip(),j.strokeStyle="rgba(0,0,0,0)",j.lineCap="butt",j.lineJoin="miter",j.miterLimit=4,j.save(),j.restore(),j.save(),j.restore(),j.save(),j.translate(-4,-637),j.save(),j.strokeStyle="rgba(0,0,0,0)",j.translate(0,637),j.beginPath(),j.moveTo(242.80929,316.76895),j.bezierCurveTo(239.2558,315.3947,234.83257,308.84895,234.18254000000002,304.00262000000004),j.bezierCurveTo(233.85998,301.59777,234.27994,298.62012000000004,235.27891000000002,296.22928),j.bezierCurveTo(237.39948,291.15406,237.29592000000002,285.99823000000004,234.97058,280.87787000000003),j.bezierCurveTo(231.58546,273.42388000000005,224.01393000000002,268.42150000000004,216.05280000000002,268.37923),j.bezierCurveTo(210.33377000000002,268.34883,202.51030000000003,272.78013,198.27794000000003,278.44704),j.bezierCurveTo(196.41545000000002,280.94083,193.36619000000002,284.00917000000004,191.50181000000003,285.26557),j.bezierCurveTo(180.81154000000004,292.46974,165.85368000000003,281.37461,168.71196000000003,268.36097),j.bezierCurveTo(169.66342000000003,264.02899,174.42957000000004,258.84685,179.89636000000004,256.20042),j.bezierCurveTo(188.48844000000005,252.04107000000002,193.00795000000005,242.34352,190.58184000000006,233.27254000000002),j.bezierCurveTo(189.87870000000007,230.64358000000001,188.21908000000005,227.07100000000003,186.89381000000006,225.33348),j.bezierCurveTo(182.51221000000007,219.58889000000002,172.48125000000005,216.46373,166.00572000000005,218.82574),j.bezierCurveTo(160.88401000000005,220.69395,153.47334000000006,221.17446999999999,149.58323000000004,219.89061),j.bezierCurveTo(147.65941000000004,219.25570000000002,144.69894000000005,217.15717,143.00442000000004,215.22721),j.bezierCurveTo(140.25313000000003,212.09367,139.92347000000004,211.02317000000002,139.92347000000004,205.22251),j.bezierCurveTo(139.92347000000004,199.42185,140.25313000000003,198.35135,143.00442000000004,195.21781),j.bezierCurveTo(148.08184000000003,189.43495,155.59116000000003,188.31217999999998,166.73325000000003,191.66995999999997),j.bezierCurveTo(171.89873000000003,193.22662999999997,176.76581000000002,192.32402999999996,182.19737000000003,188.80213999999998),j.bezierCurveTo(186.99980000000002,185.68819,191.44125000000003,178.0236,191.44125000000003,172.85002999999998),j.bezierCurveTo(191.44125000000003,165.91124999999997,187.02605000000003,157.91411999999997,181.72540000000004,155.25199999999998),j.bezierCurveTo(168.68097000000003,148.70074999999997,164.62205000000003,137.69753999999998,171.78539000000004,128.30592),j.bezierCurveTo(178.71368000000004,119.22245999999998,190.67567000000003,120.01398999999998,197.23888000000002,129.99017999999998),j.bezierCurveTo(204.51058000000003,141.04331,214.32951000000003,144.72351999999998,224.37555000000003,140.16123),j.bezierCurveTo(235.23365000000004,135.23013999999998,238.86734000000004,125.44275999999999,234.78543000000002,112.12207),j.bezierCurveTo(233.16446000000002,106.83225999999999,234.54797000000002,101.56208,238.76789000000002,96.95178),j.bezierCurveTo(248.33151000000004,86.503446,267.39820000000003,96.55735,264.708,110.63005),j.bezierCurveTo(262.24834000000004,123.49681,263.43732,130.24138,269.17704000000003,135.9811),j.bezierCurveTo(273.84920000000005,140.65326,279.80664,142.46487,287.54524000000004,141.56671),j.bezierCurveTo(290.80029,141.18892,293.25246000000004,140.53831,292.99449000000004,140.12091),j.bezierCurveTo(292.73652000000004,139.70352,293.68403000000006,138.74196,295.10007,137.98412000000002),j.bezierCurveTo(296.51611,137.22628000000003,298.81193,134.66566000000003,300.2019,132.29385000000002),j.bezierCurveTo(303.47878000000003,126.70229000000002,307.77937000000003,123.14413000000002,312.28166000000004,122.29950000000002),j.bezierCurveTo(323.19238000000007,120.25263000000002,332.5219000000001,130.29284,330.36964000000006,141.76535),j.bezierCurveTo(329.6006300000001,145.86456,323.8285400000001,152.29884,317.5065000000001,156.10419000000002),j.bezierCurveTo(312.2969800000001,159.23989,308.17124000000007,167.72107000000003,308.8642700000001,173.86973),j.bezierCurveTo(309.6787300000001,181.09556,313.7704700000001,186.95133,320.2047800000001,190.09934),j.bezierCurveTo(326.1904100000001,193.02784000000003,330.20042000000007,193.13284000000002,338.9627100000001,190.59052000000003),j.bezierCurveTo(344.9917000000001,188.84125000000003,350.1988400000001,189.89377000000002,354.59001000000006,193.74927000000002),j.bezierCurveTo(368.2933100000001,205.78092000000004,353.68808000000007,226.52374000000003,336.55395000000004,219.36465),j.bezierCurveTo(323.93852000000004,214.09358,308.93266000000006,224.16784,308.71798000000007,238.05247),j.bezierCurveTo(308.6646800000001,241.50290999999999,311.2253800000001,248.07176,313.86683000000005,251.26035),j.bezierCurveTo(314.59179000000006,252.13548,316.54865000000007,253.7222,318.21540000000005,254.7864),j.bezierCurveTo(324.03371000000004,258.50135,328.85284000000007,263.67991,329.97401,267.42204),j.bezierCurveTo(332.95992,277.3881,325.11943,287.55831,314.45977000000005,287.54616999999996),j.bezierCurveTo(309.88386,287.54116999999997,305.3854400000001,284.53792999999996,300.84666000000004,278.45842999999996),j.bezierCurveTo(295.84636000000006,271.76072,288.36647000000005,267.87215,281.88796,268.60236999999995),j.bezierCurveTo(274.64614,269.41862999999995,268.80722000000003,273.50679999999994,265.64137,279.97756999999996),j.bezierCurveTo(263.21128,284.94451999999995,262.99769,286.21504999999996,263.64589,291.84819999999996),j.bezierCurveTo(265.39685000000003,307.06499999999994,264.64547,310.09781999999996,257.87161000000003,315.15523999999994),j.bezierCurveTo(254.81776000000002,317.43526999999995,246.76347000000004,318.2981699999999,242.80929000000003,316.76894999999996),j.lineTo(242.80929000000003,316.76894999999996),j.closePath(),j.fillStyle=h(s,.1),j.fill(),j.stroke(),j.restore(),j.restore(),j.restore())
+			}function n(s,t,e,l,r){var o=10;j.beginPath(),j.moveTo(s+o,t),j.lineTo(s+e-o,t),j.quadraticCurveTo(s+e,t,s+e,t+o),j.lineTo(s+e,t+l-o),j.quadraticCurveTo(s+e,t+l,s+e-o,t+l),j.lineTo(s+o,t+l),j.quadraticCurveTo(s,t+l,s,t+l-o),j.lineTo(s,t+o),j.quadraticCurveTo(s,t,s+o,t),j.closePath(),j.lineWidth=3,j.strokeStyle=r,d(r)>=.6&&(j.fillStyle=h(r,.1),j.fill()),j.stroke()}function C(s,t,e,l,r){s.beginPath(),s.moveTo(t,e),s.lineTo(l,r),s.closePath(),s.stroke()}function f(s,t,e,l,r,o,c){s.beginPath(),s.rect(t,e,l,r),s.closePath(),s.lineWidth=.75,s.shadowColor="rgba(0,0,0, 0.4)",s.shadowBlur=7,s.shadowOffsetX=2,s.shadowOffsetY=-2,s.strokeStyle=c,s.stroke(),s.fillStyle=o,s.fill()}function h(s,t){var e=s.slice(s.indexOf("(")+1,s.indexOf(")")),l=e.split(",");return"rgba("+l[0]+","+l[1]+","+l[2]+","+t+")"}function d(s){var t=s.slice(s.indexOf("(")+1,s.indexOf(")")),e=t.split(",");return e[3]}function b(){j.clearRect(0,0,O,N)}function v(t){for(var e="rgba(0,0,0, 0.7)",l=120,o=70,c=415,i=20,a=(370-t*i)/t,u=265,p=A(),n=new Array,d=0,b=0;t>b;b++)d=Math.max(d,p[b]);for(var b=0;t>b;b++)n.push(p[b]/d*(l-50));j.fillStyle="#000",j.font="italic 10pt Arial",j.textAlign="center",j.fillText("Size of each list",250,c+27),j.font="normal 12pt Arial",j.textAlign="right",j.fillText(0,45,c+l+2),j.fillText(d/2,45,c+(l+55)/2),j.fillText(d,45,c+54),j.textAlign="left";for(var b=0;t>b;b++)f(j,o+b*a+b*i,c+l-n[b],a,n[b],h(B.colors[b],.5),B.colors[b]),l-n[b]+15<=l-10?(j.textAlign="right",j.fillStyle="white",j.fillText(p[b],a+65+b*a+b*i,c+l-n[b]+15)):(j.textAlign="right",j.fillText(p[b],a+65+b*a+b*i,c+l-n[b]-10)),u=b%2&&t>2?c+l+25:c+l+15,j.fillStyle="#000",j.textAlign="center",j.fillText(s("#label"+(b+1)).html(),o+b*a+b*i+a/2,u,200),j.strokeStyle=e,j.lineWidth=.4,C(j,o+b*a+b*i+a/2,c+l,o+b*a+b*i+a/2,c+l+5);j.lineWidth=1,j.strokeStyle=e,C(j,50,c+l,50,c+35),C(j,50,c+l,450,c+l),j.lineWidth=.4,C(j,47,c+(l+48)/2,53,c+(l+48)/2),C(j,47,c+50,53,c+50),r(50,c+25,46,c+35,54,c+35,e),r(460,c+l,450,c+l-4,450,c+l+4,e);var v=k(),m=new Array;i=2,o=60,c+=l+50;for(var g=390+i,x=0,b=0;t>b;b++)x+=v[b];for(var b=0;t>b;b++)m.push(v[b]/x*g);j.font="italic 10pt Arial",j.textAlign="center",j.fillText("Number of elements: specific (1) or shared by 2, 3, ... lists",250,c),j.font="normal 10pt Arial";for(var y=0,_=0,b=t-1;b>=0;b--)0!=m[b]&&(f(j,o+y,c+15,m[b]-i,20,h("rgb(156,106,156)",1/(b+1.5)),"rgba(0,0,0,0.5)"),j.textAlign="center",j.fillStyle="white",m[b]-i<25?(j.fillStyle="#000",j.fillText(b+1,(m[b]-i)/2+o+y,c+57+_),j.textAlign="left",j.fillText("("+v[b]+")",(m[b]-i)/2+o+y+6,c+57+_),48!=_?_+=12:_=0):(_>=24&&(_=0),j.fillText(v[b],(m[b]-i)/2+o+y,c+29),j.fillStyle="#000",j.fillText(b+1,(m[b]-i)/2+o+y,c+57+_),_=0),j.strokeStyle=e,j.lineWidth=.4,C(j,(m[b]-i)/2+o+y,c+40,(m[b]-i)/2+o+y,c+45),y+=m[b]);j.lineWidth=1,j.strokeStyle=e,C(j,50,c+40,460,c+40)}function m(s,t,e,l){B.shortNumber&&s.text().length>l&&s.html("<span title="+s.text()+">?</span>");var r=t-(s.text().length-1)/2*4;s.css("left",r).css("top",e)}function g(s){var t=s.length?s.length:0,e=s[0]instanceof Array?s[0].length:0;for(l=0;t>l;l++)s[l]instanceof Array&&s[l].length>e&&(e=s[l].length);if(0===e||0===t)return[];var l,r,o=[];for(l=0;e>l;l++)for(o[l]=[],r=0;t>r;r++)o[l][r]=s[r][l];return o}function x(t){var e="rgba(0,0,0,0.1)";6==t?(r(0,11,254,160,174,235,h(B.colors[0],s("#label1").css("opacity"))),r(188,0,134,242,236,202,h(B.colors[1],s("#label2").css("opacity"))),r(338,52,135,123,191,242,h(B.colors[2],s("#label3").css("opacity"))),r(500,260,163,117,134,219,h(B.colors[3],s("#label4").css("opacity"))),r(250,415,133,150,203,67,h(B.colors[4],s("#label5").css("opacity"))),r(11,307,263,81,214,220,h(B.colors[5],s("#label6").css("opacity"))),s("#label1").css("left",35).css("top",10).css("color",B.colors[0]),s("#label2").css("left",200).css("top",5).css("color",B.colors[1]),s("#label3").css("left",335).css("top",60).css("color",B.colors[2]),s("#label4").css("left",410).css("top",200).css("color",B.colors[3]),s("#label5").css("left",255).css("top",385).css("color",B.colors[4]),s("#label6").css("left",30).css("top",300).css("color",B.colors[5]),m(s("#resultC100000"),98,90,6),m(s("#resultC010000"),187,50,4),m(s("#resultC001000"),280,80,6),m(s("#resultC000100"),320,205,6),m(s("#resultC000010"),212,272,5),m(s("#resultC000001"),100,240,6),m(s("#resultC111111"),185,170,6),o(140,80,166,110,e),m(s("#resultC110000"),132,60,6),m(s("#resultC101000"),142,116,2),o(75,180,145,185,e),o(75,180,65,175,e),m(s("#resultC100100"),55,157,6),m(s("#resultC100010"),140,145,2),o(75,200,142,190,e),o(75,200,65,195,e),m(s("#resultC100001"),55,177,6),o(230,80,212,115,e),m(s("#resultC011000"),230,60,6),m(s("#resultC010100"),225,190,1),m(s("#resultC010010"),193,82,3),m(s("#resultC010001"),145,218,2),o(295,145,235,180,e),m(s("#resultC001100"),302,132,6),o(275,270,193,233,e),m(s("#resultC001010"),275,268,6),m(s("#resultC001001"),232,113,4),m(s("#resultC000110"),216,211,1),o(75,220,140,205,e),o(75,220,65,215,e),m(s("#resultC000101"),55,197,6),o(150,270,183,230,e),m(s("#resultC000011"),145,268,6),m(s("#resultC111110"),170,130,6),s("#resultC111110").hide(),m(s("#resultC111101"),218,155,6),s("#resultC111101").hide(),m(s("#resultC111011"),205,125,6),s("#resultC111011").hide(),m(s("#resultC110111"),160,190,6),s("#resultC110111").hide(),m(s("#resultC101111"),180,212,6),s("#resultC101111").hide(),m(s("#resultC011111"),208,197,6),s("#resultC011111").hide(),m(s("#resultC111100"),225,170,6),s("#resultC111100").hide(),m(s("#resultC111010"),182,113,6),s("#resultC111010").hide(),m(s("#resultC110110"),149,163,6),s("#resultC110110").hide(),m(s("#resultC101110"),152,140,6),s("#resultC101110").hide(),m(s("#resultC011110"),215,195,6),s("#resultC011110").hide(),m(s("#resultC111001"),212,128,6),s("#resultC111001").hide(),m(s("#resultC110101"),150,194,6),s("#resultC110101").hide(),m(s("#resultC110011"),168,216,6),s("#resultC110011").hide(),m(s("#resultC101101"),226,145,6),s("#resultC101101").hide(),m(s("#resultC101011"),178,216,6),s("#resultC101011").hide(),m(s("#resultC100111"),178,214,6),s("#resultC100111").hide(),m(s("#resultC011101"),218,180,6),s("#resultC011101").hide(),m(s("#resultC011011"),206,122,6),s("#resultC011011").hide(),m(s("#resultC010111"),215,198,6),s("#resultC010111").hide(),m(s("#resultC001111"),200,208,6),s("#resultC001111").hide(),m(s("#resultC111000"),156,105,6),s("#resultC111000").hide(),m(s("#resultC110100"),145,174,6),s("#resultC110100").hide(),m(s("#resultC110010"),163,100,6),s("#resultC110010").hide(),m(s("#resultC101100"),238,152,6),s("#resultC101100").hide(),m(s("#resultC101010"),148,128,6),s("#resultC101010").hide(),m(s("#resultC100110"),145,158,6),s("#resultC100110").hide(),m(s("#resultC011100"),226,178,6),s("#resultC011100").hide(),m(s("#resultC011010"),195,105,6),s("#resultC011010").hide(),m(s("#resultC010110"),218,198,6),s("#resultC010110").hide(),m(s("#resultC001110"),202,216,6),s("#resultC001110").hide(),m(s("#resultC110001"),160,213,6),s("#resultC110001").hide(),m(s("#resultC101001"),220,132,6),s("#resultC101001").hide(),m(s("#resultC100101"),139,182,6),s("#resultC100101").hide(),m(s("#resultC100011"),170,220,6),s("#resultC100011").hide(),m(s("#resultC011001"),212,122,6),s("#resultC011001").hide(),m(s("#resultC010101"),146,203,6),s("#resultC010101").hide(),m(s("#resultC010011"),164,220,6),s("#resultC010011").hide(),m(s("#resultC001101"),233,138,6),s("#resultC001101").hide(),m(s("#resultC001011"),185,218,6),s("#resultC001011").hide(),m(s("#resultC000111"),209,207,6),s("#resultC000111").hide()):5==t?(l(214,230,10,18.6,9.5,25,h(B.colors[0],s("#label1").css("opacity"))),l(232,187,10,18.6,9.5,98,h(B.colors[1],s("#label2").css("opacity"))),l(273,196,10,18.6,9.5,170,h(B.colors[2],s("#label3").css("opacity"))),l(282,238,10,18.6,9.5,62,h(B.colors[3],s("#label4").css("opacity"))),l(242,260,10,18.6,9.5,134,h(B.colors[4],s("#label5").css("opacity"))),s("#label1").css("left",0).css("top",100).css("color",B.colors[0]),s("#label2").css("left",310).css("top",15).css("color",B.colors[1]),s("#label3").css("left",450).css("top",120).css("color",B.colors[2]),s("#label4").css("left",387).css("top",400).css("color",B.colors[3]),s("#label5").css("left",40).css("top",400).css("color",B.colors[4]),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),75,150,6),m(s("#resultC010000"),245,30,6),m(s("#resultC001000"),415,162,6),m(s("#resultC000100"),350,370,6),m(s("#resultC000010"),132,370,6),m(s("#resultC110000"),152,118,2),m(s("#resultC101000"),110,200,6),m(s("#resultC100100"),350,295,6),m(s("#resultC100010"),125,273,2),m(s("#resultC011000"),309,94,3),m(s("#resultC010100"),215,82,6),m(s("#resultC010010"),195,340,6),m(s("#resultC001100"),378,232,2),m(s("#resultC001010"),360,140,5),m(s("#resultC000110"),261,347,2),m(s("#resultC111000"),148,180,4),m(s("#resultC110100"),168,113,2),m(s("#resultC110010"),176,295,6),m(s("#resultC101100"),367,248,2),m(s("#resultC101010"),127,256,2),m(s("#resultC100110"),305,300,4),m(s("#resultC011100"),240,110,6),m(s("#resultC011010"),317,108,2),m(s("#resultC010110"),248,338,2),m(s("#resultC001110"),345,180,4),m(s("#resultC111100"),185,140,6),m(s("#resultC111010"),158,245,6),m(s("#resultC110110"),250,310,6),m(s("#resultC101110"),330,240,6),m(s("#resultC011110"),290,133,6),m(s("#resultC111110"),245,210,6),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200)):4==t?(l(181,238,10,18.5,11.5,40,h(B.colors[0],s("#label1").css("opacity"))),l(242,177,10,18.5,11.5,40,h(B.colors[1],s("#label2").css("opacity"))),l(259,177,10,18.5,11.5,140,h(B.colors[2],s("#label3").css("opacity"))),l(320,238,10,18.5,11.5,140,h(B.colors[3],s("#label4").css("opacity"))),s("#label1").css("left",5).css("top",70).css("color",B.colors[0]),s("#label2").css("left",85).css("top",5).css("color",B.colors[1]),s("#label3").css("left",350).css("top",5).css("color",B.colors[2]),s("#label4").css("left",428).css("top",70).css("color",B.colors[3]),s("#label5").css("left",-1e3).css("top",-2200),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),55,190,6),m(s("#resultC010000"),140,60,6),m(s("#resultC001000"),335,60,6),m(s("#resultC000100"),430,190,6),m(s("#resultC110000"),105,120,6),m(s("#resultC101000"),130,260,6),m(s("#resultC100100"),245,340,6),m(s("#resultC011000"),245,90,6),m(s("#resultC010100"),365,260,6),m(s("#resultC001100"),385,120,6),m(s("#resultC111000"),160,170,6),m(s("#resultC110100"),310,290,6),m(s("#resultC101100"),180,290,6),m(s("#resultC011100"),330,170,6),m(s("#resultC111100"),245,220,6),s("#resultC000010").css("left",-1e3).css("top",-2200),s("#resultC100010").css("left",-1e3).css("top",-2200),s("#resultC010010").css("left",-1e3).css("top",-2200),s("#resultC001010").css("left",-1e3).css("top",-2200),s("#resultC000110").css("left",-1e3).css("top",-2200),s("#resultC110010").css("left",-1e3).css("top",-2200),s("#resultC101010").css("left",-1e3).css("top",-2200),s("#resultC100110").css("left",-1e3).css("top",-2200),s("#resultC011010").css("left",-1e3).css("top",-2200),s("#resultC010110").css("left",-1e3).css("top",-2200),s("#resultC001110").css("left",-1e3).css("top",-2200),s("#resultC111010").css("left",-1e3).css("top",-2200),s("#resultC110110").css("left",-1e3).css("top",-2200),s("#resultC101110").css("left",-1e3).css("top",-2200),s("#resultC011110").css("left",-1e3).css("top",-2200),s("#resultC111110").css("left",-1e3).css("top",-2200),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200)):3==t?(l(171,142,120,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),l(327,142,120,1,1,0,h(B.colors[1],s("#label2").css("opacity"))),l(249,271,120,1,1,0,h(B.colors[2],s("#label3").css("opacity"))),s("#label1").css("left",55).css("top",5).css("color",B.colors[0]),s("#label2").css("left",380).css("top",5).css("color",B.colors[1]),s("#label3").css("left",220).css("top",400).css("color",B.colors[2]),s("#label4").css("left",-1e3).css("top",-2200),s("#label5").css("left",-1e3).css("top",-2200),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),120,100,8),m(s("#resultC010000"),360,100,8),m(s("#resultC001000"),245,330,8),m(s("#resultC110000"),245,100,8),m(s("#resultC101000"),170,220,8),m(s("#resultC011000"),320,220,8),m(s("#resultC111000"),245,175,8),s("#resultC000100").css("left",-1e3).css("top",-2200),s("#resultC000010").css("left",-1e3).css("top",-2200),s("#resultC100100").css("left",-1e3).css("top",-2200),s("#resultC100010").css("left",-1e3).css("top",-2200),s("#resultC010100").css("left",-1e3).css("top",-2200),s("#resultC010010").css("left",-1e3).css("top",-2200),s("#resultC001100").css("left",-1e3).css("top",-2200),s("#resultC001010").css("left",-1e3).css("top",-2200),s("#resultC000110").css("left",-1e3).css("top",-2200),s("#resultC110100").css("left",-1e3).css("top",-2200),s("#resultC110010").css("left",-1e3).css("top",-2200),s("#resultC101100").css("left",-1e3).css("top",-2200),s("#resultC101010").css("left",-1e3).css("top",-2200),s("#resultC100110").css("left",-1e3).css("top",-2200),s("#resultC011100").css("left",-1e3).css("top",-2200),s("#resultC011010").css("left",-1e3).css("top",-2200),s("#resultC010110").css("left",-1e3).css("top",-2200),s("#resultC001110").css("left",-1e3).css("top",-2200),s("#resultC111100").css("left",-1e3).css("top",-2200),s("#resultC111010").css("left",-1e3).css("top",-2200),s("#resultC110110").css("left",-1e3).css("top",-2200),s("#resultC101110").css("left",-1e3).css("top",-2200),s("#resultC011110").css("left",-1e3).css("top",-2200),s("#resultC111110").css("left",-1e3).css("top",-2200),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200)):2==t?(l(171,206,140,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),l(327,206,140,1,1,0,h(B.colors[1],s("#label2").css("opacity"))),s("#label1").css("left",95).css("top",40).css("color",B.colors[0]),s("#label2").css("left",360).css("top",40).css("color",B.colors[1]),s("#label3").css("left",-1e3).css("top",-2200),s("#label4").css("left",-1e3).css("top",-2200),s("#label5").css("left",-1e3).css("top",-2200),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),120,195,10),m(s("#resultC010000"),360,195,10),m(s("#resultC110000"),250,195,10),s("#resultC001000").css("left",-1e3).css("top",-2200),s("#resultC000100").css("left",-1e3).css("top",-2200),s("#resultC000010").css("left",-1e3).css("top",-2200),s("#resultC101000").css("left",-1e3).css("top",-2200),s("#resultC100100").css("left",-1e3).css("top",-2200),s("#resultC100010").css("left",-1e3).css("top",-2200),s("#resultC011000").css("left",-1e3).css("top",-2200),s("#resultC010100").css("left",-1e3).css("top",-2200),s("#resultC010010").css("left",-1e3).css("top",-2200),s("#resultC001100").css("left",-1e3).css("top",-2200),s("#resultC001010").css("left",-1e3).css("top",-2200),s("#resultC000110").css("left",-1e3).css("top",-2200),s("#resultC111000").css("left",-1e3).css("top",-2200),s("#resultC110100").css("left",-1e3).css("top",-2200),s("#resultC110010").css("left",-1e3).css("top",-2200),s("#resultC101100").css("left",-1e3).css("top",-2200),s("#resultC101010").css("left",-1e3).css("top",-2200),s("#resultC100110").css("left",-1e3).css("top",-2200),s("#resultC011100").css("left",-1e3).css("top",-2200),s("#resultC011010").css("left",-1e3).css("top",-2200),s("#resultC010110").css("left",-1e3).css("top",-2200),s("#resultC001110").css("left",-1e3).css("top",-2200),s("#resultC111100").css("left",-1e3).css("top",-2200),s("#resultC111010").css("left",-1e3).css("top",-2200),s("#resultC110110").css("left",-1e3).css("top",-2200),s("#resultC101110").css("left",-1e3).css("top",-2200),s("#resultC011110").css("left",-1e3).css("top",-2200),s("#resultC111110").css("left",-1e3).css("top",-2200),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200)):(l(246,210,140,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),s("#label1").css("left",225).css("top",30).css("color",B.colors[0]),s("#label2").css("left",-1e3).css("top",-2200),s("#label3").css("left",-1e3).css("top",-2200),s("#label4").css("left",-1e3).css("top",-2200),s("#label5").css("left",-1e3).css("top",-2200),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),245,200,10),s("#resultC010000").css("left",-1e3).css("top",-2200),s("#resultC001000").css("left",-1e3).css("top",-2200),s("#resultC000100").css("left",-1e3).css("top",-2200),s("#resultC000010").css("left",-1e3).css("top",-2200),s("#resultC110000").css("left",-1e3).css("top",-2200),s("#resultC101000").css("left",-1e3).css("top",-2200),s("#resultC100100").css("left",-1e3).css("top",-2200),s("#resultC100010").css("left",-1e3).css("top",-2200),s("#resultC011000").css("left",-1e3).css("top",-2200),s("#resultC010100").css("left",-1e3).css("top",-2200),s("#resultC010010").css("left",-1e3).css("top",-2200),s("#resultC001100").css("left",-1e3).css("top",-2200),s("#resultC001010").css("left",-1e3).css("top",-2200),s("#resultC000110").css("left",-1e3).css("top",-2200),s("#resultC111000").css("left",-1e3).css("top",-2200),s("#resultC110100").css("left",-1e3).css("top",-2200),s("#resultC110010").css("left",-1e3).css("top",-2200),s("#resultC101100").css("left",-1e3).css("top",-2200),s("#resultC101010").css("left",-1e3).css("top",-2200),s("#resultC100110").css("left",-1e3).css("top",-2200),s("#resultC011100").css("left",-1e3).css("top",-2200),s("#resultC011010").css("left",-1e3).css("top",-2200),s("#resultC010110").css("left",-1e3).css("top",-2200),s("#resultC001110").css("left",-1e3).css("top",-2200),s("#resultC111100").css("left",-1e3).css("top",-2200),s("#resultC111010").css("left",-1e3).css("top",-2200),s("#resultC110110").css("left",-1e3).css("top",-2200),s("#resultC101110").css("left",-1e3).css("top",-2200),s("#resultC011110").css("left",-1e3).css("top",-2200),s("#resultC111110").css("left",-1e3).css("top",-2200),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200))}function y(t){6==t?(c(246,206,90,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),n(245,25,250,365,h(B.colors[1],s("#label2").css("opacity"))),n(5,205,490,185,h(B.colors[2],s("#label3").css("opacity"))),a(h(B.colors[3],s("#label4").css("opacity"))),u(h(B.colors[4],s("#label5").css("opacity"))),p(h(B.colors[5],s("#label6").css("opacity"))),s("#label1").css("left",297).css("top",90).css("color",B.colors[0]),s("#label2").css("left",267).css("top",0).css("color",B.colors[1]),s("#label3").css("left",27).css("top",400).css("color",B.colors[2]),s("#label4").css("left",55).css("top",90).css("color",B.colors[3]),s("#label5").css("left",282).css("top",45).css("color",B.colors[4]),s("#label6").css("left",297).css("top",302).css("color",B.colors[5]),m(s("#resultC100000"),204,122,1),m(s("#resultC010000"),390,70,6),m(s("#resultC001000"),85,330,6),m(s("#resultC000100"),85,150,6),m(s("#resultC000010"),225,70,3),m(s("#resultC110000"),280,122,1),m(s("#resultC101000"),204,269,1),m(s("#resultC100100"),172,155,1),m(s("#resultC100010"),218,118,1),m(s("#resultC011000"),390,330,6),m(s("#resultC010100"),390,150,6),m(s("#resultC010010"),258,70,3),m(s("#resultC001100"),85,240,6),m(s("#resultC001010"),225,320,3),m(s("#resultC000110"),120,178,2),m(s("#resultC111000"),280,269,1),m(s("#resultC110100"),314,155,1),m(s("#resultC110010"),266,118,1),m(s("#resultC101100"),172,235,1),m(s("#resultC101010"),219,274,1),m(s("#resultC100110"),167,171,1),m(s("#resultC011100"),390,240,6),m(s("#resultC011010"),258,320,3),m(s("#resultC010110"),365,178,2),m(s("#resultC001110"),120,212,2),m(s("#resultC111100"),315,235,1),m(s("#resultC111010"),266,274,1),m(s("#resultC110110"),320,171,1),m(s("#resultC101110"),166,218,1),m(s("#resultC011110"),365,212,2),m(s("#resultC111110"),320,218,1),m(s("#resultC000001"),180,120,1),m(s("#resultC100001"),199,134,1),m(s("#resultC010001"),304,120,1),m(s("#resultC001001"),179,271,1),m(s("#resultC000101"),169,132,1),m(s("#resultC000011"),234,95,1),m(s("#resultC110001"),286,134,1),m(s("#resultC101001"),199,256,1),m(s("#resultC100101"),190,149,1),m(s("#resultC100011"),228,135,3),m(s("#resultC011001"),306,272,1),m(s("#resultC010101"),317,132,1),m(s("#resultC010011"),250,95,1),m(s("#resultC001101"),167,260,1),m(s("#resultC001011"),233,296,1),m(s("#resultC000111"),143,187,1),m(s("#resultC111001"),285,256,1),m(s("#resultC110101"),295,149,1),m(s("#resultC110011"),255,135,3),m(s("#resultC101101"),190,242,1),m(s("#resultC101011"),227,255,3),m(s("#resultC100111"),213,178,6),m(s("#resultC011101"),318,259,1),m(s("#resultC011011"),250,296,1),m(s("#resultC010111"),342,187,1),m(s("#resultC001111"),143,203,1),m(s("#resultC111101"),295,240,1),m(s("#resultC111011"),256,255,3),m(s("#resultC110111"),270,178,6),m(s("#resultC101111"),213,212,6),m(s("#resultC011111"),342,203,1),m(s("#resultC111111"),270,212,6)):5==t?(c(246,206,90,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),n(245,25,250,365,h(B.colors[1],s("#label2").css("opacity"))),n(5,205,490,185,h(B.colors[2],s("#label3").css("opacity"))),a(h(B.colors[3],s("#label4").css("opacity"))),u(h(B.colors[4],s("#label5").css("opacity"))),s("#label1").css("left",297).css("top",90).css("color",B.colors[0]),s("#label2").css("left",267).css("top",0).css("color",B.colors[1]),s("#label3").css("left",27).css("top",400).css("color",B.colors[2]),s("#label4").css("left",55).css("top",90).css("color",B.colors[3]),s("#label5").css("left",282).css("top",45).css("color",B.colors[4]),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),200,130,3),m(s("#resultC010000"),390,70,6),m(s("#resultC001000"),85,330,6),m(s("#resultC000100"),85,150,6),m(s("#resultC000010"),225,80,4),m(s("#resultC110000"),284,130,3),m(s("#resultC101000"),200,260,3),m(s("#resultC100100"),185,150,4),m(s("#resultC100010"),228,130,3),m(s("#resultC011000"),390,330,6),m(s("#resultC010100"),390,150,6),m(s("#resultC010010"),258,80,4),m(s("#resultC001100"),85,240,6),m(s("#resultC001010"),225,310,4),m(s("#resultC000110"),133,178,6),m(s("#resultC111000"),284,260,3),m(s("#resultC110100"),300,150,4),m(s("#resultC110010"),255,130,3),m(s("#resultC101100"),185,240,4),m(s("#resultC101010"),228,260,3),m(s("#resultC100110"),213,178,6),m(s("#resultC011100"),390,240,6),m(s("#resultC011010"),258,310,4),m(s("#resultC010110"),355,178,6),m(s("#resultC001110"),133,212,6),m(s("#resultC111100"),300,240,4),m(s("#resultC111010"),256,260,3),m(s("#resultC110110"),270,178,6),m(s("#resultC101110"),213,212,6),m(s("#resultC011110"),355,212,6),m(s("#resultC111110"),270,212,6),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200)):4==t?(c(246,206,90,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),n(245,25,250,365,h(B.colors[1],s("#label2").css("opacity"))),n(5,205,490,185,h(B.colors[2],s("#label3").css("opacity"))),a(h(B.colors[3],s("#label4").css("opacity"))),s("#label1").css("left",267).css("top",90).css("color",B.colors[0]),s("#label2").css("left",267).css("top",0).css("color",B.colors[1]),s("#label3").css("left",27).css("top",400).css("color",B.colors[2]),s("#label4").css("left",27).css("top",90).css("color",B.colors[3]),s("#label5").css("left",-1e3).css("top",-2200),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),215,130,6),m(s("#resultC010000"),390,70,6),m(s("#resultC001000"),85,330,6),m(s("#resultC000100"),85,150,6),m(s("#resultC110000"),265,130,6),m(s("#resultC101000"),215,260,6),m(s("#resultC100100"),200,170,6),m(s("#resultC011000"),390,330,6),m(s("#resultC010100"),390,150,6),m(s("#resultC001100"),85,240,6),m(s("#resultC111000"),265,260,6),m(s("#resultC110100"),280,170,6),m(s("#resultC101100"),200,220,6),m(s("#resultC011100"),390,240,6),m(s("#resultC111100"),280,220,6),s("#resultC000010").css("left",-1e3).css("top",-2200),s("#resultC100010").css("left",-1e3).css("top",-2200),s("#resultC010010").css("left",-1e3).css("top",-2200),s("#resultC001010").css("left",-1e3).css("top",-2200),s("#resultC000110").css("left",-1e3).css("top",-2200),s("#resultC110010").css("left",-1e3).css("top",-2200),s("#resultC101010").css("left",-1e3).css("top",-2200),s("#resultC100110").css("left",-1e3).css("top",-2200),s("#resultC011010").css("left",-1e3).css("top",-2200),s("#resultC010110").css("left",-1e3).css("top",-2200),s("#resultC001110").css("left",-1e3).css("top",-2200),s("#resultC111010").css("left",-1e3).css("top",-2200),s("#resultC110110").css("left",-1e3).css("top",-2200),s("#resultC101110").css("left",-1e3).css("top",-2200),s("#resultC011110").css("left",-1e3).css("top",-2200),s("#resultC111110").css("left",-1e3).css("top",-2200),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200)):3==t?(c(246,206,110,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),n(245,25,250,365,h(B.colors[1],s("#label2").css("opacity"))),n(5,205,490,185,h(B.colors[2],s("#label3").css("opacity"))),s("#label1").css("left",95).css("top",75).css("color",B.colors[0]),s("#label2").css("left",267).css("top",0).css("color",B.colors[1]),s("#label3").css("left",27).css("top",400).css("color",B.colors[2]),s("#label4").css("left",-1e3).css("top",-2200),s("#label5").css("left",-1e3).css("top",-2200),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),190,150,8),m(s("#resultC010000"),390,70,8),m(s("#resultC001000"),85,330,8),m(s("#resultC110000"),290,150,8),m(s("#resultC101000"),190,240,8),m(s("#resultC011000"),390,330,8),m(s("#resultC111000"),290,240,8),s("#resultC000100").css("left",-1e3).css("top",-2200),s("#resultC000010").css("left",-1e3).css("top",-2200),s("#resultC100100").css("left",-1e3).css("top",-2200),s("#resultC100010").css("left",-1e3).css("top",-2200),s("#resultC010100").css("left",-1e3).css("top",-2200),s("#resultC010010").css("left",-1e3).css("top",-2200),s("#resultC001100").css("left",-1e3).css("top",-2200),s("#resultC001010").css("left",-1e3).css("top",-2200),s("#resultC000110").css("left",-1e3).css("top",-2200),s("#resultC110100").css("left",-1e3).css("top",-2200),s("#resultC110010").css("left",-1e3).css("top",-2200),s("#resultC101100").css("left",-1e3).css("top",-2200),s("#resultC101010").css("left",-1e3).css("top",-2200),s("#resultC100110").css("left",-1e3).css("top",-2200),s("#resultC011100").css("left",-1e3).css("top",-2200),s("#resultC011010").css("left",-1e3).css("top",-2200),s("#resultC010110").css("left",-1e3).css("top",-2200),s("#resultC001110").css("left",-1e3).css("top",-2200),s("#resultC111100").css("left",-1e3).css("top",-2200),s("#resultC111010").css("left",-1e3).css("top",-2200),s("#resultC110110").css("left",-1e3).css("top",-2200),s("#resultC101110").css("left",-1e3).css("top",-2200),s("#resultC011110").css("left",-1e3).css("top",-2200),s("#resultC111110").css("left",-1e3).css("top",-2200),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200)):2==t?(c(246,206,110,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),n(245,25,250,365,h(B.colors[1],s("#label2").css("opacity"))),s("#label1").css("left",95).css("top",75).css("color",B.colors[0]),s("#label2").css("left",267).css("top",0).css("color",B.colors[1]),s("#label3").css("left",-1e3).css("top",-2200),s("#label4").css("left",-1e3).css("top",-2200),s("#label5").css("left",-1e3).css("top",-2200),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),180,195,10),m(s("#resultC010000"),420,195,10),m(s("#resultC110000"),290,195,10),s("#resultC001000").css("left",-1e3).css("top",-2200),s("#resultC000100").css("left",-1e3).css("top",-2200),s("#resultC000010").css("left",-1e3).css("top",-2200),s("#resultC101000").css("left",-1e3).css("top",-2200),s("#resultC100100").css("left",-1e3).css("top",-2200),s("#resultC100010").css("left",-1e3).css("top",-2200),s("#resultC011000").css("left",-1e3).css("top",-2200),s("#resultC010100").css("left",-1e3).css("top",-2200),s("#resultC010010").css("left",-1e3).css("top",-2200),s("#resultC001100").css("left",-1e3).css("top",-2200),s("#resultC001010").css("left",-1e3).css("top",-2200),s("#resultC000110").css("left",-1e3).css("top",-2200),s("#resultC111000").css("left",-1e3).css("top",-2200),s("#resultC110100").css("left",-1e3).css("top",-2200),s("#resultC110010").css("left",-1e3).css("top",-2200),s("#resultC101100").css("left",-1e3).css("top",-2200),s("#resultC101010").css("left",-1e3).css("top",-2200),s("#resultC100110").css("left",-1e3).css("top",-2200),s("#resultC011100").css("left",-1e3).css("top",-2200),s("#resultC011010").css("left",-1e3).css("top",-2200),s("#resultC010110").css("left",-1e3).css("top",-2200),s("#resultC001110").css("left",-1e3).css("top",-2200),s("#resultC111100").css("left",-1e3).css("top",-2200),s("#resultC111010").css("left",-1e3).css("top",-2200),s("#resultC110110").css("left",-1e3).css("top",-2200),s("#resultC101110").css("left",-1e3).css("top",-2200),s("#resultC011110").css("left",-1e3).css("top",-2200),s("#resultC111110").css("left",-1e3).css("top",-2200),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200)):(c(246,210,140,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),s("#label1").css("left",225).css("top",30).css("color",B.colors[0]),s("#label2").css("left",-1e3).css("top",-2200),s("#label3").css("left",-1e3).css("top",-2200),s("#label4").css("left",-1e3).css("top",-2200),s("#label5").css("left",-1e3).css("top",-2200),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),245,200,10),s("#resultC010000").css("left",-1e3).css("top",-2200),s("#resultC001000").css("left",-1e3).css("top",-2200),s("#resultC000100").css("left",-1e3).css("top",-2200),s("#resultC000010").css("left",-1e3).css("top",-2200),s("#resultC110000").css("left",-1e3).css("top",-2200),s("#resultC101000").css("left",-1e3).css("top",-2200),s("#resultC100100").css("left",-1e3).css("top",-2200),s("#resultC100010").css("left",-1e3).css("top",-2200),s("#resultC011000").css("left",-1e3).css("top",-2200),s("#resultC010100").css("left",-1e3).css("top",-2200),s("#resultC010010").css("left",-1e3).css("top",-2200),s("#resultC001100").css("left",-1e3).css("top",-2200),s("#resultC001010").css("left",-1e3).css("top",-2200),s("#resultC000110").css("left",-1e3).css("top",-2200),s("#resultC111000").css("left",-1e3).css("top",-2200),s("#resultC110100").css("left",-1e3).css("top",-2200),s("#resultC110010").css("left",-1e3).css("top",-2200),s("#resultC101100").css("left",-1e3).css("top",-2200),s("#resultC101010").css("left",-1e3).css("top",-2200),s("#resultC100110").css("left",-1e3).css("top",-2200),s("#resultC011100").css("left",-1e3).css("top",-2200),s("#resultC011010").css("left",-1e3).css("top",-2200),s("#resultC010110").css("left",-1e3).css("top",-2200),s("#resultC001110").css("left",-1e3).css("top",-2200),s("#resultC111100").css("left",-1e3).css("top",-2200),s("#resultC111010").css("left",-1e3).css("top",-2200),s("#resultC110110").css("left",-1e3).css("top",-2200),s("#resultC101110").css("left",-1e3).css("top",-2200),s("#resultC011110").css("left",-1e3).css("top",-2200),s("#resultC111110").css("left",-1e3).css("top",-2200),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200))
+			}function _(t,e){$t=t;var l=1,r="",o='<div class="module-legend">';s("*[id^=label]").each(function(){o+='<div id="item-'+l+'" name="'+s(this).text()+'" class="leg-items" style="opacity:0.5; background-color:'+s(this).css("color")+r+'">',o+='<span style="background-color:white; margin-left:0px; padding:0px 2px 0px 2px; transition: margin-left .3s ease-in-out;">off</span></div>',l+=1,l>e&&(r=";display:none")}),o+="</div>",$t.append(o),s("*[id^=item]").hover(function(){s(this).css("opacity",.75),s(this).css("box-shadow","0px 0px 8px 1px lightgrey")},function(){"off"===s(this).children("span").text()&&s(this).css("opacity",.5),s(this).css("box-shadow","none")}),s("*[id^=item]").click(function(){var t=null;t="off"===s(this).children("span").text()?M(s(this).attr("name")):I(s(this).attr("name")),null!=B.searchInput&&(B.searchInput.val(""),null!=B.searchStatus&&B.searchStatus.text("")),b(),"edwards"==B.displayMode?y(e):x(e),B.displayStat&&v(e),"resultC000000"!=t&&s("#"+t).show()})}function w(){var e=new Array,l=new Array;for(l[0]=new Array,l[1]=new Array,l[2]=new Array,l[3]=new Array,l[4]=new Array,l[5]=new Array,c=0;c<B.series.length;c++){l[c]=new Array;var r=B.series[c].data;for(t=0;t<r.length;t++)r[t].length>0&&(l[c][r[t]]?l[c][r[t]]++:l[c][r[t]]=1,e[r[t]]="C")}for(t=0;6>t;t++){for(tt in l[t])e[tt]&&(e[tt]=e[tt]+"1");for(cl in e)e[cl].length<t+2&&(e[cl]=e[cl]+"0")}for(cl in e){var o=parseInt(s("#result"+e[cl]).html());if(B.useValues)for(var c=0;c<B.series.length;c++){var i=B.series[c].data.indexOf(cl);-1!=i&&(o+=parseInt(B.series[c].values[i]))}else o+=1;s("#result"+e[cl]).html(o),s("#result"+e[cl]).removeClass("number-empty")}6==B.series.length?(s("#label1").html(B.series[0].name),s("#label2").html(B.series[1].name),s("#label3").html(B.series[2].name),s("#label4").html(B.series[3].name),s("#label5").html(B.series[4].name),s("#label6").html(B.series[5].name)):5==B.series.length?(s("#label1").html(B.series[0].name),s("#label2").html(B.series[1].name),s("#label3").html(B.series[2].name),s("#label4").html(B.series[3].name),s("#label5").html(B.series[4].name)):4==B.series.length?(s("#label1").html(B.series[0].name),s("#label2").html(B.series[1].name),s("#label3").html(B.series[2].name),s("#label4").html(B.series[3].name)):3==B.series.length?(s("#label1").html(B.series[0].name),s("#label2").html(B.series[1].name),s("#label3").html(B.series[2].name)):2==B.series.length?(s("#label1").html(B.series[0].name),s("#label2").html(B.series[1].name)):1==B.series.length&&s("#label1").html(B.series[0].name),B.disableClick||(s("*[id^=resultC]").mouseover(function(){s(this).addClass("number-over")}),s("*[id^=resultC]").mouseout(function(){s(this).removeClass("number-over")}),s("*[id^=resultC]").click(B.fnClickCallback)),s("*[id^=resultC]").each(function(){this.listnames=new Array;for(var t=6;t<s(this).attr("id").length;t++)if("1"==s(this).attr("id").substring(t+1,t+2))try{this.listnames.push(B.series[t-6].name)}catch(l){}this.empty=!0,this.list=new Array;var r=s(this).attr("id").substring(6,13);for(cl in e)e[cl]==r&&(this.list.push(cl),this.empty=!1)})}function k(){var t=new Array(0,0,0,0,0,0);return s("*[id^=resultC]").each(function(){for(var e=0,l=6;l<s(this).attr("id").length;l++)e+="1"==s(this).attr("id").substring(l+1,l+2);var r=s(this).text();"?"==r&&(r=s(this).children("span").attr("title")),t[e-1]+=parseInt(r)}),t}function A(){var t=new Array(0,0,0,0,0,0);return s("*[id^=resultC]").each(function(){for(var e=6;e<s(this).attr("id").length;e++)if("1"==s(this).attr("id").substring(e+1,e+2)){var l=s(this).text();"?"==l&&(l=s(this).children("span").attr("title")),t[e-6]+=parseInt(l)}}),t}function T(t){t.A&&s("#resultC100000").html(t.A),t.B&&s("#resultC010000").html(t.B),t.C&&s("#resultC001000").html(t.C),t.D&&s("#resultC000100").html(t.D),t.E&&s("#resultC000010").html(t.E),t.F&&s("#resultC000001").html(t.F),t.AB&&s("#resultC110000").html(t.AB),t.AC&&s("#resultC101000").html(t.AC),t.AD&&s("#resultC100100").html(t.AD),t.AE&&s("#resultC100010").html(t.AE),t.AF&&s("#resultC100001").html(t.AF),t.BC&&s("#resultC011000").html(t.BC),t.BD&&s("#resultC010100").html(t.BD),t.BE&&s("#resultC010010").html(t.BE),t.BF&&s("#resultC010001").html(t.BF),t.CD&&s("#resultC001100").html(t.CD),t.CE&&s("#resultC001010").html(t.CE),t.CF&&s("#resultC001001").html(t.CF),t.DE&&s("#resultC000110").html(t.DE),t.DF&&s("#resultC000101").html(t.DF),t.EF&&s("#resultC000011").html(t.EF),t.ABC&&s("#resultC111000").html(t.ABC),t.ABD&&s("#resultC110100").html(t.ABD),t.ABE&&s("#resultC110010").html(t.ABE),t.ABF&&s("#resultC110001").html(t.ABF),t.ACD&&s("#resultC101100").html(t.ACD),t.ACE&&s("#resultC101010").html(t.ACE),t.ACF&&s("#resultC101001").html(t.ACF),t.ADE&&s("#resultC100110").html(t.ADE),t.ADF&&s("#resultC100101").html(t.ADF),t.AEF&&s("#resultC100011").html(t.AEF),t.BCD&&s("#resultC011100").html(t.BCD),t.BCE&&s("#resultC011010").html(t.BCE),t.BCF&&s("#resultC011001").html(t.BCF),t.BDE&&s("#resultC010110").html(t.BDE),t.BDF&&s("#resultC010101").html(t.BDF),t.BEF&&s("#resultC010011").html(t.BEF),t.CDE&&s("#resultC001110").html(t.CDE),t.CDF&&s("#resultC001101").html(t.CDF),t.CEF&&s("#resultC001011").html(t.CEF),t.DEF&&s("#resultC000111").html(t.DEF),t.ABCD&&s("#resultC111100").html(t.ABCD),t.ABCE&&s("#resultC111010").html(t.ABCE),t.ABCF&&s("#resultC111001").html(t.ABCF),t.ABDE&&s("#resultC110110").html(t.ABDE),t.ABDF&&s("#resultC110101").html(t.ABDF),t.ACDE&&s("#resultC101110").html(t.ACDE),t.ACDF&&s("#resultC101101").html(t.ACDF),t.BCDE&&s("#resultC011110").html(t.BCDE),t.BCDF&&s("#resultC011101").html(t.BCDF),t.CDEF&&s("#resultC001111").html(t.CDEF),t.BDEF&&s("#resultC010111").html(t.BDEF),t.BCEF&&s("#resultC011011").html(t.BCEF),t.ADEF&&s("#resultC100111").html(t.ADEF),t.ACEF&&s("#resultC101011").html(t.ACEF),t.ABEF&&s("#resultC110011").html(t.ABEF),t.ABCDE&&s("#resultC111110").html(t.ABCDE),t.ABCDF&&s("#resultC111101").html(t.ABCDF),t.ABCEF&&s("#resultC111011").html(t.ABCEF),t.ABDEF&&s("#resultC110111").html(t.ABDEF),t.ACDEF&&s("#resultC101111").html(t.ACDEF),t.BCDEF&&s("#resultC011111").html(t.BCDEF),t.ABCDEF&&s("#resultC111111").html(t.ABCDEF)}function E(){if(B.series[0].name.A&&s("#label1").html(B.series[0].name.A),B.series[0].name.B&&s("#label2").html(B.series[0].name.B),B.series[0].name.C&&s("#label3").html(B.series[0].name.C),B.series[0].name.D&&s("#label4").html(B.series[0].name.D),B.series[0].name.E&&s("#label5").html(B.series[0].name.E),B.series[0].name.F&&s("#label6").html(B.series[0].name.F),B.series[0].hasOwnProperty("values")&&B.series[0].hasOwnProperty("data"))T(B.series[0].values);else if(B.series[0].hasOwnProperty("data")){var t={};for(var e in B.series[0].data)t[e]=B.series[0].data[e].length;T(t)}else B.series[0].hasOwnProperty("values")&&T(B.series[0].values);s("*[id^=resultC]").each(function(){this.listnames=new Array;for(var t=6;t<s(this).attr("id").length;t++)if("1"==s(this).attr("id").substring(t+1,t+2))try{t-6==0?this.listnames.push(B.series[0].name.A):t-6==1?this.listnames.push(B.series[0].name.B):t-6==2?this.listnames.push(B.series[0].name.C):t-6==3?this.listnames.push(B.series[0].name.D):t-6==4?this.listnames.push(B.series[0].name.E):t-6==5&&this.listnames.push(B.series[0].name.F)}catch(e){}if(B.series[0].hasOwnProperty("data")){for(var l="",t=6;t<s(this).attr("id").length;t++)"1"==s(this).attr("id").substring(t+1,t+2)&&(6==t?l+="A":7==t?l+="B":8==t?l+="C":9==t?l+="D":10==t?l+="E":11==t&&(l+="F"));this.list=B.series[0].data[l],B.disableClick||(s(this).mouseover(function(){s(this).addClass("number-over")}),s(this).mouseout(function(){s(this).removeClass("number-over")}),s(this).click(B.fnClickCallback))}s(this).text()>0&&s(this).removeClass("number-empty")})}function z(){if(B.series.length>1)return new Array("list",B.series.length);if(void 0!=B.series[0]&&B.series[0].name.A){var s=0;for(i in B.series[0].name)s++;return new Array("count",s)}return new Array("list",B.series.length)}function P(s,t,e,l,r,o,c,i,a){return a?(t=parseInt(t.replace("px",""))+20,e=parseInt(e.replace("px",""))+14):(t=parseInt(t.replace("px",""))+5,e=parseInt(e.replace("px",""))+14),'<text fill="'+l+'" fill-opacity="'+r+'" stroke="none" font-family="'+o+'" font-size="'+c+'"pt font-style="normal" font-weight="'+i+'" text-decoration="none" x="'+t+'"pt y="'+e+'"pt text-anchor="middle" dominant-baseline="alphabetic">'+s+"</text>"}function S(t,e,l){$t=t;var r='<div id="module-export" style="position: relative; left:475px; top: -'+(418+e)+'px; width: 25px; height: 20px;">';r+='<a id="data-export" href="" download="" style="display:none;"></a>',r+='<canvas id="canvasExport" style="border:1px solid white" width="25" height="20"></canvas>',r+='<div id="export-menu" style="position: relative;width:150px; height:30px; display:none; right:123px; top:-4px;">',r+='<div style="box-shadow: 3px 3px 10px rgb(136, 136, 136); border: 1px solid rgb(160, 160, 160); background: none repeat scroll 0% 0% rgb(255, 255, 255);padding: 5px 0px;">',r+='<div id="format-png" style="padding: 0px 10px; background: none repeat scroll 0% 0% transparent; color: rgb(48, 48, 48); font-size: 12px;">Download PNG image</div>',r+='<div id="format-svg" style="padding: 0px 10px; background: none repeat scroll 0% 0% transparent; color: rgb(48, 48, 48); font-size: 12px;">Download SVG image</div>',"list"==l&&(r+='<div id="format-csv" style="padding: 0px 10px; background: none repeat scroll 0% 0% transparent; color: rgb(48, 48, 48); font-size: 12px;">Download CSV lists</div>'),r+="</div>",r+="</div>",r+="</div>",$t.append(r);var o=s("#canvasExport")[0],c=o.getContext("2d");for(i=0;3>i;i++)c.lineWidth=3,c.beginPath(),c.lineCap="round",c.moveTo(5,5+5.2*i),c.lineTo(20,5+5.2*i),c.strokeStyle="#666",c.stroke();var a=s("#export-menu"),u=s("#canvasExport").css("background");s("#format-png").click(function(){s("#canvasExport").css("background",u),s("#canvasExport").css("border-color","white"),s("#canvasExport").hover(function(){s(this).css("background","linear-gradient(to bottom, white, #AECEFF) repeat scroll 0 0 transparent"),s(this).css("border","1px solid #6688AA"),s(this).css("border-radius","3px")},function(){s(this).css("background",u),s(this).css("border-color","white")}),a.hide();var t=document.createElement("canvas");export_ctx=t.getContext("2d"),t.width=O,t.height=N;var e=document.createElement("img"),l=s("<div></div>");l.append(j.getSerializedSvg(!0)),s("[id^=resultC]").each(function(){"none"!=s(this).css("display")&&(value=0===s(this).html().indexOf("<span")?"?":s(this).html(),l.children("svg").children("g").append(P(value,s(this).css("left"),s(this).css("top"),s(this).css("color"),s(this).css("opacity"),s(this).css("font-family"),s(this).css("font-size"),s(this).css("font-weight"),!1)))}),s("[id^=label]").each(function(){l.children("svg").children("g").append(P(s(this).html(),s(this).css("left"),s(this).css("top"),s(this).css("color"),s(this).css("opacity"),s(this).css("font-family"),s(this).css("font-size"),s(this).css("font-weight"),!0))}),e.setAttribute("src","data:image/svg+xml;base64,"+window.btoa(l.html())),e.setAttribute("height","700px"),e.setAttribute("width","500px"),e.onload=function(){export_ctx.drawImage(e,0,0);var l=t.toDataURL("image/png");s("#data-export").attr("href",l),s("#data-export").attr("download","jVenn_chart.png"),s("#data-export")[0].click()}}),s("#format-svg").click(function(){s("#canvasExport").css("background",u),s("#canvasExport").css("border-color","white"),s("#canvasExport").hover(function(){s(this).css("background","linear-gradient(to bottom, white, #AECEFF) repeat scroll 0 0 transparent"),s(this).css("border","1px solid #6688AA"),s(this).css("border-radius","3px")},function(){s(this).css("background",u),s(this).css("border-color","white")}),a.hide();var t=s("<div></div>");t.append(j.getSerializedSvg(!0)),s("[id^=resultC]").each(function(){"none"!=s(this).css("display")&&(value=0===s(this).html().indexOf("<span")?"?":s(this).html(),t.children("svg").children("g").append(P(value,s(this).css("left"),s(this).css("top"),s(this).css("color"),s(this).css("opacity"),s(this).css("font-family"),s(this).css("font-size"),s(this).css("font-weight"),!1)))}),s("[id^=label]").each(function(){t.children("svg").children("g").append(P(s(this).html(),s(this).css("left"),s(this).css("top"),s(this).css("color"),s(this).css("opacity"),s(this).css("font-family"),s(this).css("font-size"),s(this).css("font-weight"),!0))});var e="data:image/svg+xml;base64,"+window.btoa(t.html()),l=encodeURI(e);s("#data-export").attr("href",l),s("#data-export").attr("download","jVenn_chart.svg"),s("#data-export")[0].click()}),s("#format-csv").click(function(){s("#canvasExport").css("background",u),s("#canvasExport").css("border-color","white"),s("#canvasExport").hover(function(){s(this).css("background","linear-gradient(to bottom, white, #AECEFF) repeat scroll 0 0 transparent"),s(this).css("border","1px solid #6688AA"),s(this).css("border-radius","3px")},function(){s(this).css("background",u),s(this).css("border-color","white")}),a.hide();var t=new Array,e=!1;s("*[id^=resultC]").each(function(){if(!this.empty){var s=new Array,l=this.listnames.join("|");l.indexOf(",")>=0&&(e=!0,l=l.replace(/,/g,"_")),s.push(l);for(var r=0;r<this.list.length;r++)l=this.list[r],this.list[r].indexOf(",")>=0&&(e=!0,l=this.list[r].replace(/,/g,"_")),s.push(l);t.push(s)}});var l="data:text/csv;charset=utf-8,";e&&(l+="##\n## Warning: comma(s) have been replaced by underscore(s)\n##\n"),g(t).forEach(function(s){l+=s.join(",")+"\n"});var r=encodeURI(l);s("#data-export").attr("href",r),s("#data-export").attr("download","jVenn.csv"),s("#data-export")[0].click()}),s("#canvasExport").click(function(){s(this).css("background","linear-gradient(to bottom, #AECEFF, white) repeat scroll 0 0 transparent"),s(this).css("border","1px solid #6688AA"),s("#canvasExport").unbind("mouseenter mouseleave"),a.show(),a.is(":visible")&&s(document).mouseup(function(t){0===a.has(t.target).length&&(s("#canvasExport").css("background",u),s("#canvasExport").css("border-color","white"),s("#canvasExport").hover(function(){s(this).css("background","linear-gradient(to bottom, white, #AECEFF) repeat scroll 0 0 transparent"),s(this).css("border","1px solid #6688AA"),s(this).css("border-radius","3px")},function(){s(this).css("background",u),s(this).css("border-color","white")}),a.hide())});var t=s("div[id^=format-]").css("background");s("div[id^=format-]").hover(function(){s(this).css("background","rgba(69,114,165,0.75)"),s(this).css("color","white")},function(){s(this).css("background",t),s(this).css("color","")})}),s("#canvasExport").hover(function(){s(this).css("background","linear-gradient(to bottom, white, #AECEFF) repeat scroll 0 0 transparent"),s(this).css("border","1px solid #6688AA"),s(this).css("border-radius","3px")},function(){s(this).css("background",u),s(this).css("border-color","white")})}function I(t,e){var e=null==e?!0:e,l=null;s("*[id^=label]").each(function(){if(s(this).html()==t){s(this).css("opacity",.1),s(this).removeClass("is-selected");var e=s(this).attr("id");l=e.charAt(e.length-1)}}),legend_button=s("#item-"+l),legend_button.children("span").css("margin-left","0px"),legend_button.css("opacity",.5),legend_button.children("span").text("off");var r="resultC000000";return s(".is-selected").each(function(){var t=s(this).attr("id"),e=6+parseInt(t.charAt(t.length-1));r=r.substr(0,e)+1+r.substr(e+1)}),"resultC000000"==r&&e?(s(".number-black").each(function(){s(this).css("opacity",1)}),s("*[id^=label]").each(function(){s(this).css("opacity",.6)})):s(".number-black").each(function(){s(this).attr("id")==r?s(this).css("opacity",1):s(this).css("opacity",.1)}),r}function M(t){var e=null;s("*[id^=label]").each(function(){if(s(this).html()==t){s(this).css("opacity",.6),s(this).addClass("is-selected");var l=s(this).attr("id");e=l.charAt(l.length-1)}else s(this).hasClass("is-selected")||s(this).css("opacity",.1)}),legend_button=s("#item-"+e),legend_button.children("span").css("margin-left","13px"),legend_button.css("opacity",.75),legend_button.css("color","black"),legend_button.children("span").text("on");var l="resultC000000";return s(".is-selected").each(function(){var t=s(this).attr("id"),e=6+parseInt(t.charAt(t.length-1));l=l.substr(0,e)+1+l.substr(e+1)}),s(".number-black").each(function(){s(this).attr("id")==l?s(this).css("opacity",1):s(this).css("opacity",.1)}),l}function F(t,e){var e=null==e?1:e,l=new Array,r="resultC000000",o=0;if(s("*[id^=label]").each(function(){""!=s(this).html()&&(l[s(this).html()]="unselected")}),""==t||e>t.length)for(var c in l)r=I(c);else{var i=null,a=!1;if(s(".number-black:not(.number-empty)").each(function(){for(var s=0;s<this.list.length&&!a;s++)-1!=this.list[s].indexOf(t)&&(this.list[s]==t&&(a=!0),i=this.listnames,o++)}),1==o||a){for(var u=0;u<i.length;u++)l[i[u]]="selected";o=1}if(1>=o)for(var c in l)r="selected"==l[c]?M(c):I(c,!1);else for(var c in l)r=I(c)}null!=B.searchStatus&&(""==t||e>t.length?B.searchStatus.text(""):0==o?B.searchStatus.text("not found"):1==o?B.searchStatus.text("found"):o>1&&B.searchStatus.text("ambiguous")),b(),"edwards"==B.displayMode?y(z()[1]):x(z()[1]),B.displayStat&&v(z()[1]),"resultC000000"!=r&&s("#"+r).show()}var D={series:[{name:"Actors",data:["Marilyn Monroe","Arnold Schwarzenegger","Jack Nicholson","Barbra Streisand","Robert de Niro","Dean Martin","Harrison Ford"]},{name:"Singers",data:["Freddy Mercury","Barbra Streisand","Dean Martin","Ricky Martin","Celine Dion","Marilyn Monroe"]}],fnClickCallback:function(){var s="";s+=1==this.listnames.length?"Elements only in ":"Common elements in ";for(name in this.listnames)s+=this.listnames[name]+" ";s+=":\n";for(val in this.list)s+=this.list[val]+"\n";alert(s)},disableClick:!1,useValues:!1,exporting:!0,displayMode:"classic",displayStat:!1,shortNumber:!0,searchInput:null,searchStatus:null,searchMinSize:1,colors:["rgb(0,102,0)","rgb(90,155,212)","rgb(241,90,96)","rgb(250,220,91)","rgb(255,117,0)","rgb(192,152,83)"],fontSize:"16px",fontFamily:"Arial"},B=s.extend(D,e),O=500,N=415,j=null;return this.each(function(){var t=s(this),e=0;B.displayStat&&(e=280,N+=e),t.css({width:"500px",height:""+(450+e)+"px"}),s("<style>.number-black{font-weight:bold;color:#000000;text-decoration:none;font-size:12px;}.number-over{font-weight:bold;cursor:pointer;color:#0000FF;text-decoration:underline;}.number-empty{font-weight:normal;font-size:12px;}</style>").appendTo("body");var l=434,r=130;"edwards"==B.displayMode&&(l=10,r=425),s("<style>.module-legend{border:1px solid lightgrey;border-radius:5px;position:relative;left:"+l+"px;top:-"+(r+e)+"px;width:35px;padding-bottom:3px}</style>").appendTo("body"),s("<style>.leg-items{padding-top:1px;margin:3px 3px 0px 3px;cursor:pointer;border: 1px solid grey;border-radius:2px;width:27px;height:11px;font-size:0.65em;line-height:10px;opacity:0.75}</style>").appendTo("body");var o='<div id="frame" style="position: relative; left: 5pt; top: 5pt; width: 500px; height: "'+(445+e)+'px;">';o+='<div id="canvasEllipse" width="500px" height="'+(415+e)+'px;"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC100000"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC010000"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC001000"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC000100"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC000010"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC110000"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC101000"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC100100"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC100010"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC011000"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC010100"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC010010"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC001100"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC001010"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC000110"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC111000"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC110100"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC110010"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC101100"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC101010"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC100110"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC011100"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC011010"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC010110"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC001110"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC111100"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC111010"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC110110"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC101110"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC011110"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC111110"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC000001"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC000011"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC000101"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC000111"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC001001"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC001011"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC001101"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC001111"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC010001"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC010011"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC010101"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC010111"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC011001"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC011011"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC011101"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC011111"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC100001"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC100011"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC100101"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC100111"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC101001"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC101011"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC101101"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC101111"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC110001"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC110011"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC110101"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC110111"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC111001"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC111011"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC111101"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC111111"></div>',o+='<div style="position: absolute; left: -1000px; top: -1000px; opacity:0.5;;" id="label1"></div>',o+='<div style="position: absolute; left: -1000px; top: -1000px; opacity:0.5;;" id="label2"></div>',o+='<div style="position: absolute; left: -1000px; top: -1000px; opacity:0.5;;" id="label3"></div>',o+='<div style="position: absolute; left: -1000px; top: -1000px; opacity:0.5;;" id="label4"></div>',o+='<div style="position: absolute; left: -1000px; top: -1000px; opacity:0.5;;" id="label5"></div>',o+='<div style="position: absolute; left: -1000px; top: -1000px; opacity:0.5;;" id="label6"></div>',o+="</div>",t.html(o),j=new C2S(O,N),s("*[id^=resultC]").each(function(){s(this).html(0),s(this).addClass("number-empty"),s(this).css("font-size",B.fontSize),s(this).css("font-family",B.fontFamily)}),s("*[id^=label]").each(function(){s(this).css("font-family",B.fontFamily)});var c=z();"list"==c[0]?w():"count"==c[0]&&E(),null!=B.searchInput&&B.searchInput.keyup(function(){F(B.searchInput.val(),B.searchMinSize)}),"edwards"==B.displayMode?y(c[1]):x(c[1]),B.displayStat&&v(c[1]),B.exporting===!0&&S(t,e,c[0]),c[1]>=4&&_(t,c[1]),s(".number-black").hover(function(){var t=!1;s("*[id^=item]").each(function(){"on"===s(this).children("span").text()&&(t=!0)});var e=!1;if(null!=B.searchInput&&""!=B.searchInput.val()&&(e=!0),!t&&!e&&""!==s(this).text()){var l=this.listnames,r=this;s("*[id^=label]").each(function(){l.indexOf(s(this).text())<0?s(this).css("opacity",.1):s(this).css("opacity",.6)}),s(".number-black").each(function(){this!=r&&s(this).css("opacity",.1)}),b(),"edwards"==B.displayMode?y(c[1]):x(c[1]),B.displayStat&&v(c[1])}},function(){var t=!1;s("*[id^=item]").each(function(){"on"===s(this).children("span").text()&&(t=!0)});var e=!1;if(null!=B.searchInput&&""!=B.searchInput.val()&&(e=!0),!t&&!e&&""!==s(this).text()){{this.listnames}s("*[id^=label]").each(function(){s(this).css("opacity",.5)}),s(".number-black").each(function(){s(this).css("opacity",1)}),b(),"edwards"==B.displayMode?y(c[1]):x(c[1]),B.displayStat&&v(c[1])}}),s("#canvasEllipse").html(j.getSvg())}),this}}(jQuery);
+		</script>
+		<script type="text/javascript">
+			/*
+			 * HTMLTable.js 0.1.0 - HTMLTable Library
+			 *
+			 * Copyright (c) 2015 Escudie Frederic
+			 * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.
+			 */
+			function HTMLtable(e){var t,r,n=e,a=";";this.deleteColumns=function(e){for(var a=n.getElementsByTagName("tr"),o=0;o<a.length;o++){s=0;var i=a[o].getElementsByTagName("td");0==i.length&&(i=a[o].getElementsByTagName("th"));for(var v=0,s=0;s<t[1];s++)if(!r[o][s]){var f=i[v].getAttribute("colspan");if(null!=f)for(var m=0;f>m;m++){if(in_array(s+m,e)){var u=i[v].getAttribute("colspan");u-1==0?i[v].removeAttribute("colspan"):i[v].setAttribute("colspan",u-1)}if(null==i[v].getAttribute("colspan")){var h=i[v];a[o].removeChild(h),v--}}else if(in_array(s,e)){var h=i[v];a[o].removeChild(h),v--}v++}}l(),g()},this.filter=function(e,a){var l=new RegExp(e),g=new Array;null!=a&&a||(g.c0=!0);for(var o=n.getElementsByTagName("tr"),i=0;i<o.length;i++){f=0;var v=o[i].getElementsByTagName("td");if(0!=v.length)for(var s=0,f=0;f<t[1];f++)r[i][f]||(l.test(v[s].innerHTML)&&(g["c"+f]=!0),s++)}for(var m=new Array,u=0;u<t[1];u++)void 0===g["c"+u]&&m.push(u);this.deleteColumns(m)},this.getModel=function(){return n};var l=function(){for(var e=0,r=0,a=n.getElementsByTagName("tr"),l=0;l<a.length;l++){var g=0;e++;var o=a[l].getElementsByTagName("td");0==o.length&&(o=a[l].getElementsByTagName("th"));for(var i=0;i<o.length;i++){var v=o[i].getAttribute("colspan");g+=null==v?1:parseInt(v)}g>r&&(r=g)}t=new Array(2),t[0]=e,t[1]=r},g=function(){r=new Array(t[0]);for(var e=0;e<t[0];e++){r[e]=new Array(t[1]);for(var a=0;a<t[1];a++)r[e][a]=!1}for(var l=n.getElementsByTagName("tr"),g=0;g<l.length;g++){v=0;var o=l[g].getElementsByTagName("td");0==o.length&&(o=l[g].getElementsByTagName("th"));for(var i=0,v=0;v<t[1];v++)if(!r[g][v]){var s=0,f=0,m=o[i].getAttribute("rowspan");null!=m&&(s=parseInt(m)-1);var u=o[i].getAttribute("colspan");null!=u&&(f=parseInt(u)-1);for(var h=s;h>=0;h--)for(var y=f;y>=0;y--)(0!=h||0!=y)&&(r[g+h][v+y]=!0);i++}}};this.replace=function(e,a,l){var g=new RegExp(e);null==a&&(a=""),null==l&&(l="");for(var o=n.getElementsByTagName("tr"),i=0;i<o.length;i++){f=0;var v=o[i].getElementsByTagName("td");if(0!=v.length)for(var s=0,f=0;f<t[1];f++)if(!r[i][f]){var m=g.exec(v[s].innerHTML);null!=m&&(void 0===m[1]&&(m[1]=""),v[s].innerHTML=a+m[1]+l),s++}}},this.toCSV=function(){for(var e="",l=n.getElementsByTagName("tr"),g=0;g<l.length;g++){var o=l[g].getElementsByTagName("td");0==o.length&&(o=l[g].getElementsByTagName("th"));for(var i=0,v=0;v<t[1];v++)r[g][v]||(e+=o[i].innerHTML,i++),e+=a;e=e.substr(0,e.length-1)+"\n"}return e},l(),g()}var in_array=function(e,t){for(var r in t)if(t[r]==e)return!0;return!1};
+			
+			/*
+			 * dataTableExtractor.plugin.js 0.1.0 - datatableExport Library
+			 *
+			 * Copyright (c) 2015 Escudie Frederic
+			 * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.
+			 */
+			!function(t){t.fn.datatableExport=function(a){var e={anchor_id:t(this).attr("id"),table_id:null,csv_separator:";",omitted_columns:[]},n=t.extend(e,a);if(!t(this).length)throw"The element where the datatableExport is called does not exist.";if(void 0==n.anchor_id)throw"The datatableExport plugin must be called on an element with id.";if(null==n.table_id)throw"You must set the table_id parameter in datatableExport plugin.";if(!t("#"+n.table_id))throw"The datatable '#"+n.table_id+"' cannot be retieve in DOM.";return this.each(function(){var a=t(this);a.on("click",function(){t.fn.datatableExport.csv(n.anchor_id,n.table_id,n.csv_separator,n.omitted_columns)})})},t.fn.datatableExport.cleanCellMarkup=function(a,e){t.parseHTML(e);t("#"+a).append('<div class="hidden data-tmp">'+e+"</div>"),t("#"+a+" .data-tmp").find("input").each(function(){var a="";a=t(this).is(":checkbox")?t(this).is(":checked")?"true":"false":t(this).val(),t(this).replaceWith(a)});var n=t("#"+a+" .data-tmp").text();return t("#"+a+" .data-tmp").remove(),n},t.fn.datatableExport.csv=function(a,e,n,i){var l="",r=t("#"+e).DataTable(),d=t("#"+e+" thead")[0],o=new HTMLtable(d.cloneNode(!0));o.deleteColumns(i),l+=o.toCSV();var c=r.rows().data();t.each(c,function(e,n){for(var r="",d=0;d<n.length;d++)-1==t.inArray(d,i)&&(r+='"'+t.fn.datatableExport.cleanCellMarkup(a,n[d])+'";');""!=r&&(r=r.slice(0,-1)),l+=r+"\n"}),t("#"+a+"-extract-csv").length||t("#"+a).append('<a id="'+a+'-extract-csv" href="data:text/csv;charset=UTF-8,'+encodeURI(l)+'" download="data.csv" style="display:none;"></a>'),t("#"+a+"-extract-csv")[0].click()}}(jQuery);
+		</script>		
+		
+		<script type="text/javascript">
+/*
+$(document).ready(function(){
+  $('#example').jvenn({
+    series: [{
+    	name: {A: 'Actors',
+               B: 'Singers'},
+    	data: {A: ["Arnold Schwarzenegger", "Jack Nicholson", "Robert de Niro", "Harrison Ford"], B: ["Freddy Mercury", "Ricky Martin", "Celine Dion"], AB: ["Marilyn Monroe", "Barbra Streisand", "Dean Martin"]},
+    	values: {A: 4, B: 3, AB: 3}
+    }],
+  });
+});
+*/
+var jvenn_data = {"series": [{"name": {"A": "Lacombe", "B": "Bredberg", "C": "Mucilli"}, "data": {"A": ["A8K2U0", "O60911", "O75342", "O75635", "O95274", "P00441", "P00491", "P01037", "P01623", "P01766", "P01860", "P01877", "P02538", "P04080", "P04745", "P06870", "P07384", "P07858", "P09228", "P09972", "P0CG05", "P0DMV9", "P11279", "P13473", "P18510", "P19012", "P19971", "P20930", "P23284", "P23396", "P25705", "P25788", "P30740", "P31151", "P35579", "P40121", "P42357", "P48594", "P48637", "P49720", "P50395", "P59998", "P61160", "P62258", "P62937", "P62987", "P63261", "P68363", "Q14574", "Q15149", "Q15828", "Q6P4A8", "Q8TAX7", "Q92820", "Q96FX8", "Q9HC84", "Q9HCY8", "Q9UI42", "Q9Y6R7", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""], "B": ["A0A0U1RVJ5", "A0N5G5", "A2IPI6", "A4F255", "B4E1Z4", "O95436", "O95613", "P00450", "P00734", "P01008", "P01024", "P01591", "P01598", "P01611", "P01613", "P01617", "P01621", "P01622", "P01714", "P01717", "P01880", "P02647", "P02649", "P02747", "P02751", "P02760", "P02766", "P02774", "P02790", "P04117", "P04196", "P04217", "P04233", "P04637", "P05155", "P05362", "P06313", "P06681", "P08238", "P08758", "P0C0L4", "P0C0L5", "P10909", "P11217", "P11686", "P12429", "P15814", "P19827", "P22897", "P23528", "P43652", "P61769", "P62807", "P80748", "Q08380", "Q13885", "Q14624", "Q16378", "Q6MZX7", "Q6N093", "Q7Z351", "Q86SJ6", "Q8IWL2", "Q8NF17", "Q96S96", "Q9BYE4", "Q9NSK0", "Q9UBC9", "Q9UL77", "Q9UL83", "Q9UL86", "", "", "", "", "", "", "", "", ""], "C": ["O15523", "O43175", "O43790", "O60814", "P01593", "P01620", "P01861", "P02533", "P02671", "P02675", "P02679", "P03973", "P04264", "P05091", "P05120", "P05783", "P06576", "P06702", "P07476", "P08107", "P0CG48", "P10809", "P12035", "P13489", "P13645", "P13647", "P14174", "P15880", "P17900", "P17931", "P22392", "P22531", "P22735", "P23490", "P23526", "P25787", "P28070", "P28072", "P28074", "P29373", "P29401", "P30041", "P30050", "P32119", "P35321", "P35527", "P35908", "P37802", "P37837", "P40925", "P49189", "P49862", "P50990", "P51149", "P52907", "P54652", "P61978", "P62244", "P63167", "P68104", "P68431", "Q08554", "Q13748", "Q14134", "Q14210", "Q14CN4", "Q15365", "Q3ZCW2", "Q5T749", "Q5VVQ6", "Q5XKE5", "Q6E0U4", "Q6ZVX7", "Q7Z794", "Q8IW75", "Q96KK5", "Q96QA5", "Q9Y277", "Q9Y337", "Q9Y3R4"], "AB": ["P01009", "P01011", "P01036", "P01625", "P01765", "P01833", "P02763", "P02787", "P12273", "P22528", "P61916", "Q13867", "Q96DA0", "Q9UGM3", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""], "AC": ["O43707", "O75223", "O75369", "P00558", "P01040", "P01834", "P01857", "P01876", "P02545", "P04040", "P04075", "P04259", "P04792", "P05090", "P06733", "P08779", "P08865", "P09211", "P11021", "P11142", "P13639", "P13646", "P14618", "P14735", "P14923", "P18206", "P19013", "P20933", "P26641", "P29508", "P31944", "P31949", "P36952", "P40926", "P47756", "P47929", "P58107", "P60174", "P60842", "P68371", "Q04695", "Q06830", "Q5T750", "Q6KB66", "Q6UWP8", "Q8N1N4", "Q8WVV4", "Q9C075", "Q9NZH8", "Q9NZT1", "Q9UIV8", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""], "BC": ["P01023", "P05109", "P07737", "P59665", "P60709", "P62805", "Q13835", "Q15517", "Q5D862", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""], "ABC": ["P00338", "P00738", "P01871", "P02768", "P02788", "P04083", "P04406", "P05089", "P06396", "P07339", "P07355", "P07900", "P10599", "P15924", "P25311", "P27482", "P31025", "P31947", "P61626", "P63104", "P68871", "P80188", "Q01469", "Q02413", "Q08188", "Q86YZ3", "Q96P63", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""]}, "values": {"A": 59, "B": 71, "C": 80, "AB": 14, "AC": 51, "BC": 9, "ABC": 27}}], "displayStat": "true", "displaySwitch": "true", "shortNumber": "true"} ;
+$(document).ready(function(){
+  $('#example').jvenn(jvenn_data);
+});
+
+			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+			//
+			// Data
+			//
+			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+			//var processed_filters = ###PORCESSED_FILTERS### ;
+			/* Example:
+				['filterA', 'filterB', 'filterC']
+			*/
+			//var global_results = ###GLOBAL_RESULTS### ; 
+			/* Example: 
+				{
+					'nb_clstr_kept': 100,
+					'nb_clstr_ini': 300,
+					'nb_seq_kept': 100,
+					'nb_seq_ini': 100000
+				}
+			*/
+			//var by_samples_results = ###SAMPLES_RESULTS### ;
+			/* Example:
+				{
+					'sampleA':{
+						'filtered':{
+							'filterA': 10,
+							'filterB': 20
+						},
+						'initial': 75,
+						'kept': 50
+					},
+					'sampleB':{
+						'filtered':{
+							'filterB': 20,
+						},
+						'initial': 110,
+						'kept': 90
+					}
+				}
+			*/
+			//var by_filters_results = ###FILTERS_RESULTS### ;
+			/* Example:
+				[
+					{'filters':['filterA'], 'count': 10},
+					{'filters':['filterB'], 'count': 20},
+					{'filters':['filterC'], 'count': 30},
+					{'filters':['filterA', 'filterB'], 'count': 1},
+					{'filters':['filterA', 'filterC'], 'count': 2},
+					{'filters':['filterB', 'filterC'], 'count': 3},
+					{'filters':['filterA', 'filterB', 'filterC'], 'count': 4}
+				];
+			*/
+			
+			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+			//
+			// Main
+			//
+			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+			$(function() {
+				// Remove alert
+				$('#js-alert').remove();
+				$('#content').removeClass("hidden");
+				
+				// Load active tab
+				global_filters_load();
+				intersections_filters_load();
+				
+				// Add tab listener
+				$('.nav-tabs a').click(function (e) {
+					e.preventDefault();
+					$(this).tab('show');
+					if( $(this).attr('href') == "#view-by-samples" && $('#view-by-samples').hasClass('disabled') ){
+						$('#view-by-samples').removeClass('disabled')
+						samples_filters_load( "filter-log" );
+					}
+				})
+			});
+		</script>
+
+	</head>
+	<body>
+		<!-- Alert -->
+		<p id="js-alert" class="alert alert-warning">
+                javascript is needed to display data.<br />
+                If you try to view this data on galaxy please contact your administrator to authorise javascript or download the file to view.
+		</p>
+		
+        <!-- Content -->
+	<div id="example"></div>
+        </div>
+
+		
+	</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/Venn_text_output.txt	Sat Jun 12 18:06:28 2021 +0000
@@ -0,0 +1,228 @@
+<!DOCTYPE html>
+<!--
+# Copyright (C) 2015 INRA
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+-->
+<html>
+	<head>
+		<title>Jvenn+</title>
+		<meta charset="UTF-8">
+		<meta name="version" content="2.0.1">
+		<link rel="stylesheet" href="https://cdn.datatables.net/1.10.6/css/jquery.dataTables.css"></link>
+		<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"></link>
+		<style type="text/css">
+			#js-alert {
+				width: 90%;
+				margin-right: auto;
+				margin-left: auto;
+			}
+			#content {
+				width: 90%;
+				margin-right: auto;
+				margin-left: auto;
+			}
+			.clear {
+				clear: both;
+				height: 0px;
+				width: 100%;
+				float: none !important;
+			}
+			ul.nav-tabs {
+				margin-bottom: 30px;
+			}
+			#venn-filters {
+				padding: 10px;
+				background-color: #FFF;
+				background-clip: padding-box;
+				border: 1px solid rgba(0, 0, 0, 0.15);
+				border-radius: 4px;
+				box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.176);
+				margin-right: auto;
+				margin-left: auto;
+				margin-bottom: 30px;
+			}
+			#byFilters-jvenn {
+				margin-right: auto;
+				margin-left: auto;
+			}
+			#venn-filters ul {
+				list-style-type: none;
+			}
+		</style>
+
+		<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
+		<script type="text/javascript" src="https://code.highcharts.com/4.1.4/highcharts.js"></script>
+		<script type="text/javascript" src="https://code.highcharts.com/4.1.4/modules/exporting.js"></script>
+		<script type="text/javascript" src="https://cdn.datatables.net/1.10.6/js/jquery.dataTables.min.js"></script>
+		<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
+		<script type="text/javascript">
+			/***************************************************************
+			*  Copyright notice
+			*
+			*  (c) 2014 PF bioinformatique de Toulouse
+			*  All rights reserved
+			* 
+			*
+			*  This script is an adaptation of the venny script developed by
+			*  Juan Carlos Oliveros, BioinfoGP, CNB-CSIC:
+			*  Oliveros, J.C. (2007) VENNY. An interactive tool for comparing 
+			*  lists with Venn Diagrams.
+			*  http://bioinfogp.cnb.csic.es/tools/venny/index.html.
+			*  It is distributed under the terms of the GNU General Public 
+			*  License as published by the Free Software Foundation; either 
+			*  version 2 of the License, or (at your option) any later version.
+			*
+			*  The GNU General Public License can be found at
+			*  http://www.gnu.org/copyleft/gpl.html.
+			*
+			*  This script is distributed in the hope that it will be useful,
+			*  but WITHOUT ANY WARRANTY; without even the implied warranty of
+			*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+			*  GNU General Public License for more details.
+			*
+			*  This copyright notice MUST APPEAR in all copies of the script!
+			***************************************************************/
+			!function(){"use strict";function s(s,t){var e,l=Object.keys(t);for(e=0;e<l.length;e++)s=s.replace(new RegExp("\\{"+l[e]+"\\}","gi"),t[l[e]]);return s}function t(s){var t,e,l;if(!s)throw new Error("cannot create a random attribute name for an undefined object");t="ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",e="";do for(e="",l=0;12>l;l++)e+=t[Math.floor(Math.random()*t.length)];while(s[e]);return e}function e(s,t){var e,l,r,o={};for(s=s.split(","),t=t||10,e=0;e<s.length;e+=2)l="&"+s[e+1]+";",r=parseInt(s[e],t),o[l]="&#"+r+";";return o["\\xa0"]="&#160;",o}function l(s){var t={left:"start",right:"end",center:"middle",start:"start",end:"end"};return t[s]||t.start}function r(s){var t={alphabetic:"alphabetic",hanging:"hanging",top:"text-before-edge",bottom:"text-after-edge",middle:"central"};return t[s]||t.alphabetic}var o,c,i,a,u;u=e("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32),o={strokeStyle:{svgAttr:"stroke",canvas:"#000000",svg:"none",apply:"stroke"},fillStyle:{svgAttr:"fill",canvas:"#000000",svg:null,apply:"fill"},lineCap:{svgAttr:"stroke-linecap",canvas:"butt",svg:"butt",apply:"stroke"},lineJoin:{svgAttr:"stroke-linejoin",canvas:"miter",svg:"miter",apply:"stroke"},miterLimit:{svgAttr:"stroke-miterlimit",canvas:10,svg:4,apply:"stroke"},lineWidth:{svgAttr:"stroke-width",canvas:1,svg:1,apply:"stroke"},globalAlpha:{svgAttr:"opacity",canvas:1,svg:1,apply:"fill stroke"},font:{canvas:"10px sans-serif"},shadowColor:{canvas:"#000000"},shadowOffsetX:{canvas:0},shadowOffsetY:{canvas:0},shadowBlur:{canvas:0},textAlign:{canvas:"start"},textBaseline:{canvas:"alphabetic"}},i=function(s){this.__root=s},i.prototype.addColorStop=function(t,e){var l,r,o=document.createElementNS("http://www.w3.org/2000/svg","stop");o.setAttribute("offset",t),-1!==e.indexOf("rgba")?(l=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi,r=l.exec(e),o.setAttribute("stop-color",s("rgb({r},{g},{b})",{r:r[1],g:r[2],b:r[3]})),o.setAttribute("stop-opacity",r[4])):o.setAttribute("stop-color",e),this.__root.appendChild(o)},a=function(s,t){this.__root=s,this.__ctx=t},c=function(s){var t,e={width:500,height:500,enableMirroring:!1};return arguments.length>1?(t=e,t.width=arguments[0],t.height=arguments[1]):t=s?s:e,this instanceof c?(this.width=t.width||e.width,this.height=t.height||e.height,this.enableMirroring=void 0!==t.enableMirroring?t.enableMirroring:e.enableMirroring,this.canvas=this,this.__canvas=document.createElement("canvas"),this.__ctx=this.__canvas.getContext("2d"),this.__setDefaultStyles(),this.__stack=[this.__getStyleState()],this.__groupStack=[],this.__root=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.__root.setAttribute("version",1.1),this.__root.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.__root.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),this.__root.setAttribute("width",this.width),this.__root.setAttribute("height",this.height),this.__ids={},this.__defs=document.createElementNS("http://www.w3.org/2000/svg","defs"),this.__root.appendChild(this.__defs),this.__currentElement=document.createElementNS("http://www.w3.org/2000/svg","g"),void this.__root.appendChild(this.__currentElement)):new c(t)},c.prototype.__createElement=function(s,t,e){var l,r,o=document.createElementNS("http://www.w3.org/2000/svg",s),c=Object.keys(t);for(e&&(o.setAttribute("fill","none"),o.setAttribute("stroke","none")),l=0;l<c.length;l++)r=c[l],o.setAttribute(r,t[r]);return o},c.prototype.__setDefaultStyles=function(){var s,t,e=Object.keys(o);for(s=0;s<e.length;s++)t=e[s],this[t]=o[t].canvas},c.prototype.__applyStyleState=function(s){var t,e,l=Object.keys(s);for(t=0;t<l.length;t++)e=l[t],this[e]=s[e]},c.prototype.__getStyleState=function(){var s,t,e={},l=Object.keys(o);for(s=0;s<l.length;s++)t=l[s],e[t]=this[t];return e},c.prototype.__applyStyleToCurrentElement=function(t){var e,l,r,c,u,p,n=Object.keys(o);for(e=0;e<n.length;e++)if(l=o[n[e]],r=this[n[e]],l.apply)if(-1!==l.apply.indexOf("fill")&&r instanceof a){if(r.__ctx)for(;r.__ctx.__defs.childNodes.length;)c=r.__ctx.__defs.childNodes[0].getAttribute("id"),this.__ids[c]=c,this.__defs.appendChild(r.__ctx.__defs.childNodes[0]);this.__currentElement.setAttribute("fill",s("url(#{id})",{id:r.__root.getAttribute("id")}))}else-1!==l.apply.indexOf("fill")&&r instanceof i?this.__currentElement.setAttribute("fill",s("url(#{id})",{id:r.__root.getAttribute("id")})):-1!==l.apply.indexOf(t)&&l.svg!==r&&("stroke"!==l.svgAttr&&"fill"!==l.svgAttr||-1===r.indexOf("rgba")?this.__currentElement.setAttribute(l.svgAttr,r):(u=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi,p=u.exec(r),this.__currentElement.setAttribute(l.svgAttr,s("rgb({r},{g},{b})",{r:p[1],g:p[2],b:p[3]})),this.__currentElement.setAttribute(l.svgAttr+"-opacity",p[4])))},c.prototype.__closestGroupOrSvg=function(s){return s=s||this.__currentElement,"g"===s.nodeName||"svg"===s.nodeName?s:this.__closestGroupOrSvg(s.parentNode)},c.prototype.getSerializedSvg=function(s){var t,e,l,r,o,c,i=(new XMLSerializer).serializeToString(this.__root);if(c=/xmlns="http:\/\/www\.w3\.org\/2000\/svg".+xmlns="http:\/\/www\.w3\.org\/2000\/svg/gi,c.test(i)&&(i=i.replace('xmlns="http://www.w3.org/2000/svg','xmlns:xlink="http://www.w3.org/1999/xlink')),s)for(t=Object.keys(u),e=0;e<t.length;e++)l=t[e],r=u[l],o=new RegExp(l,"gi"),o.test(i)&&(i=i.replace(o,r));return i},c.prototype.getSvg=function(){return this.__root},c.prototype.save=function(){var s=document.createElementNS("http://www.w3.org/2000/svg","g"),t=this.__closestGroupOrSvg();this.__groupStack.push(t),t.appendChild(s),this.__currentElement=s,this.__stack.push(this.__getStyleState())},c.prototype.restore=function(){this.__currentElement=this.__groupStack.pop();var s=this.__stack.pop();this.__applyStyleState(s)},c.prototype.__addTransform=function(s){var t=this.__currentElement.getAttribute("transform");t?t+=" ":t="",t+=s,this.__currentElement.setAttribute("transform",t)},c.prototype.scale=function(t,e){void 0===e&&(e=t),this.__addTransform(s("scale({x},{y})",{x:t,y:e}))},c.prototype.rotate=function(t){var e=180*t/Math.PI;this.__addTransform(s("rotate({angle},{cx},{cy})",{angle:e,cx:0,cy:0}))},c.prototype.translate=function(t,e){this.__addTransform(s("translate({x},{y})",{x:t,y:e}))},c.prototype.transform=function(t,e,l,r,o,c){this.__addTransform(s("matrix({a},{b},{c},{d},{e},{f})",{a:t,b:e,c:l,d:r,e:o,f:c}))},c.prototype.beginPath=function(){var s,t;s=this.__createElement("path",{},!0),t=this.__closestGroupOrSvg(),t.appendChild(s),this.__currentElement=s},c.prototype.__addPathCommand=function(s){if("path"!==this.__currentElement.nodeName)throw new Error("Attempted to add path command to node "+this.__currentElement.nodeName);var t=this.__currentElement.getAttribute("d");t?t+=" ":t="",t+=s,this.__currentElement.setAttribute("d",t)},c.prototype.moveTo=function(t,e){"path"!==this.__currentElement.nodeName&&this.beginPath(),this.__addPathCommand(s("M {x} {y}",{x:t,y:e}))},c.prototype.closePath=function(){this.__addPathCommand("Z")},c.prototype.lineTo=function(t,e){this.__addPathCommand(s("L {x} {y}",{x:t,y:e}))},c.prototype.bezierCurveTo=function(t,e,l,r,o,c){this.__addPathCommand(s("C {cp1x} {cp1y} {cp2x} {cp2y} {x} {y}",{cp1x:t,cp1y:e,cp2x:l,cp2y:r,x:o,y:c}))},c.prototype.quadraticCurveTo=function(t,e,l,r){this.__addPathCommand(s("Q {cpx} {cpy} {x} {y}",{cpx:t,cpy:e,x:l,y:r}))},c.prototype.stroke=function(){this.__applyStyleToCurrentElement("stroke")},c.prototype.fill=function(){this.__applyStyleToCurrentElement("fill")},c.prototype.rect=function(s,t,e,l){"path"!==this.__currentElement.nodeName&&this.beginPath(),this.moveTo(s,t),this.lineTo(s+e,t),this.lineTo(s+e,t+l),this.lineTo(s,t+l),this.lineTo(s,t),this.closePath()},c.prototype.fillRect=function(s,t,e,l){var r,o;r=this.__createElement("rect",{x:s,y:t,width:e,height:l},!0),o=this.__closestGroupOrSvg(),o.appendChild(r),this.__currentElement=r,this.__applyStyleToCurrentElement("fill")},c.prototype.strokeRect=function(s,t,e,l){var r,o;r=this.__createElement("rect",{x:s,y:t,width:e,height:l},!0),o=this.__closestGroupOrSvg(),o.appendChild(r),this.__currentElement=r,this.__applyStyleToCurrentElement("stroke")},c.prototype.clearRect=function(s,t,e,l){var r,o=this.__closestGroupOrSvg();r=this.__createElement("rect",{x:s,y:t,width:e,height:l,fill:"#FFFFFF"},!0),o.appendChild(r)},c.prototype.createLinearGradient=function(s,e,l,r){var o=this.__createElement("linearGradient",{id:t(this.__ids),x1:s+"px",x2:l+"px",y1:e+"px",y2:r+"px",gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(o),new i(o)},c.prototype.createRadialGradient=function(s,e,l,r,o,c){var a=this.__createElement("radialGradient",{id:t(this.__ids),cx:r+"px",cy:o+"px",r:c+"px",fx:s+"px",fy:e+"px",gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(a),new i(a)},c.prototype.__parseFont=function(){var s,t,e=this.font,l=0,r={style:"normal",size:"10px",family:"sans-serif",weight:"normal",decoration:"none",href:null};for("underline"===this.__fontUnderline&&(r.decoration="underline"),this.__fontHref&&(r.href=this.__fontHref),s=e.split(" "),t=s[l];/italic|bold|normal/.test(t);)"bold"===t?r.weight=t:r.style=t,l++,t=s[l];return/em|px|pt|%/.test(t)&&(r.size=t,l++),s.splice(0,l),r.family=s.join(" "),r},c.prototype.__wrapTextLink=function(s,t){if(s.href){var e=document.createElementNS("http://www.w3.org/2000/svg","a");return e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",s.href),e.appendChild(t),e}return t},c.prototype.__applyText=function(s,t,e,o){var c=this.__parseFont(),i=this.__closestGroupOrSvg(),a=this.__createElement("text",{"font-family":c.family,"font-size":c.size,"font-style":c.style,"font-weight":c.weight,"text-decoration":c.decoration,x:t,y:e,"text-anchor":l(this.textAlign),"dominant-baseline":r(this.textBaseline)},!0);a.appendChild(document.createTextNode(s)),this.__currentElement=a,this.__applyStyleToCurrentElement(o),i.appendChild(this.__wrapTextLink(c,a))},c.prototype.fillText=function(s,t,e){this.__applyText(s,t,e,"fill")},c.prototype.strokeText=function(s,t,e){this.__applyText(s,t,e,"stroke")},c.prototype.measureText=function(s){return this.__ctx.font=this.font,this.__ctx.measureText(s)},c.prototype.arc=function(t,e,l,r,o,c){r%=2*Math.PI,o%=2*Math.PI,r===o&&(o=(o+2*Math.PI-.001*(c?-1:1))%(2*Math.PI));var i=t+l*Math.cos(o),a=e+l*Math.sin(o),u=t+l*Math.cos(r),p=e+l*Math.sin(r),n=c?0:1,C=0,f=o-r;0>f&&(f+=2*Math.PI),C=c?f>Math.PI?0:1:f>Math.PI?1:0,this.moveTo(u,p),this.__addPathCommand(s("A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}",{rx:l,ry:l,xAxisRotation:0,largeArcFlag:C,sweepFlag:n,endX:i,endY:a}))},c.prototype.clip=function(){var e=this.__closestGroupOrSvg(),l=document.createElementNS("http://www.w3.org/2000/svg","clipPath"),r=t(this.__ids),o=document.createElementNS("http://www.w3.org/2000/svg","g");e.removeChild(this.__currentElement),l.setAttribute("id",r),l.appendChild(this.__currentElement),this.__defs.appendChild(l),e.setAttribute("clip-path",s("url(#{id})",{id:r})),e.appendChild(o),this.__currentElement=o},c.prototype.drawImage=function(){var s,t,e,l,r,o,i,a,u,p,n,C,f,h,d,b=Array.prototype.slice.call(arguments),v=b[0],m=0,g=0;if(3===b.length)s=b[1],t=b[2],r=v.width,o=v.height,e=r,l=o;else if(5===b.length)s=b[1],t=b[2],e=b[3],l=b[4],r=v.width,o=v.height;else{if(9!==b.length)throw new Error("Inavlid number of arguments passed to drawImage: "+arguments.length);m=b[1],g=b[2],r=b[3],o=b[4],s=b[5],t=b[6],e=b[7],l=b[8]}if(i=this.__closestGroupOrSvg(),n=this.__currentElement,v instanceof c){for(a=v.getSvg(),u=a.childNodes[0];u.childNodes.length;)d=u.childNodes[0].getAttribute("id"),this.__ids[d]=d,this.__defs.appendChild(u.childNodes[0]);p=a.childNodes[1],i.appendChild(p),this.__currentElement=p,this.translate(s,t),this.__currentElement=n}else("CANVAS"===v.nodeName||"IMG"===v.nodeName)&&(C=document.createElementNS("http://www.w3.org/2000/svg","image"),C.setAttribute("width",e),C.setAttribute("height",l),C.setAttribute("preserveAspectRatio","none"),(m||g||r!==v.width||o!==v.height)&&(f=document.createElement("canvas"),f.width=e,f.height=l,h=f.getContext("2d"),h.drawImage(v,m,g,r,o,0,0,e,l),v=f),C.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href","CANVAS"===v.nodeName?v.toDataURL():v.getAttribute("src")),i.appendChild(C),this.__currentElement=C,this.translate(s,t),this.__currentElement=n)},c.prototype.createPattern=function(s){var e,l=document.createElementNS("http://www.w3.org/2000/svg","pattern"),r=t(this.__ids);return l.setAttribute("id",r),l.setAttribute("width",s.width),l.setAttribute("height",s.height),"CANVAS"===s.nodeName||"IMG"===s.nodeName?(e=document.createElementNS("http://www.w3.org/2000/svg","image"),e.setAttribute("width",s.width),e.setAttribute("height",s.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href","CANVAS"===s.nodeName?s.toDataURL():s.getAttribute("src")),l.appendChild(e),this.__defs.appendChild(l)):s instanceof c&&(l.appendChild(s.__root.childNodes[1]),this.__defs.appendChild(l)),new a(l,this)},c.prototype.drawFocusRing=function(){},c.prototype.createImageData=function(){},c.prototype.getImageData=function(){},c.prototype.putImageData=function(){},c.prototype.globalCompositeOperation=function(){},c.prototype.arcTo=function(){},c.prototype.setTransform=function(){},window.C2S=c}(),function(s){s.fn.jvenn=function(e){function l(s,t,e,l,r,o,c){j.beginPath(),j.save(),j.translate(s,t),j.rotate(o*Math.PI/180),j.scale(l,r),j.arc(0,0,e,0,2*Math.PI),j.fillStyle=c,j.fill(),j.restore()}function r(s,t,e,l,r,o,c){j.beginPath(),j.save(),j.moveTo(s,t),j.lineTo(e,l),j.lineTo(r,o),j.fillStyle=c,j.fill(),j.restore()}function o(s,t,e,l,r){j.lineWidth=1,j.beginPath(),j.moveTo(s,t),j.lineTo(e,l),j.strokeStyle=r,j.stroke()}function c(s,t,e,l,r,o,c){j.beginPath(),j.save(),j.translate(s,t),j.rotate(o*Math.PI/180),j.scale(l,r),j.arc(0,0,e,0,2*Math.PI),j.lineWidth=3,j.strokeStyle=c,d(c)>=.6&&(j.fillStyle=h(c,.1),j.fill()),j.stroke(),j.restore()}function a(s){var t=!1;j.strokeStyle=s,j.lineWidth=3,j.beginPath(),j.arc(120,205,90,.25*Math.PI,1.75*Math.PI,t),j.stroke(),j.beginPath(),j.arc(370,205,90,1.25*Math.PI,.75*Math.PI,t),j.stroke(),j.beginPath(),j.arc(245,360,110,1.3*Math.PI,1.7*Math.PI,t),j.stroke(),j.beginPath(),j.arc(245,50,110,.3*Math.PI,.7*Math.PI,t),j.stroke(),d(s)>=.6&&(j.save(),j.beginPath(),j.moveTo(0,0),j.lineTo(500,0),j.lineTo(500,415),j.lineTo(0,415),j.closePath(),j.clip(),j.strokeStyle="rgba(0,0,0,0)",j.lineCap="butt",j.lineJoin="miter",j.miterLimit=4,j.save(),j.restore(),j.save(),j.restore(),j.save(),j.translate(-11,-633),j.save(),j.strokeStyle="rgba(0,0,0,0)",j.translate(0,636),j.beginPath(),j.moveTo(116.68996,288.55847),j.bezierCurveTo(114.18984,288.06339,109.64415,287.21717,106.58843999999999,286.67797),j.bezierCurveTo(91.905866,284.08711,74.873379,272.58587,62.202665,256.70632),j.bezierCurveTo(50.11906,241.56257,44.228048,226.01748,43.257799,206.71498),j.bezierCurveTo(41.560634,172.95091,57.502272,144.04252,87.68464900000001,126.1518),j.bezierCurveTo(113.85468,110.63942,151.67555000000002,111.15554999999999,176.27348,127.36075),j.bezierCurveTo(180.25579000000002,129.9843,185.18402,133.59167,187.22511,135.37712),j.bezierCurveTo(194.61144,141.83832999999998,205.94366,148.05088999999998,218.69964,152.63209999999998),j.bezierCurveTo(245.95179,162.41950999999997,276.56952,161.09978999999998,302.53531,149.01852999999997),j.bezierCurveTo(312.66749999999996,144.30425999999997,319.21466,140.23029999999997,324.17127999999997,135.55560999999997),j.bezierCurveTo(333.89739,126.38270999999997,351.79472999999996,118.14201999999997,367.20779999999996,115.73977999999997),j.bezierCurveTo(378.37728999999996,113.99892999999997,395.02293999999995,115.10837999999997,406.09866999999997,118.33190999999997),j.bezierCurveTo(427.39104999999995,124.52893999999996,447.81205,140.89770999999996,458.49307999999996,160.32946999999996),j.bezierCurveTo(466.21541999999994,174.37854999999996,468.14135,182.79986999999997,468.18706999999995,202.71742999999995),j.bezierCurveTo(468.21646999999996,215.53506999999996,467.84246999999993,219.76843999999994,466.13687999999996,225.92328999999995),j.bezierCurveTo(460.34646999999995,246.81870999999995,443.97394999999995,267.47014999999993,423.77633999999995,279.35468999999995),j.bezierCurveTo(411.54527999999993,286.55159999999995,399.98404999999997,289.09283999999997,379.83469999999994,289.01338999999996),j.bezierCurveTo(354.90229999999997,288.91508999999996,338.08241999999996,282.66270999999995,322.01485999999994,267.52031999999997),j.bezierCurveTo(312.0940299999999,258.17073,292.45028999999994,249.89035999999996,272.32759999999996,246.57576999999998),j.bezierCurveTo(254.94397999999995,243.71236999999996,234.25916999999995,245.61216,218.58554999999996,251.51169),j.bezierCurveTo(206.28085999999996,256.14317,191.57338999999996,264.45267,188.72360999999995,268.38324),j.bezierCurveTo(186.89117999999996,270.91063,172.96095999999994,280.26608,166.96462999999994,282.99643),j.bezierCurveTo(164.03704999999994,284.32946999999996,158.23248999999996,286.16623,154.06560999999994,287.07811999999996),j.bezierCurveTo(145.28290999999993,289.00015999999994,123.31454999999994,289.87026999999995,116.68995999999993,288.55846999999994),j.lineTo(116.68995999999993,288.55846999999994),j.closePath(),j.fillStyle=h(s,.1),j.fill(),j.stroke(),j.restore(),j.restore(),j.restore())}function u(s){var t=!1;j.strokeStyle=s,j.lineWidth=3,j.beginPath(),j.arc(145,205,40,.35*Math.PI,1.65*Math.PI,t),j.stroke(),j.beginPath(),j.arc(345,205,40,1.35*Math.PI,.65*Math.PI,t),j.stroke(),j.beginPath(),j.arc(245,100,40,.8*Math.PI,2.2*Math.PI,t),j.stroke(),j.beginPath(),j.arc(245,310,40,1.82*Math.PI,1.18*Math.PI,t),j.stroke(),j.beginPath(),j.arc(182,140,35,1.84*Math.PI,.7*Math.PI,t),j.stroke(),j.beginPath(),j.arc(308,140,35,.3*Math.PI,1.18*Math.PI,t),j.stroke(),j.beginPath(),j.arc(182,270,35,1.3*Math.PI,.2*Math.PI,t),j.stroke(),j.beginPath(),j.arc(308,270,35,.8*Math.PI,1.7*Math.PI,t),j.stroke(),d(s)>=.6&&(j.save(),j.beginPath(),j.moveTo(0,0),j.lineTo(500,0),j.lineTo(500,415),j.lineTo(0,415),j.closePath(),j.clip(),j.strokeStyle="rgba(0,0,0,0)",j.lineCap="butt",j.lineJoin="miter",j.miterLimit=4,j.save(),j.restore(),j.save(),j.restore(),j.save(),j.translate(-140,-212),j.save(),j.strokeStyle="rgba(0,0,0,0)",j.translate(139,217),j.beginPath(),j.moveTo(234.95394,341.16933),j.bezierCurveTo(231.80731999999998,340.135,227.61570999999998,338.28931,225.63925999999998,337.0678),j.bezierCurveTo(221.28248999999997,334.37516999999997,214.37806999999998,326.70736999999997,211.83772,321.74032),j.bezierCurveTo(207.9414,314.12196,208.45042999999998,293.37118,212.67719,287.51943),j.bezierCurveTo(215.87649,283.09018,218.95801,274.65101,219.59244,268.58113),j.bezierCurveTo(220.45250000000001,260.35249,218.0029,251.63114999999996,212.48275,243.26837999999998),j.bezierCurveTo(206.02273000000002,233.48175999999998,198.89664000000002,229.43794999999997,185.95006,228.21201),j.bezierCurveTo(178.17816000000002,227.47606,172.06373000000002,228.9391,162.89332000000002,233.72894),j.bezierCurveTo(156.28128,237.18251999999998,155.23208000000002,237.42228,146.73088,237.42244),j.bezierCurveTo(135.51808000000003,237.42266,128.41302000000002,234.90269,121.10778000000002,228.33465999999999),j.bezierCurveTo(114.30638000000002,222.21962,111.33466000000001,216.76216,109.78745000000002,207.54525999999998),j.bezierCurveTo(108.21951000000003,198.20489999999998,109.69855000000003,187.35654,113.42449000000002,180.86914),j.bezierCurveTo(116.70310000000002,175.16054,123.50535000000002,169.17129,130.61112000000003,165.73660999999998),j.bezierCurveTo(135.84135000000003,163.2085,137.81975000000003,162.82216,145.72073000000003,162.78605),j.bezierCurveTo(154.43018000000004,162.74624999999997,155.21524000000002,162.9348,164.40855000000002,167.27446999999998),j.bezierCurveTo(173.55745000000002,171.59319999999997,174.43144,171.80518999999998,183.14876,171.82016),j.bezierCurveTo(191.71748000000002,171.83496,192.78155,171.59418,200.06856000000002,167.99274),j.bezierCurveTo(206.71571000000003,164.70754,208.40559000000002,163.31437,211.70876,158.39629),j.bezierCurveTo(216.86766,150.71523,219.00004,144.97677,219.64970000000002,137.02646),j.bezierCurveTo(220.25703000000001,129.59413999999998,217.81806000000003,120.60798999999999,213.36866000000003,113.88449999999999),j.bezierCurveTo(208.31047000000004,106.24103999999998,207.60430000000002,86.789031,212.06743000000003,78.04059099999999),j.bezierCurveTo(215.36468000000002,71.57742099999999,222.48250000000002,64.79066099999999,229.83172000000002,61.10251999999999),j.bezierCurveTo(236.05208000000002,57.98088699999999,237.41276000000002,57.68862899999999,245.72583000000003,57.68862899999999),j.bezierCurveTo(253.41441000000003,57.68862899999999,255.67446000000004,58.09343499999999,260.37304,60.31215099999999),j.bezierCurveTo(277.08479,68.203604,286.51407,86.23497699999999,282.57463,102.76767),j.bezierCurveTo(281.86319000000003,105.75339,279.29147,112.06009,276.85971,116.78255),j.bezierCurveTo(273.65874,122.99881,272.27383000000003,127.0461,271.84239,131.44528),j.bezierCurveTo(270.33639000000005,146.80139,279.61874,162.9296,293.20300000000003,168.5596),j.bezierCurveTo(306.55802000000006,174.09458999999998,314.0903,173.65240999999997,329.06341000000003,166.45448),j.bezierCurveTo(336.00568000000004,163.11717,337.40021,162.8096,345.73093000000006,162.77846),j.bezierCurveTo(353.96010000000007,162.74776,355.45355000000006,163.05339,361.47832000000005,166.00153),j.bezierCurveTo(369.53210000000007,169.94254,376.64791,177.20452,380.3403400000001,185.25103000000001),j.bezierCurveTo(382.5644300000001,190.09773,382.9971500000001,192.49377,383.0256800000001,200.12014000000002),j.bezierCurveTo(383.0562800000001,208.31117000000003,382.74275000000006,209.86176000000003,379.8593200000001,215.77750000000003),j.bezierCurveTo(376.0651900000001,223.56169000000003,370.1637800000001,229.56756000000004,362.0334900000001,233.91890000000004),j.bezierCurveTo(351.4550500000001,239.58048000000002,339.7398500000001,239.17006000000003,326.6582200000001,232.67959000000005),j.bezierCurveTo(310.6073100000001,224.71590000000003,294.4869300000001,227.24494000000004,281.98739000000006,239.68774000000005),j.bezierCurveTo(270.03863000000007,251.58229000000006,268.4080000000001,270.18789000000004,277.92910000000006,285.99336000000005),j.bezierCurveTo(284.3299400000001,296.61906000000005,285.13914000000005,307.05507000000006,280.51249000000007,319.31069),j.bezierCurveTo(277.5959900000001,327.03626,268.9701400000001,335.93369,260.6715500000001,339.77631),j.bezierCurveTo(253.04107000000008,343.30956000000003,243.1026400000001,343.84789,234.95394000000007,341.16933),j.lineTo(234.95394000000007,341.16933),j.closePath(),j.fillStyle=h(s,.1),j.fill(),j.stroke(),j.restore(),j.restore(),j.restore())}function p(s){var t=!1;j.strokeStyle=s,j.lineWidth=3,j.beginPath(),j.arc(151,205,18,.4*Math.PI,1.6*Math.PI,t),j.stroke(),j.beginPath(),j.arc(167,238,18,1.35*Math.PI,2.42*Math.PI,t),j.stroke(),j.beginPath(),j.arc(180,272,18,.18*Math.PI,1.33*Math.PI,t),j.stroke(),j.beginPath(),j.arc(212,289,18,1.15*Math.PI,2.1*Math.PI,t),j.stroke(),j.beginPath(),j.arc(245,302,18,1.85*Math.PI,1.15*Math.PI,t),j.stroke(),j.beginPath(),j.arc(279,289,18,.87*Math.PI,1.85*Math.PI,t),j.stroke(),j.beginPath(),j.arc(311,272,18,1.65*Math.PI,.85*Math.PI,t),j.stroke(),j.beginPath(),j.arc(325,238,18,.54*Math.PI,1.68*Math.PI,t),j.stroke(),j.beginPath(),j.arc(340,205,18,1.37*Math.PI,.59*Math.PI,t),j.stroke(),j.beginPath(),j.arc(325,172,18,.35*Math.PI,1.4*Math.PI,t),j.stroke(),j.beginPath(),j.arc(311,138,18,1.15*Math.PI,2.35*Math.PI,t),j.stroke(),j.beginPath(),j.arc(279,122,18,.17*Math.PI,1.1*Math.PI,t),j.stroke(),j.beginPath(),j.arc(245,108,18,.8*Math.PI,2.15*Math.PI,t),j.stroke(),j.beginPath(),j.arc(212,122,18,1.9*Math.PI,.85*Math.PI,t),j.stroke(),j.beginPath(),j.arc(180,138,18,.65*Math.PI,1.85*Math.PI,t),j.stroke(),j.beginPath(),j.arc(167,172,18,1.6*Math.PI,.7*Math.PI,t),j.stroke(),d(s)>=.6&&(j.save(),j.beginPath(),j.moveTo(0,0),j.lineTo(500,0),j.lineTo(500,415),j.lineTo(0,415),j.closePath(),j.clip(),j.strokeStyle="rgba(0,0,0,0)",j.lineCap="butt",j.lineJoin="miter",j.miterLimit=4,j.save(),j.restore(),j.save(),j.restore(),j.save(),j.translate(-4,-637),j.save(),j.strokeStyle="rgba(0,0,0,0)",j.translate(0,637),j.beginPath(),j.moveTo(242.80929,316.76895),j.bezierCurveTo(239.2558,315.3947,234.83257,308.84895,234.18254000000002,304.00262000000004),j.bezierCurveTo(233.85998,301.59777,234.27994,298.62012000000004,235.27891000000002,296.22928),j.bezierCurveTo(237.39948,291.15406,237.29592000000002,285.99823000000004,234.97058,280.87787000000003),j.bezierCurveTo(231.58546,273.42388000000005,224.01393000000002,268.42150000000004,216.05280000000002,268.37923),j.bezierCurveTo(210.33377000000002,268.34883,202.51030000000003,272.78013,198.27794000000003,278.44704),j.bezierCurveTo(196.41545000000002,280.94083,193.36619000000002,284.00917000000004,191.50181000000003,285.26557),j.bezierCurveTo(180.81154000000004,292.46974,165.85368000000003,281.37461,168.71196000000003,268.36097),j.bezierCurveTo(169.66342000000003,264.02899,174.42957000000004,258.84685,179.89636000000004,256.20042),j.bezierCurveTo(188.48844000000005,252.04107000000002,193.00795000000005,242.34352,190.58184000000006,233.27254000000002),j.bezierCurveTo(189.87870000000007,230.64358000000001,188.21908000000005,227.07100000000003,186.89381000000006,225.33348),j.bezierCurveTo(182.51221000000007,219.58889000000002,172.48125000000005,216.46373,166.00572000000005,218.82574),j.bezierCurveTo(160.88401000000005,220.69395,153.47334000000006,221.17446999999999,149.58323000000004,219.89061),j.bezierCurveTo(147.65941000000004,219.25570000000002,144.69894000000005,217.15717,143.00442000000004,215.22721),j.bezierCurveTo(140.25313000000003,212.09367,139.92347000000004,211.02317000000002,139.92347000000004,205.22251),j.bezierCurveTo(139.92347000000004,199.42185,140.25313000000003,198.35135,143.00442000000004,195.21781),j.bezierCurveTo(148.08184000000003,189.43495,155.59116000000003,188.31217999999998,166.73325000000003,191.66995999999997),j.bezierCurveTo(171.89873000000003,193.22662999999997,176.76581000000002,192.32402999999996,182.19737000000003,188.80213999999998),j.bezierCurveTo(186.99980000000002,185.68819,191.44125000000003,178.0236,191.44125000000003,172.85002999999998),j.bezierCurveTo(191.44125000000003,165.91124999999997,187.02605000000003,157.91411999999997,181.72540000000004,155.25199999999998),j.bezierCurveTo(168.68097000000003,148.70074999999997,164.62205000000003,137.69753999999998,171.78539000000004,128.30592),j.bezierCurveTo(178.71368000000004,119.22245999999998,190.67567000000003,120.01398999999998,197.23888000000002,129.99017999999998),j.bezierCurveTo(204.51058000000003,141.04331,214.32951000000003,144.72351999999998,224.37555000000003,140.16123),j.bezierCurveTo(235.23365000000004,135.23013999999998,238.86734000000004,125.44275999999999,234.78543000000002,112.12207),j.bezierCurveTo(233.16446000000002,106.83225999999999,234.54797000000002,101.56208,238.76789000000002,96.95178),j.bezierCurveTo(248.33151000000004,86.503446,267.39820000000003,96.55735,264.708,110.63005),j.bezierCurveTo(262.24834000000004,123.49681,263.43732,130.24138,269.17704000000003,135.9811),j.bezierCurveTo(273.84920000000005,140.65326,279.80664,142.46487,287.54524000000004,141.56671),j.bezierCurveTo(290.80029,141.18892,293.25246000000004,140.53831,292.99449000000004,140.12091),j.bezierCurveTo(292.73652000000004,139.70352,293.68403000000006,138.74196,295.10007,137.98412000000002),j.bezierCurveTo(296.51611,137.22628000000003,298.81193,134.66566000000003,300.2019,132.29385000000002),j.bezierCurveTo(303.47878000000003,126.70229000000002,307.77937000000003,123.14413000000002,312.28166000000004,122.29950000000002),j.bezierCurveTo(323.19238000000007,120.25263000000002,332.5219000000001,130.29284,330.36964000000006,141.76535),j.bezierCurveTo(329.6006300000001,145.86456,323.8285400000001,152.29884,317.5065000000001,156.10419000000002),j.bezierCurveTo(312.2969800000001,159.23989,308.17124000000007,167.72107000000003,308.8642700000001,173.86973),j.bezierCurveTo(309.6787300000001,181.09556,313.7704700000001,186.95133,320.2047800000001,190.09934),j.bezierCurveTo(326.1904100000001,193.02784000000003,330.20042000000007,193.13284000000002,338.9627100000001,190.59052000000003),j.bezierCurveTo(344.9917000000001,188.84125000000003,350.1988400000001,189.89377000000002,354.59001000000006,193.74927000000002),j.bezierCurveTo(368.2933100000001,205.78092000000004,353.68808000000007,226.52374000000003,336.55395000000004,219.36465),j.bezierCurveTo(323.93852000000004,214.09358,308.93266000000006,224.16784,308.71798000000007,238.05247),j.bezierCurveTo(308.6646800000001,241.50290999999999,311.2253800000001,248.07176,313.86683000000005,251.26035),j.bezierCurveTo(314.59179000000006,252.13548,316.54865000000007,253.7222,318.21540000000005,254.7864),j.bezierCurveTo(324.03371000000004,258.50135,328.85284000000007,263.67991,329.97401,267.42204),j.bezierCurveTo(332.95992,277.3881,325.11943,287.55831,314.45977000000005,287.54616999999996),j.bezierCurveTo(309.88386,287.54116999999997,305.3854400000001,284.53792999999996,300.84666000000004,278.45842999999996),j.bezierCurveTo(295.84636000000006,271.76072,288.36647000000005,267.87215,281.88796,268.60236999999995),j.bezierCurveTo(274.64614,269.41862999999995,268.80722000000003,273.50679999999994,265.64137,279.97756999999996),j.bezierCurveTo(263.21128,284.94451999999995,262.99769,286.21504999999996,263.64589,291.84819999999996),j.bezierCurveTo(265.39685000000003,307.06499999999994,264.64547,310.09781999999996,257.87161000000003,315.15523999999994),j.bezierCurveTo(254.81776000000002,317.43526999999995,246.76347000000004,318.2981699999999,242.80929000000003,316.76894999999996),j.lineTo(242.80929000000003,316.76894999999996),j.closePath(),j.fillStyle=h(s,.1),j.fill(),j.stroke(),j.restore(),j.restore(),j.restore())
+			}function n(s,t,e,l,r){var o=10;j.beginPath(),j.moveTo(s+o,t),j.lineTo(s+e-o,t),j.quadraticCurveTo(s+e,t,s+e,t+o),j.lineTo(s+e,t+l-o),j.quadraticCurveTo(s+e,t+l,s+e-o,t+l),j.lineTo(s+o,t+l),j.quadraticCurveTo(s,t+l,s,t+l-o),j.lineTo(s,t+o),j.quadraticCurveTo(s,t,s+o,t),j.closePath(),j.lineWidth=3,j.strokeStyle=r,d(r)>=.6&&(j.fillStyle=h(r,.1),j.fill()),j.stroke()}function C(s,t,e,l,r){s.beginPath(),s.moveTo(t,e),s.lineTo(l,r),s.closePath(),s.stroke()}function f(s,t,e,l,r,o,c){s.beginPath(),s.rect(t,e,l,r),s.closePath(),s.lineWidth=.75,s.shadowColor="rgba(0,0,0, 0.4)",s.shadowBlur=7,s.shadowOffsetX=2,s.shadowOffsetY=-2,s.strokeStyle=c,s.stroke(),s.fillStyle=o,s.fill()}function h(s,t){var e=s.slice(s.indexOf("(")+1,s.indexOf(")")),l=e.split(",");return"rgba("+l[0]+","+l[1]+","+l[2]+","+t+")"}function d(s){var t=s.slice(s.indexOf("(")+1,s.indexOf(")")),e=t.split(",");return e[3]}function b(){j.clearRect(0,0,O,N)}function v(t){for(var e="rgba(0,0,0, 0.7)",l=120,o=70,c=415,i=20,a=(370-t*i)/t,u=265,p=A(),n=new Array,d=0,b=0;t>b;b++)d=Math.max(d,p[b]);for(var b=0;t>b;b++)n.push(p[b]/d*(l-50));j.fillStyle="#000",j.font="italic 10pt Arial",j.textAlign="center",j.fillText("Size of each list",250,c+27),j.font="normal 12pt Arial",j.textAlign="right",j.fillText(0,45,c+l+2),j.fillText(d/2,45,c+(l+55)/2),j.fillText(d,45,c+54),j.textAlign="left";for(var b=0;t>b;b++)f(j,o+b*a+b*i,c+l-n[b],a,n[b],h(B.colors[b],.5),B.colors[b]),l-n[b]+15<=l-10?(j.textAlign="right",j.fillStyle="white",j.fillText(p[b],a+65+b*a+b*i,c+l-n[b]+15)):(j.textAlign="right",j.fillText(p[b],a+65+b*a+b*i,c+l-n[b]-10)),u=b%2&&t>2?c+l+25:c+l+15,j.fillStyle="#000",j.textAlign="center",j.fillText(s("#label"+(b+1)).html(),o+b*a+b*i+a/2,u,200),j.strokeStyle=e,j.lineWidth=.4,C(j,o+b*a+b*i+a/2,c+l,o+b*a+b*i+a/2,c+l+5);j.lineWidth=1,j.strokeStyle=e,C(j,50,c+l,50,c+35),C(j,50,c+l,450,c+l),j.lineWidth=.4,C(j,47,c+(l+48)/2,53,c+(l+48)/2),C(j,47,c+50,53,c+50),r(50,c+25,46,c+35,54,c+35,e),r(460,c+l,450,c+l-4,450,c+l+4,e);var v=k(),m=new Array;i=2,o=60,c+=l+50;for(var g=390+i,x=0,b=0;t>b;b++)x+=v[b];for(var b=0;t>b;b++)m.push(v[b]/x*g);j.font="italic 10pt Arial",j.textAlign="center",j.fillText("Number of elements: specific (1) or shared by 2, 3, ... lists",250,c),j.font="normal 10pt Arial";for(var y=0,_=0,b=t-1;b>=0;b--)0!=m[b]&&(f(j,o+y,c+15,m[b]-i,20,h("rgb(156,106,156)",1/(b+1.5)),"rgba(0,0,0,0.5)"),j.textAlign="center",j.fillStyle="white",m[b]-i<25?(j.fillStyle="#000",j.fillText(b+1,(m[b]-i)/2+o+y,c+57+_),j.textAlign="left",j.fillText("("+v[b]+")",(m[b]-i)/2+o+y+6,c+57+_),48!=_?_+=12:_=0):(_>=24&&(_=0),j.fillText(v[b],(m[b]-i)/2+o+y,c+29),j.fillStyle="#000",j.fillText(b+1,(m[b]-i)/2+o+y,c+57+_),_=0),j.strokeStyle=e,j.lineWidth=.4,C(j,(m[b]-i)/2+o+y,c+40,(m[b]-i)/2+o+y,c+45),y+=m[b]);j.lineWidth=1,j.strokeStyle=e,C(j,50,c+40,460,c+40)}function m(s,t,e,l){B.shortNumber&&s.text().length>l&&s.html("<span title="+s.text()+">?</span>");var r=t-(s.text().length-1)/2*4;s.css("left",r).css("top",e)}function g(s){var t=s.length?s.length:0,e=s[0]instanceof Array?s[0].length:0;for(l=0;t>l;l++)s[l]instanceof Array&&s[l].length>e&&(e=s[l].length);if(0===e||0===t)return[];var l,r,o=[];for(l=0;e>l;l++)for(o[l]=[],r=0;t>r;r++)o[l][r]=s[r][l];return o}function x(t){var e="rgba(0,0,0,0.1)";6==t?(r(0,11,254,160,174,235,h(B.colors[0],s("#label1").css("opacity"))),r(188,0,134,242,236,202,h(B.colors[1],s("#label2").css("opacity"))),r(338,52,135,123,191,242,h(B.colors[2],s("#label3").css("opacity"))),r(500,260,163,117,134,219,h(B.colors[3],s("#label4").css("opacity"))),r(250,415,133,150,203,67,h(B.colors[4],s("#label5").css("opacity"))),r(11,307,263,81,214,220,h(B.colors[5],s("#label6").css("opacity"))),s("#label1").css("left",35).css("top",10).css("color",B.colors[0]),s("#label2").css("left",200).css("top",5).css("color",B.colors[1]),s("#label3").css("left",335).css("top",60).css("color",B.colors[2]),s("#label4").css("left",410).css("top",200).css("color",B.colors[3]),s("#label5").css("left",255).css("top",385).css("color",B.colors[4]),s("#label6").css("left",30).css("top",300).css("color",B.colors[5]),m(s("#resultC100000"),98,90,6),m(s("#resultC010000"),187,50,4),m(s("#resultC001000"),280,80,6),m(s("#resultC000100"),320,205,6),m(s("#resultC000010"),212,272,5),m(s("#resultC000001"),100,240,6),m(s("#resultC111111"),185,170,6),o(140,80,166,110,e),m(s("#resultC110000"),132,60,6),m(s("#resultC101000"),142,116,2),o(75,180,145,185,e),o(75,180,65,175,e),m(s("#resultC100100"),55,157,6),m(s("#resultC100010"),140,145,2),o(75,200,142,190,e),o(75,200,65,195,e),m(s("#resultC100001"),55,177,6),o(230,80,212,115,e),m(s("#resultC011000"),230,60,6),m(s("#resultC010100"),225,190,1),m(s("#resultC010010"),193,82,3),m(s("#resultC010001"),145,218,2),o(295,145,235,180,e),m(s("#resultC001100"),302,132,6),o(275,270,193,233,e),m(s("#resultC001010"),275,268,6),m(s("#resultC001001"),232,113,4),m(s("#resultC000110"),216,211,1),o(75,220,140,205,e),o(75,220,65,215,e),m(s("#resultC000101"),55,197,6),o(150,270,183,230,e),m(s("#resultC000011"),145,268,6),m(s("#resultC111110"),170,130,6),s("#resultC111110").hide(),m(s("#resultC111101"),218,155,6),s("#resultC111101").hide(),m(s("#resultC111011"),205,125,6),s("#resultC111011").hide(),m(s("#resultC110111"),160,190,6),s("#resultC110111").hide(),m(s("#resultC101111"),180,212,6),s("#resultC101111").hide(),m(s("#resultC011111"),208,197,6),s("#resultC011111").hide(),m(s("#resultC111100"),225,170,6),s("#resultC111100").hide(),m(s("#resultC111010"),182,113,6),s("#resultC111010").hide(),m(s("#resultC110110"),149,163,6),s("#resultC110110").hide(),m(s("#resultC101110"),152,140,6),s("#resultC101110").hide(),m(s("#resultC011110"),215,195,6),s("#resultC011110").hide(),m(s("#resultC111001"),212,128,6),s("#resultC111001").hide(),m(s("#resultC110101"),150,194,6),s("#resultC110101").hide(),m(s("#resultC110011"),168,216,6),s("#resultC110011").hide(),m(s("#resultC101101"),226,145,6),s("#resultC101101").hide(),m(s("#resultC101011"),178,216,6),s("#resultC101011").hide(),m(s("#resultC100111"),178,214,6),s("#resultC100111").hide(),m(s("#resultC011101"),218,180,6),s("#resultC011101").hide(),m(s("#resultC011011"),206,122,6),s("#resultC011011").hide(),m(s("#resultC010111"),215,198,6),s("#resultC010111").hide(),m(s("#resultC001111"),200,208,6),s("#resultC001111").hide(),m(s("#resultC111000"),156,105,6),s("#resultC111000").hide(),m(s("#resultC110100"),145,174,6),s("#resultC110100").hide(),m(s("#resultC110010"),163,100,6),s("#resultC110010").hide(),m(s("#resultC101100"),238,152,6),s("#resultC101100").hide(),m(s("#resultC101010"),148,128,6),s("#resultC101010").hide(),m(s("#resultC100110"),145,158,6),s("#resultC100110").hide(),m(s("#resultC011100"),226,178,6),s("#resultC011100").hide(),m(s("#resultC011010"),195,105,6),s("#resultC011010").hide(),m(s("#resultC010110"),218,198,6),s("#resultC010110").hide(),m(s("#resultC001110"),202,216,6),s("#resultC001110").hide(),m(s("#resultC110001"),160,213,6),s("#resultC110001").hide(),m(s("#resultC101001"),220,132,6),s("#resultC101001").hide(),m(s("#resultC100101"),139,182,6),s("#resultC100101").hide(),m(s("#resultC100011"),170,220,6),s("#resultC100011").hide(),m(s("#resultC011001"),212,122,6),s("#resultC011001").hide(),m(s("#resultC010101"),146,203,6),s("#resultC010101").hide(),m(s("#resultC010011"),164,220,6),s("#resultC010011").hide(),m(s("#resultC001101"),233,138,6),s("#resultC001101").hide(),m(s("#resultC001011"),185,218,6),s("#resultC001011").hide(),m(s("#resultC000111"),209,207,6),s("#resultC000111").hide()):5==t?(l(214,230,10,18.6,9.5,25,h(B.colors[0],s("#label1").css("opacity"))),l(232,187,10,18.6,9.5,98,h(B.colors[1],s("#label2").css("opacity"))),l(273,196,10,18.6,9.5,170,h(B.colors[2],s("#label3").css("opacity"))),l(282,238,10,18.6,9.5,62,h(B.colors[3],s("#label4").css("opacity"))),l(242,260,10,18.6,9.5,134,h(B.colors[4],s("#label5").css("opacity"))),s("#label1").css("left",0).css("top",100).css("color",B.colors[0]),s("#label2").css("left",310).css("top",15).css("color",B.colors[1]),s("#label3").css("left",450).css("top",120).css("color",B.colors[2]),s("#label4").css("left",387).css("top",400).css("color",B.colors[3]),s("#label5").css("left",40).css("top",400).css("color",B.colors[4]),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),75,150,6),m(s("#resultC010000"),245,30,6),m(s("#resultC001000"),415,162,6),m(s("#resultC000100"),350,370,6),m(s("#resultC000010"),132,370,6),m(s("#resultC110000"),152,118,2),m(s("#resultC101000"),110,200,6),m(s("#resultC100100"),350,295,6),m(s("#resultC100010"),125,273,2),m(s("#resultC011000"),309,94,3),m(s("#resultC010100"),215,82,6),m(s("#resultC010010"),195,340,6),m(s("#resultC001100"),378,232,2),m(s("#resultC001010"),360,140,5),m(s("#resultC000110"),261,347,2),m(s("#resultC111000"),148,180,4),m(s("#resultC110100"),168,113,2),m(s("#resultC110010"),176,295,6),m(s("#resultC101100"),367,248,2),m(s("#resultC101010"),127,256,2),m(s("#resultC100110"),305,300,4),m(s("#resultC011100"),240,110,6),m(s("#resultC011010"),317,108,2),m(s("#resultC010110"),248,338,2),m(s("#resultC001110"),345,180,4),m(s("#resultC111100"),185,140,6),m(s("#resultC111010"),158,245,6),m(s("#resultC110110"),250,310,6),m(s("#resultC101110"),330,240,6),m(s("#resultC011110"),290,133,6),m(s("#resultC111110"),245,210,6),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200)):4==t?(l(181,238,10,18.5,11.5,40,h(B.colors[0],s("#label1").css("opacity"))),l(242,177,10,18.5,11.5,40,h(B.colors[1],s("#label2").css("opacity"))),l(259,177,10,18.5,11.5,140,h(B.colors[2],s("#label3").css("opacity"))),l(320,238,10,18.5,11.5,140,h(B.colors[3],s("#label4").css("opacity"))),s("#label1").css("left",5).css("top",70).css("color",B.colors[0]),s("#label2").css("left",85).css("top",5).css("color",B.colors[1]),s("#label3").css("left",350).css("top",5).css("color",B.colors[2]),s("#label4").css("left",428).css("top",70).css("color",B.colors[3]),s("#label5").css("left",-1e3).css("top",-2200),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),55,190,6),m(s("#resultC010000"),140,60,6),m(s("#resultC001000"),335,60,6),m(s("#resultC000100"),430,190,6),m(s("#resultC110000"),105,120,6),m(s("#resultC101000"),130,260,6),m(s("#resultC100100"),245,340,6),m(s("#resultC011000"),245,90,6),m(s("#resultC010100"),365,260,6),m(s("#resultC001100"),385,120,6),m(s("#resultC111000"),160,170,6),m(s("#resultC110100"),310,290,6),m(s("#resultC101100"),180,290,6),m(s("#resultC011100"),330,170,6),m(s("#resultC111100"),245,220,6),s("#resultC000010").css("left",-1e3).css("top",-2200),s("#resultC100010").css("left",-1e3).css("top",-2200),s("#resultC010010").css("left",-1e3).css("top",-2200),s("#resultC001010").css("left",-1e3).css("top",-2200),s("#resultC000110").css("left",-1e3).css("top",-2200),s("#resultC110010").css("left",-1e3).css("top",-2200),s("#resultC101010").css("left",-1e3).css("top",-2200),s("#resultC100110").css("left",-1e3).css("top",-2200),s("#resultC011010").css("left",-1e3).css("top",-2200),s("#resultC010110").css("left",-1e3).css("top",-2200),s("#resultC001110").css("left",-1e3).css("top",-2200),s("#resultC111010").css("left",-1e3).css("top",-2200),s("#resultC110110").css("left",-1e3).css("top",-2200),s("#resultC101110").css("left",-1e3).css("top",-2200),s("#resultC011110").css("left",-1e3).css("top",-2200),s("#resultC111110").css("left",-1e3).css("top",-2200),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200)):3==t?(l(171,142,120,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),l(327,142,120,1,1,0,h(B.colors[1],s("#label2").css("opacity"))),l(249,271,120,1,1,0,h(B.colors[2],s("#label3").css("opacity"))),s("#label1").css("left",55).css("top",5).css("color",B.colors[0]),s("#label2").css("left",380).css("top",5).css("color",B.colors[1]),s("#label3").css("left",220).css("top",400).css("color",B.colors[2]),s("#label4").css("left",-1e3).css("top",-2200),s("#label5").css("left",-1e3).css("top",-2200),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),120,100,8),m(s("#resultC010000"),360,100,8),m(s("#resultC001000"),245,330,8),m(s("#resultC110000"),245,100,8),m(s("#resultC101000"),170,220,8),m(s("#resultC011000"),320,220,8),m(s("#resultC111000"),245,175,8),s("#resultC000100").css("left",-1e3).css("top",-2200),s("#resultC000010").css("left",-1e3).css("top",-2200),s("#resultC100100").css("left",-1e3).css("top",-2200),s("#resultC100010").css("left",-1e3).css("top",-2200),s("#resultC010100").css("left",-1e3).css("top",-2200),s("#resultC010010").css("left",-1e3).css("top",-2200),s("#resultC001100").css("left",-1e3).css("top",-2200),s("#resultC001010").css("left",-1e3).css("top",-2200),s("#resultC000110").css("left",-1e3).css("top",-2200),s("#resultC110100").css("left",-1e3).css("top",-2200),s("#resultC110010").css("left",-1e3).css("top",-2200),s("#resultC101100").css("left",-1e3).css("top",-2200),s("#resultC101010").css("left",-1e3).css("top",-2200),s("#resultC100110").css("left",-1e3).css("top",-2200),s("#resultC011100").css("left",-1e3).css("top",-2200),s("#resultC011010").css("left",-1e3).css("top",-2200),s("#resultC010110").css("left",-1e3).css("top",-2200),s("#resultC001110").css("left",-1e3).css("top",-2200),s("#resultC111100").css("left",-1e3).css("top",-2200),s("#resultC111010").css("left",-1e3).css("top",-2200),s("#resultC110110").css("left",-1e3).css("top",-2200),s("#resultC101110").css("left",-1e3).css("top",-2200),s("#resultC011110").css("left",-1e3).css("top",-2200),s("#resultC111110").css("left",-1e3).css("top",-2200),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200)):2==t?(l(171,206,140,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),l(327,206,140,1,1,0,h(B.colors[1],s("#label2").css("opacity"))),s("#label1").css("left",95).css("top",40).css("color",B.colors[0]),s("#label2").css("left",360).css("top",40).css("color",B.colors[1]),s("#label3").css("left",-1e3).css("top",-2200),s("#label4").css("left",-1e3).css("top",-2200),s("#label5").css("left",-1e3).css("top",-2200),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),120,195,10),m(s("#resultC010000"),360,195,10),m(s("#resultC110000"),250,195,10),s("#resultC001000").css("left",-1e3).css("top",-2200),s("#resultC000100").css("left",-1e3).css("top",-2200),s("#resultC000010").css("left",-1e3).css("top",-2200),s("#resultC101000").css("left",-1e3).css("top",-2200),s("#resultC100100").css("left",-1e3).css("top",-2200),s("#resultC100010").css("left",-1e3).css("top",-2200),s("#resultC011000").css("left",-1e3).css("top",-2200),s("#resultC010100").css("left",-1e3).css("top",-2200),s("#resultC010010").css("left",-1e3).css("top",-2200),s("#resultC001100").css("left",-1e3).css("top",-2200),s("#resultC001010").css("left",-1e3).css("top",-2200),s("#resultC000110").css("left",-1e3).css("top",-2200),s("#resultC111000").css("left",-1e3).css("top",-2200),s("#resultC110100").css("left",-1e3).css("top",-2200),s("#resultC110010").css("left",-1e3).css("top",-2200),s("#resultC101100").css("left",-1e3).css("top",-2200),s("#resultC101010").css("left",-1e3).css("top",-2200),s("#resultC100110").css("left",-1e3).css("top",-2200),s("#resultC011100").css("left",-1e3).css("top",-2200),s("#resultC011010").css("left",-1e3).css("top",-2200),s("#resultC010110").css("left",-1e3).css("top",-2200),s("#resultC001110").css("left",-1e3).css("top",-2200),s("#resultC111100").css("left",-1e3).css("top",-2200),s("#resultC111010").css("left",-1e3).css("top",-2200),s("#resultC110110").css("left",-1e3).css("top",-2200),s("#resultC101110").css("left",-1e3).css("top",-2200),s("#resultC011110").css("left",-1e3).css("top",-2200),s("#resultC111110").css("left",-1e3).css("top",-2200),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200)):(l(246,210,140,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),s("#label1").css("left",225).css("top",30).css("color",B.colors[0]),s("#label2").css("left",-1e3).css("top",-2200),s("#label3").css("left",-1e3).css("top",-2200),s("#label4").css("left",-1e3).css("top",-2200),s("#label5").css("left",-1e3).css("top",-2200),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),245,200,10),s("#resultC010000").css("left",-1e3).css("top",-2200),s("#resultC001000").css("left",-1e3).css("top",-2200),s("#resultC000100").css("left",-1e3).css("top",-2200),s("#resultC000010").css("left",-1e3).css("top",-2200),s("#resultC110000").css("left",-1e3).css("top",-2200),s("#resultC101000").css("left",-1e3).css("top",-2200),s("#resultC100100").css("left",-1e3).css("top",-2200),s("#resultC100010").css("left",-1e3).css("top",-2200),s("#resultC011000").css("left",-1e3).css("top",-2200),s("#resultC010100").css("left",-1e3).css("top",-2200),s("#resultC010010").css("left",-1e3).css("top",-2200),s("#resultC001100").css("left",-1e3).css("top",-2200),s("#resultC001010").css("left",-1e3).css("top",-2200),s("#resultC000110").css("left",-1e3).css("top",-2200),s("#resultC111000").css("left",-1e3).css("top",-2200),s("#resultC110100").css("left",-1e3).css("top",-2200),s("#resultC110010").css("left",-1e3).css("top",-2200),s("#resultC101100").css("left",-1e3).css("top",-2200),s("#resultC101010").css("left",-1e3).css("top",-2200),s("#resultC100110").css("left",-1e3).css("top",-2200),s("#resultC011100").css("left",-1e3).css("top",-2200),s("#resultC011010").css("left",-1e3).css("top",-2200),s("#resultC010110").css("left",-1e3).css("top",-2200),s("#resultC001110").css("left",-1e3).css("top",-2200),s("#resultC111100").css("left",-1e3).css("top",-2200),s("#resultC111010").css("left",-1e3).css("top",-2200),s("#resultC110110").css("left",-1e3).css("top",-2200),s("#resultC101110").css("left",-1e3).css("top",-2200),s("#resultC011110").css("left",-1e3).css("top",-2200),s("#resultC111110").css("left",-1e3).css("top",-2200),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200))}function y(t){6==t?(c(246,206,90,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),n(245,25,250,365,h(B.colors[1],s("#label2").css("opacity"))),n(5,205,490,185,h(B.colors[2],s("#label3").css("opacity"))),a(h(B.colors[3],s("#label4").css("opacity"))),u(h(B.colors[4],s("#label5").css("opacity"))),p(h(B.colors[5],s("#label6").css("opacity"))),s("#label1").css("left",297).css("top",90).css("color",B.colors[0]),s("#label2").css("left",267).css("top",0).css("color",B.colors[1]),s("#label3").css("left",27).css("top",400).css("color",B.colors[2]),s("#label4").css("left",55).css("top",90).css("color",B.colors[3]),s("#label5").css("left",282).css("top",45).css("color",B.colors[4]),s("#label6").css("left",297).css("top",302).css("color",B.colors[5]),m(s("#resultC100000"),204,122,1),m(s("#resultC010000"),390,70,6),m(s("#resultC001000"),85,330,6),m(s("#resultC000100"),85,150,6),m(s("#resultC000010"),225,70,3),m(s("#resultC110000"),280,122,1),m(s("#resultC101000"),204,269,1),m(s("#resultC100100"),172,155,1),m(s("#resultC100010"),218,118,1),m(s("#resultC011000"),390,330,6),m(s("#resultC010100"),390,150,6),m(s("#resultC010010"),258,70,3),m(s("#resultC001100"),85,240,6),m(s("#resultC001010"),225,320,3),m(s("#resultC000110"),120,178,2),m(s("#resultC111000"),280,269,1),m(s("#resultC110100"),314,155,1),m(s("#resultC110010"),266,118,1),m(s("#resultC101100"),172,235,1),m(s("#resultC101010"),219,274,1),m(s("#resultC100110"),167,171,1),m(s("#resultC011100"),390,240,6),m(s("#resultC011010"),258,320,3),m(s("#resultC010110"),365,178,2),m(s("#resultC001110"),120,212,2),m(s("#resultC111100"),315,235,1),m(s("#resultC111010"),266,274,1),m(s("#resultC110110"),320,171,1),m(s("#resultC101110"),166,218,1),m(s("#resultC011110"),365,212,2),m(s("#resultC111110"),320,218,1),m(s("#resultC000001"),180,120,1),m(s("#resultC100001"),199,134,1),m(s("#resultC010001"),304,120,1),m(s("#resultC001001"),179,271,1),m(s("#resultC000101"),169,132,1),m(s("#resultC000011"),234,95,1),m(s("#resultC110001"),286,134,1),m(s("#resultC101001"),199,256,1),m(s("#resultC100101"),190,149,1),m(s("#resultC100011"),228,135,3),m(s("#resultC011001"),306,272,1),m(s("#resultC010101"),317,132,1),m(s("#resultC010011"),250,95,1),m(s("#resultC001101"),167,260,1),m(s("#resultC001011"),233,296,1),m(s("#resultC000111"),143,187,1),m(s("#resultC111001"),285,256,1),m(s("#resultC110101"),295,149,1),m(s("#resultC110011"),255,135,3),m(s("#resultC101101"),190,242,1),m(s("#resultC101011"),227,255,3),m(s("#resultC100111"),213,178,6),m(s("#resultC011101"),318,259,1),m(s("#resultC011011"),250,296,1),m(s("#resultC010111"),342,187,1),m(s("#resultC001111"),143,203,1),m(s("#resultC111101"),295,240,1),m(s("#resultC111011"),256,255,3),m(s("#resultC110111"),270,178,6),m(s("#resultC101111"),213,212,6),m(s("#resultC011111"),342,203,1),m(s("#resultC111111"),270,212,6)):5==t?(c(246,206,90,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),n(245,25,250,365,h(B.colors[1],s("#label2").css("opacity"))),n(5,205,490,185,h(B.colors[2],s("#label3").css("opacity"))),a(h(B.colors[3],s("#label4").css("opacity"))),u(h(B.colors[4],s("#label5").css("opacity"))),s("#label1").css("left",297).css("top",90).css("color",B.colors[0]),s("#label2").css("left",267).css("top",0).css("color",B.colors[1]),s("#label3").css("left",27).css("top",400).css("color",B.colors[2]),s("#label4").css("left",55).css("top",90).css("color",B.colors[3]),s("#label5").css("left",282).css("top",45).css("color",B.colors[4]),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),200,130,3),m(s("#resultC010000"),390,70,6),m(s("#resultC001000"),85,330,6),m(s("#resultC000100"),85,150,6),m(s("#resultC000010"),225,80,4),m(s("#resultC110000"),284,130,3),m(s("#resultC101000"),200,260,3),m(s("#resultC100100"),185,150,4),m(s("#resultC100010"),228,130,3),m(s("#resultC011000"),390,330,6),m(s("#resultC010100"),390,150,6),m(s("#resultC010010"),258,80,4),m(s("#resultC001100"),85,240,6),m(s("#resultC001010"),225,310,4),m(s("#resultC000110"),133,178,6),m(s("#resultC111000"),284,260,3),m(s("#resultC110100"),300,150,4),m(s("#resultC110010"),255,130,3),m(s("#resultC101100"),185,240,4),m(s("#resultC101010"),228,260,3),m(s("#resultC100110"),213,178,6),m(s("#resultC011100"),390,240,6),m(s("#resultC011010"),258,310,4),m(s("#resultC010110"),355,178,6),m(s("#resultC001110"),133,212,6),m(s("#resultC111100"),300,240,4),m(s("#resultC111010"),256,260,3),m(s("#resultC110110"),270,178,6),m(s("#resultC101110"),213,212,6),m(s("#resultC011110"),355,212,6),m(s("#resultC111110"),270,212,6),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200)):4==t?(c(246,206,90,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),n(245,25,250,365,h(B.colors[1],s("#label2").css("opacity"))),n(5,205,490,185,h(B.colors[2],s("#label3").css("opacity"))),a(h(B.colors[3],s("#label4").css("opacity"))),s("#label1").css("left",267).css("top",90).css("color",B.colors[0]),s("#label2").css("left",267).css("top",0).css("color",B.colors[1]),s("#label3").css("left",27).css("top",400).css("color",B.colors[2]),s("#label4").css("left",27).css("top",90).css("color",B.colors[3]),s("#label5").css("left",-1e3).css("top",-2200),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),215,130,6),m(s("#resultC010000"),390,70,6),m(s("#resultC001000"),85,330,6),m(s("#resultC000100"),85,150,6),m(s("#resultC110000"),265,130,6),m(s("#resultC101000"),215,260,6),m(s("#resultC100100"),200,170,6),m(s("#resultC011000"),390,330,6),m(s("#resultC010100"),390,150,6),m(s("#resultC001100"),85,240,6),m(s("#resultC111000"),265,260,6),m(s("#resultC110100"),280,170,6),m(s("#resultC101100"),200,220,6),m(s("#resultC011100"),390,240,6),m(s("#resultC111100"),280,220,6),s("#resultC000010").css("left",-1e3).css("top",-2200),s("#resultC100010").css("left",-1e3).css("top",-2200),s("#resultC010010").css("left",-1e3).css("top",-2200),s("#resultC001010").css("left",-1e3).css("top",-2200),s("#resultC000110").css("left",-1e3).css("top",-2200),s("#resultC110010").css("left",-1e3).css("top",-2200),s("#resultC101010").css("left",-1e3).css("top",-2200),s("#resultC100110").css("left",-1e3).css("top",-2200),s("#resultC011010").css("left",-1e3).css("top",-2200),s("#resultC010110").css("left",-1e3).css("top",-2200),s("#resultC001110").css("left",-1e3).css("top",-2200),s("#resultC111010").css("left",-1e3).css("top",-2200),s("#resultC110110").css("left",-1e3).css("top",-2200),s("#resultC101110").css("left",-1e3).css("top",-2200),s("#resultC011110").css("left",-1e3).css("top",-2200),s("#resultC111110").css("left",-1e3).css("top",-2200),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200)):3==t?(c(246,206,110,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),n(245,25,250,365,h(B.colors[1],s("#label2").css("opacity"))),n(5,205,490,185,h(B.colors[2],s("#label3").css("opacity"))),s("#label1").css("left",95).css("top",75).css("color",B.colors[0]),s("#label2").css("left",267).css("top",0).css("color",B.colors[1]),s("#label3").css("left",27).css("top",400).css("color",B.colors[2]),s("#label4").css("left",-1e3).css("top",-2200),s("#label5").css("left",-1e3).css("top",-2200),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),190,150,8),m(s("#resultC010000"),390,70,8),m(s("#resultC001000"),85,330,8),m(s("#resultC110000"),290,150,8),m(s("#resultC101000"),190,240,8),m(s("#resultC011000"),390,330,8),m(s("#resultC111000"),290,240,8),s("#resultC000100").css("left",-1e3).css("top",-2200),s("#resultC000010").css("left",-1e3).css("top",-2200),s("#resultC100100").css("left",-1e3).css("top",-2200),s("#resultC100010").css("left",-1e3).css("top",-2200),s("#resultC010100").css("left",-1e3).css("top",-2200),s("#resultC010010").css("left",-1e3).css("top",-2200),s("#resultC001100").css("left",-1e3).css("top",-2200),s("#resultC001010").css("left",-1e3).css("top",-2200),s("#resultC000110").css("left",-1e3).css("top",-2200),s("#resultC110100").css("left",-1e3).css("top",-2200),s("#resultC110010").css("left",-1e3).css("top",-2200),s("#resultC101100").css("left",-1e3).css("top",-2200),s("#resultC101010").css("left",-1e3).css("top",-2200),s("#resultC100110").css("left",-1e3).css("top",-2200),s("#resultC011100").css("left",-1e3).css("top",-2200),s("#resultC011010").css("left",-1e3).css("top",-2200),s("#resultC010110").css("left",-1e3).css("top",-2200),s("#resultC001110").css("left",-1e3).css("top",-2200),s("#resultC111100").css("left",-1e3).css("top",-2200),s("#resultC111010").css("left",-1e3).css("top",-2200),s("#resultC110110").css("left",-1e3).css("top",-2200),s("#resultC101110").css("left",-1e3).css("top",-2200),s("#resultC011110").css("left",-1e3).css("top",-2200),s("#resultC111110").css("left",-1e3).css("top",-2200),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200)):2==t?(c(246,206,110,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),n(245,25,250,365,h(B.colors[1],s("#label2").css("opacity"))),s("#label1").css("left",95).css("top",75).css("color",B.colors[0]),s("#label2").css("left",267).css("top",0).css("color",B.colors[1]),s("#label3").css("left",-1e3).css("top",-2200),s("#label4").css("left",-1e3).css("top",-2200),s("#label5").css("left",-1e3).css("top",-2200),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),180,195,10),m(s("#resultC010000"),420,195,10),m(s("#resultC110000"),290,195,10),s("#resultC001000").css("left",-1e3).css("top",-2200),s("#resultC000100").css("left",-1e3).css("top",-2200),s("#resultC000010").css("left",-1e3).css("top",-2200),s("#resultC101000").css("left",-1e3).css("top",-2200),s("#resultC100100").css("left",-1e3).css("top",-2200),s("#resultC100010").css("left",-1e3).css("top",-2200),s("#resultC011000").css("left",-1e3).css("top",-2200),s("#resultC010100").css("left",-1e3).css("top",-2200),s("#resultC010010").css("left",-1e3).css("top",-2200),s("#resultC001100").css("left",-1e3).css("top",-2200),s("#resultC001010").css("left",-1e3).css("top",-2200),s("#resultC000110").css("left",-1e3).css("top",-2200),s("#resultC111000").css("left",-1e3).css("top",-2200),s("#resultC110100").css("left",-1e3).css("top",-2200),s("#resultC110010").css("left",-1e3).css("top",-2200),s("#resultC101100").css("left",-1e3).css("top",-2200),s("#resultC101010").css("left",-1e3).css("top",-2200),s("#resultC100110").css("left",-1e3).css("top",-2200),s("#resultC011100").css("left",-1e3).css("top",-2200),s("#resultC011010").css("left",-1e3).css("top",-2200),s("#resultC010110").css("left",-1e3).css("top",-2200),s("#resultC001110").css("left",-1e3).css("top",-2200),s("#resultC111100").css("left",-1e3).css("top",-2200),s("#resultC111010").css("left",-1e3).css("top",-2200),s("#resultC110110").css("left",-1e3).css("top",-2200),s("#resultC101110").css("left",-1e3).css("top",-2200),s("#resultC011110").css("left",-1e3).css("top",-2200),s("#resultC111110").css("left",-1e3).css("top",-2200),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200)):(c(246,210,140,1,1,0,h(B.colors[0],s("#label1").css("opacity"))),s("#label1").css("left",225).css("top",30).css("color",B.colors[0]),s("#label2").css("left",-1e3).css("top",-2200),s("#label3").css("left",-1e3).css("top",-2200),s("#label4").css("left",-1e3).css("top",-2200),s("#label5").css("left",-1e3).css("top",-2200),s("#label6").css("left",-1e3).css("top",-2200),m(s("#resultC100000"),245,200,10),s("#resultC010000").css("left",-1e3).css("top",-2200),s("#resultC001000").css("left",-1e3).css("top",-2200),s("#resultC000100").css("left",-1e3).css("top",-2200),s("#resultC000010").css("left",-1e3).css("top",-2200),s("#resultC110000").css("left",-1e3).css("top",-2200),s("#resultC101000").css("left",-1e3).css("top",-2200),s("#resultC100100").css("left",-1e3).css("top",-2200),s("#resultC100010").css("left",-1e3).css("top",-2200),s("#resultC011000").css("left",-1e3).css("top",-2200),s("#resultC010100").css("left",-1e3).css("top",-2200),s("#resultC010010").css("left",-1e3).css("top",-2200),s("#resultC001100").css("left",-1e3).css("top",-2200),s("#resultC001010").css("left",-1e3).css("top",-2200),s("#resultC000110").css("left",-1e3).css("top",-2200),s("#resultC111000").css("left",-1e3).css("top",-2200),s("#resultC110100").css("left",-1e3).css("top",-2200),s("#resultC110010").css("left",-1e3).css("top",-2200),s("#resultC101100").css("left",-1e3).css("top",-2200),s("#resultC101010").css("left",-1e3).css("top",-2200),s("#resultC100110").css("left",-1e3).css("top",-2200),s("#resultC011100").css("left",-1e3).css("top",-2200),s("#resultC011010").css("left",-1e3).css("top",-2200),s("#resultC010110").css("left",-1e3).css("top",-2200),s("#resultC001110").css("left",-1e3).css("top",-2200),s("#resultC111100").css("left",-1e3).css("top",-2200),s("#resultC111010").css("left",-1e3).css("top",-2200),s("#resultC110110").css("left",-1e3).css("top",-2200),s("#resultC101110").css("left",-1e3).css("top",-2200),s("#resultC011110").css("left",-1e3).css("top",-2200),s("#resultC111110").css("left",-1e3).css("top",-2200),s("#resultC000001").css("left",-1e3).css("top",-2200),s("#resultC100001").css("left",-1e3).css("top",-2200),s("#resultC010001").css("left",-1e3).css("top",-2200),s("#resultC001001").css("left",-1e3).css("top",-2200),s("#resultC000101").css("left",-1e3).css("top",-2200),s("#resultC000011").css("left",-1e3).css("top",-2200),s("#resultC110001").css("left",-1e3).css("top",-2200),s("#resultC101001").css("left",-1e3).css("top",-2200),s("#resultC100101").css("left",-1e3).css("top",-2200),s("#resultC100011").css("left",-1e3).css("top",-2200),s("#resultC011001").css("left",-1e3).css("top",-2200),s("#resultC010101").css("left",-1e3).css("top",-2200),s("#resultC010011").css("left",-1e3).css("top",-2200),s("#resultC001101").css("left",-1e3).css("top",-2200),s("#resultC001011").css("left",-1e3).css("top",-2200),s("#resultC000111").css("left",-1e3).css("top",-2200),s("#resultC111001").css("left",-1e3).css("top",-2200),s("#resultC110101").css("left",-1e3).css("top",-2200),s("#resultC110011").css("left",-1e3).css("top",-2200),s("#resultC101101").css("left",-1e3).css("top",-2200),s("#resultC101011").css("left",-1e3).css("top",-2200),s("#resultC100111").css("left",-1e3).css("top",-2200),s("#resultC011101").css("left",-1e3).css("top",-2200),s("#resultC011011").css("left",-1e3).css("top",-2200),s("#resultC010111").css("left",-1e3).css("top",-2200),s("#resultC001111").css("left",-1e3).css("top",-2200),s("#resultC111101").css("left",-1e3).css("top",-2200),s("#resultC111011").css("left",-1e3).css("top",-2200),s("#resultC110111").css("left",-1e3).css("top",-2200),s("#resultC101111").css("left",-1e3).css("top",-2200),s("#resultC011111").css("left",-1e3).css("top",-2200),s("#resultC111111").css("left",-1e3).css("top",-2200))
+			}function _(t,e){$t=t;var l=1,r="",o='<div class="module-legend">';s("*[id^=label]").each(function(){o+='<div id="item-'+l+'" name="'+s(this).text()+'" class="leg-items" style="opacity:0.5; background-color:'+s(this).css("color")+r+'">',o+='<span style="background-color:white; margin-left:0px; padding:0px 2px 0px 2px; transition: margin-left .3s ease-in-out;">off</span></div>',l+=1,l>e&&(r=";display:none")}),o+="</div>",$t.append(o),s("*[id^=item]").hover(function(){s(this).css("opacity",.75),s(this).css("box-shadow","0px 0px 8px 1px lightgrey")},function(){"off"===s(this).children("span").text()&&s(this).css("opacity",.5),s(this).css("box-shadow","none")}),s("*[id^=item]").click(function(){var t=null;t="off"===s(this).children("span").text()?M(s(this).attr("name")):I(s(this).attr("name")),null!=B.searchInput&&(B.searchInput.val(""),null!=B.searchStatus&&B.searchStatus.text("")),b(),"edwards"==B.displayMode?y(e):x(e),B.displayStat&&v(e),"resultC000000"!=t&&s("#"+t).show()})}function w(){var e=new Array,l=new Array;for(l[0]=new Array,l[1]=new Array,l[2]=new Array,l[3]=new Array,l[4]=new Array,l[5]=new Array,c=0;c<B.series.length;c++){l[c]=new Array;var r=B.series[c].data;for(t=0;t<r.length;t++)r[t].length>0&&(l[c][r[t]]?l[c][r[t]]++:l[c][r[t]]=1,e[r[t]]="C")}for(t=0;6>t;t++){for(tt in l[t])e[tt]&&(e[tt]=e[tt]+"1");for(cl in e)e[cl].length<t+2&&(e[cl]=e[cl]+"0")}for(cl in e){var o=parseInt(s("#result"+e[cl]).html());if(B.useValues)for(var c=0;c<B.series.length;c++){var i=B.series[c].data.indexOf(cl);-1!=i&&(o+=parseInt(B.series[c].values[i]))}else o+=1;s("#result"+e[cl]).html(o),s("#result"+e[cl]).removeClass("number-empty")}6==B.series.length?(s("#label1").html(B.series[0].name),s("#label2").html(B.series[1].name),s("#label3").html(B.series[2].name),s("#label4").html(B.series[3].name),s("#label5").html(B.series[4].name),s("#label6").html(B.series[5].name)):5==B.series.length?(s("#label1").html(B.series[0].name),s("#label2").html(B.series[1].name),s("#label3").html(B.series[2].name),s("#label4").html(B.series[3].name),s("#label5").html(B.series[4].name)):4==B.series.length?(s("#label1").html(B.series[0].name),s("#label2").html(B.series[1].name),s("#label3").html(B.series[2].name),s("#label4").html(B.series[3].name)):3==B.series.length?(s("#label1").html(B.series[0].name),s("#label2").html(B.series[1].name),s("#label3").html(B.series[2].name)):2==B.series.length?(s("#label1").html(B.series[0].name),s("#label2").html(B.series[1].name)):1==B.series.length&&s("#label1").html(B.series[0].name),B.disableClick||(s("*[id^=resultC]").mouseover(function(){s(this).addClass("number-over")}),s("*[id^=resultC]").mouseout(function(){s(this).removeClass("number-over")}),s("*[id^=resultC]").click(B.fnClickCallback)),s("*[id^=resultC]").each(function(){this.listnames=new Array;for(var t=6;t<s(this).attr("id").length;t++)if("1"==s(this).attr("id").substring(t+1,t+2))try{this.listnames.push(B.series[t-6].name)}catch(l){}this.empty=!0,this.list=new Array;var r=s(this).attr("id").substring(6,13);for(cl in e)e[cl]==r&&(this.list.push(cl),this.empty=!1)})}function k(){var t=new Array(0,0,0,0,0,0);return s("*[id^=resultC]").each(function(){for(var e=0,l=6;l<s(this).attr("id").length;l++)e+="1"==s(this).attr("id").substring(l+1,l+2);var r=s(this).text();"?"==r&&(r=s(this).children("span").attr("title")),t[e-1]+=parseInt(r)}),t}function A(){var t=new Array(0,0,0,0,0,0);return s("*[id^=resultC]").each(function(){for(var e=6;e<s(this).attr("id").length;e++)if("1"==s(this).attr("id").substring(e+1,e+2)){var l=s(this).text();"?"==l&&(l=s(this).children("span").attr("title")),t[e-6]+=parseInt(l)}}),t}function T(t){t.A&&s("#resultC100000").html(t.A),t.B&&s("#resultC010000").html(t.B),t.C&&s("#resultC001000").html(t.C),t.D&&s("#resultC000100").html(t.D),t.E&&s("#resultC000010").html(t.E),t.F&&s("#resultC000001").html(t.F),t.AB&&s("#resultC110000").html(t.AB),t.AC&&s("#resultC101000").html(t.AC),t.AD&&s("#resultC100100").html(t.AD),t.AE&&s("#resultC100010").html(t.AE),t.AF&&s("#resultC100001").html(t.AF),t.BC&&s("#resultC011000").html(t.BC),t.BD&&s("#resultC010100").html(t.BD),t.BE&&s("#resultC010010").html(t.BE),t.BF&&s("#resultC010001").html(t.BF),t.CD&&s("#resultC001100").html(t.CD),t.CE&&s("#resultC001010").html(t.CE),t.CF&&s("#resultC001001").html(t.CF),t.DE&&s("#resultC000110").html(t.DE),t.DF&&s("#resultC000101").html(t.DF),t.EF&&s("#resultC000011").html(t.EF),t.ABC&&s("#resultC111000").html(t.ABC),t.ABD&&s("#resultC110100").html(t.ABD),t.ABE&&s("#resultC110010").html(t.ABE),t.ABF&&s("#resultC110001").html(t.ABF),t.ACD&&s("#resultC101100").html(t.ACD),t.ACE&&s("#resultC101010").html(t.ACE),t.ACF&&s("#resultC101001").html(t.ACF),t.ADE&&s("#resultC100110").html(t.ADE),t.ADF&&s("#resultC100101").html(t.ADF),t.AEF&&s("#resultC100011").html(t.AEF),t.BCD&&s("#resultC011100").html(t.BCD),t.BCE&&s("#resultC011010").html(t.BCE),t.BCF&&s("#resultC011001").html(t.BCF),t.BDE&&s("#resultC010110").html(t.BDE),t.BDF&&s("#resultC010101").html(t.BDF),t.BEF&&s("#resultC010011").html(t.BEF),t.CDE&&s("#resultC001110").html(t.CDE),t.CDF&&s("#resultC001101").html(t.CDF),t.CEF&&s("#resultC001011").html(t.CEF),t.DEF&&s("#resultC000111").html(t.DEF),t.ABCD&&s("#resultC111100").html(t.ABCD),t.ABCE&&s("#resultC111010").html(t.ABCE),t.ABCF&&s("#resultC111001").html(t.ABCF),t.ABDE&&s("#resultC110110").html(t.ABDE),t.ABDF&&s("#resultC110101").html(t.ABDF),t.ACDE&&s("#resultC101110").html(t.ACDE),t.ACDF&&s("#resultC101101").html(t.ACDF),t.BCDE&&s("#resultC011110").html(t.BCDE),t.BCDF&&s("#resultC011101").html(t.BCDF),t.CDEF&&s("#resultC001111").html(t.CDEF),t.BDEF&&s("#resultC010111").html(t.BDEF),t.BCEF&&s("#resultC011011").html(t.BCEF),t.ADEF&&s("#resultC100111").html(t.ADEF),t.ACEF&&s("#resultC101011").html(t.ACEF),t.ABEF&&s("#resultC110011").html(t.ABEF),t.ABCDE&&s("#resultC111110").html(t.ABCDE),t.ABCDF&&s("#resultC111101").html(t.ABCDF),t.ABCEF&&s("#resultC111011").html(t.ABCEF),t.ABDEF&&s("#resultC110111").html(t.ABDEF),t.ACDEF&&s("#resultC101111").html(t.ACDEF),t.BCDEF&&s("#resultC011111").html(t.BCDEF),t.ABCDEF&&s("#resultC111111").html(t.ABCDEF)}function E(){if(B.series[0].name.A&&s("#label1").html(B.series[0].name.A),B.series[0].name.B&&s("#label2").html(B.series[0].name.B),B.series[0].name.C&&s("#label3").html(B.series[0].name.C),B.series[0].name.D&&s("#label4").html(B.series[0].name.D),B.series[0].name.E&&s("#label5").html(B.series[0].name.E),B.series[0].name.F&&s("#label6").html(B.series[0].name.F),B.series[0].hasOwnProperty("values")&&B.series[0].hasOwnProperty("data"))T(B.series[0].values);else if(B.series[0].hasOwnProperty("data")){var t={};for(var e in B.series[0].data)t[e]=B.series[0].data[e].length;T(t)}else B.series[0].hasOwnProperty("values")&&T(B.series[0].values);s("*[id^=resultC]").each(function(){this.listnames=new Array;for(var t=6;t<s(this).attr("id").length;t++)if("1"==s(this).attr("id").substring(t+1,t+2))try{t-6==0?this.listnames.push(B.series[0].name.A):t-6==1?this.listnames.push(B.series[0].name.B):t-6==2?this.listnames.push(B.series[0].name.C):t-6==3?this.listnames.push(B.series[0].name.D):t-6==4?this.listnames.push(B.series[0].name.E):t-6==5&&this.listnames.push(B.series[0].name.F)}catch(e){}if(B.series[0].hasOwnProperty("data")){for(var l="",t=6;t<s(this).attr("id").length;t++)"1"==s(this).attr("id").substring(t+1,t+2)&&(6==t?l+="A":7==t?l+="B":8==t?l+="C":9==t?l+="D":10==t?l+="E":11==t&&(l+="F"));this.list=B.series[0].data[l],B.disableClick||(s(this).mouseover(function(){s(this).addClass("number-over")}),s(this).mouseout(function(){s(this).removeClass("number-over")}),s(this).click(B.fnClickCallback))}s(this).text()>0&&s(this).removeClass("number-empty")})}function z(){if(B.series.length>1)return new Array("list",B.series.length);if(void 0!=B.series[0]&&B.series[0].name.A){var s=0;for(i in B.series[0].name)s++;return new Array("count",s)}return new Array("list",B.series.length)}function P(s,t,e,l,r,o,c,i,a){return a?(t=parseInt(t.replace("px",""))+20,e=parseInt(e.replace("px",""))+14):(t=parseInt(t.replace("px",""))+5,e=parseInt(e.replace("px",""))+14),'<text fill="'+l+'" fill-opacity="'+r+'" stroke="none" font-family="'+o+'" font-size="'+c+'"pt font-style="normal" font-weight="'+i+'" text-decoration="none" x="'+t+'"pt y="'+e+'"pt text-anchor="middle" dominant-baseline="alphabetic">'+s+"</text>"}function S(t,e,l){$t=t;var r='<div id="module-export" style="position: relative; left:475px; top: -'+(418+e)+'px; width: 25px; height: 20px;">';r+='<a id="data-export" href="" download="" style="display:none;"></a>',r+='<canvas id="canvasExport" style="border:1px solid white" width="25" height="20"></canvas>',r+='<div id="export-menu" style="position: relative;width:150px; height:30px; display:none; right:123px; top:-4px;">',r+='<div style="box-shadow: 3px 3px 10px rgb(136, 136, 136); border: 1px solid rgb(160, 160, 160); background: none repeat scroll 0% 0% rgb(255, 255, 255);padding: 5px 0px;">',r+='<div id="format-png" style="padding: 0px 10px; background: none repeat scroll 0% 0% transparent; color: rgb(48, 48, 48); font-size: 12px;">Download PNG image</div>',r+='<div id="format-svg" style="padding: 0px 10px; background: none repeat scroll 0% 0% transparent; color: rgb(48, 48, 48); font-size: 12px;">Download SVG image</div>',"list"==l&&(r+='<div id="format-csv" style="padding: 0px 10px; background: none repeat scroll 0% 0% transparent; color: rgb(48, 48, 48); font-size: 12px;">Download CSV lists</div>'),r+="</div>",r+="</div>",r+="</div>",$t.append(r);var o=s("#canvasExport")[0],c=o.getContext("2d");for(i=0;3>i;i++)c.lineWidth=3,c.beginPath(),c.lineCap="round",c.moveTo(5,5+5.2*i),c.lineTo(20,5+5.2*i),c.strokeStyle="#666",c.stroke();var a=s("#export-menu"),u=s("#canvasExport").css("background");s("#format-png").click(function(){s("#canvasExport").css("background",u),s("#canvasExport").css("border-color","white"),s("#canvasExport").hover(function(){s(this).css("background","linear-gradient(to bottom, white, #AECEFF) repeat scroll 0 0 transparent"),s(this).css("border","1px solid #6688AA"),s(this).css("border-radius","3px")},function(){s(this).css("background",u),s(this).css("border-color","white")}),a.hide();var t=document.createElement("canvas");export_ctx=t.getContext("2d"),t.width=O,t.height=N;var e=document.createElement("img"),l=s("<div></div>");l.append(j.getSerializedSvg(!0)),s("[id^=resultC]").each(function(){"none"!=s(this).css("display")&&(value=0===s(this).html().indexOf("<span")?"?":s(this).html(),l.children("svg").children("g").append(P(value,s(this).css("left"),s(this).css("top"),s(this).css("color"),s(this).css("opacity"),s(this).css("font-family"),s(this).css("font-size"),s(this).css("font-weight"),!1)))}),s("[id^=label]").each(function(){l.children("svg").children("g").append(P(s(this).html(),s(this).css("left"),s(this).css("top"),s(this).css("color"),s(this).css("opacity"),s(this).css("font-family"),s(this).css("font-size"),s(this).css("font-weight"),!0))}),e.setAttribute("src","data:image/svg+xml;base64,"+window.btoa(l.html())),e.setAttribute("height","700px"),e.setAttribute("width","500px"),e.onload=function(){export_ctx.drawImage(e,0,0);var l=t.toDataURL("image/png");s("#data-export").attr("href",l),s("#data-export").attr("download","jVenn_chart.png"),s("#data-export")[0].click()}}),s("#format-svg").click(function(){s("#canvasExport").css("background",u),s("#canvasExport").css("border-color","white"),s("#canvasExport").hover(function(){s(this).css("background","linear-gradient(to bottom, white, #AECEFF) repeat scroll 0 0 transparent"),s(this).css("border","1px solid #6688AA"),s(this).css("border-radius","3px")},function(){s(this).css("background",u),s(this).css("border-color","white")}),a.hide();var t=s("<div></div>");t.append(j.getSerializedSvg(!0)),s("[id^=resultC]").each(function(){"none"!=s(this).css("display")&&(value=0===s(this).html().indexOf("<span")?"?":s(this).html(),t.children("svg").children("g").append(P(value,s(this).css("left"),s(this).css("top"),s(this).css("color"),s(this).css("opacity"),s(this).css("font-family"),s(this).css("font-size"),s(this).css("font-weight"),!1)))}),s("[id^=label]").each(function(){t.children("svg").children("g").append(P(s(this).html(),s(this).css("left"),s(this).css("top"),s(this).css("color"),s(this).css("opacity"),s(this).css("font-family"),s(this).css("font-size"),s(this).css("font-weight"),!0))});var e="data:image/svg+xml;base64,"+window.btoa(t.html()),l=encodeURI(e);s("#data-export").attr("href",l),s("#data-export").attr("download","jVenn_chart.svg"),s("#data-export")[0].click()}),s("#format-csv").click(function(){s("#canvasExport").css("background",u),s("#canvasExport").css("border-color","white"),s("#canvasExport").hover(function(){s(this).css("background","linear-gradient(to bottom, white, #AECEFF) repeat scroll 0 0 transparent"),s(this).css("border","1px solid #6688AA"),s(this).css("border-radius","3px")},function(){s(this).css("background",u),s(this).css("border-color","white")}),a.hide();var t=new Array,e=!1;s("*[id^=resultC]").each(function(){if(!this.empty){var s=new Array,l=this.listnames.join("|");l.indexOf(",")>=0&&(e=!0,l=l.replace(/,/g,"_")),s.push(l);for(var r=0;r<this.list.length;r++)l=this.list[r],this.list[r].indexOf(",")>=0&&(e=!0,l=this.list[r].replace(/,/g,"_")),s.push(l);t.push(s)}});var l="data:text/csv;charset=utf-8,";e&&(l+="##\n## Warning: comma(s) have been replaced by underscore(s)\n##\n"),g(t).forEach(function(s){l+=s.join(",")+"\n"});var r=encodeURI(l);s("#data-export").attr("href",r),s("#data-export").attr("download","jVenn.csv"),s("#data-export")[0].click()}),s("#canvasExport").click(function(){s(this).css("background","linear-gradient(to bottom, #AECEFF, white) repeat scroll 0 0 transparent"),s(this).css("border","1px solid #6688AA"),s("#canvasExport").unbind("mouseenter mouseleave"),a.show(),a.is(":visible")&&s(document).mouseup(function(t){0===a.has(t.target).length&&(s("#canvasExport").css("background",u),s("#canvasExport").css("border-color","white"),s("#canvasExport").hover(function(){s(this).css("background","linear-gradient(to bottom, white, #AECEFF) repeat scroll 0 0 transparent"),s(this).css("border","1px solid #6688AA"),s(this).css("border-radius","3px")},function(){s(this).css("background",u),s(this).css("border-color","white")}),a.hide())});var t=s("div[id^=format-]").css("background");s("div[id^=format-]").hover(function(){s(this).css("background","rgba(69,114,165,0.75)"),s(this).css("color","white")},function(){s(this).css("background",t),s(this).css("color","")})}),s("#canvasExport").hover(function(){s(this).css("background","linear-gradient(to bottom, white, #AECEFF) repeat scroll 0 0 transparent"),s(this).css("border","1px solid #6688AA"),s(this).css("border-radius","3px")},function(){s(this).css("background",u),s(this).css("border-color","white")})}function I(t,e){var e=null==e?!0:e,l=null;s("*[id^=label]").each(function(){if(s(this).html()==t){s(this).css("opacity",.1),s(this).removeClass("is-selected");var e=s(this).attr("id");l=e.charAt(e.length-1)}}),legend_button=s("#item-"+l),legend_button.children("span").css("margin-left","0px"),legend_button.css("opacity",.5),legend_button.children("span").text("off");var r="resultC000000";return s(".is-selected").each(function(){var t=s(this).attr("id"),e=6+parseInt(t.charAt(t.length-1));r=r.substr(0,e)+1+r.substr(e+1)}),"resultC000000"==r&&e?(s(".number-black").each(function(){s(this).css("opacity",1)}),s("*[id^=label]").each(function(){s(this).css("opacity",.6)})):s(".number-black").each(function(){s(this).attr("id")==r?s(this).css("opacity",1):s(this).css("opacity",.1)}),r}function M(t){var e=null;s("*[id^=label]").each(function(){if(s(this).html()==t){s(this).css("opacity",.6),s(this).addClass("is-selected");var l=s(this).attr("id");e=l.charAt(l.length-1)}else s(this).hasClass("is-selected")||s(this).css("opacity",.1)}),legend_button=s("#item-"+e),legend_button.children("span").css("margin-left","13px"),legend_button.css("opacity",.75),legend_button.css("color","black"),legend_button.children("span").text("on");var l="resultC000000";return s(".is-selected").each(function(){var t=s(this).attr("id"),e=6+parseInt(t.charAt(t.length-1));l=l.substr(0,e)+1+l.substr(e+1)}),s(".number-black").each(function(){s(this).attr("id")==l?s(this).css("opacity",1):s(this).css("opacity",.1)}),l}function F(t,e){var e=null==e?1:e,l=new Array,r="resultC000000",o=0;if(s("*[id^=label]").each(function(){""!=s(this).html()&&(l[s(this).html()]="unselected")}),""==t||e>t.length)for(var c in l)r=I(c);else{var i=null,a=!1;if(s(".number-black:not(.number-empty)").each(function(){for(var s=0;s<this.list.length&&!a;s++)-1!=this.list[s].indexOf(t)&&(this.list[s]==t&&(a=!0),i=this.listnames,o++)}),1==o||a){for(var u=0;u<i.length;u++)l[i[u]]="selected";o=1}if(1>=o)for(var c in l)r="selected"==l[c]?M(c):I(c,!1);else for(var c in l)r=I(c)}null!=B.searchStatus&&(""==t||e>t.length?B.searchStatus.text(""):0==o?B.searchStatus.text("not found"):1==o?B.searchStatus.text("found"):o>1&&B.searchStatus.text("ambiguous")),b(),"edwards"==B.displayMode?y(z()[1]):x(z()[1]),B.displayStat&&v(z()[1]),"resultC000000"!=r&&s("#"+r).show()}var D={series:[{name:"Actors",data:["Marilyn Monroe","Arnold Schwarzenegger","Jack Nicholson","Barbra Streisand","Robert de Niro","Dean Martin","Harrison Ford"]},{name:"Singers",data:["Freddy Mercury","Barbra Streisand","Dean Martin","Ricky Martin","Celine Dion","Marilyn Monroe"]}],fnClickCallback:function(){var s="";s+=1==this.listnames.length?"Elements only in ":"Common elements in ";for(name in this.listnames)s+=this.listnames[name]+" ";s+=":\n";for(val in this.list)s+=this.list[val]+"\n";alert(s)},disableClick:!1,useValues:!1,exporting:!0,displayMode:"classic",displayStat:!1,shortNumber:!0,searchInput:null,searchStatus:null,searchMinSize:1,colors:["rgb(0,102,0)","rgb(90,155,212)","rgb(241,90,96)","rgb(250,220,91)","rgb(255,117,0)","rgb(192,152,83)"],fontSize:"16px",fontFamily:"Arial"},B=s.extend(D,e),O=500,N=415,j=null;return this.each(function(){var t=s(this),e=0;B.displayStat&&(e=280,N+=e),t.css({width:"500px",height:""+(450+e)+"px"}),s("<style>.number-black{font-weight:bold;color:#000000;text-decoration:none;font-size:12px;}.number-over{font-weight:bold;cursor:pointer;color:#0000FF;text-decoration:underline;}.number-empty{font-weight:normal;font-size:12px;}</style>").appendTo("body");var l=434,r=130;"edwards"==B.displayMode&&(l=10,r=425),s("<style>.module-legend{border:1px solid lightgrey;border-radius:5px;position:relative;left:"+l+"px;top:-"+(r+e)+"px;width:35px;padding-bottom:3px}</style>").appendTo("body"),s("<style>.leg-items{padding-top:1px;margin:3px 3px 0px 3px;cursor:pointer;border: 1px solid grey;border-radius:2px;width:27px;height:11px;font-size:0.65em;line-height:10px;opacity:0.75}</style>").appendTo("body");var o='<div id="frame" style="position: relative; left: 5pt; top: 5pt; width: 500px; height: "'+(445+e)+'px;">';o+='<div id="canvasEllipse" width="500px" height="'+(415+e)+'px;"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC100000"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC010000"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC001000"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC000100"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC000010"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC110000"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC101000"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC100100"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC100010"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC011000"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC010100"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC010010"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC001100"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC001010"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC000110"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC111000"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC110100"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC110010"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC101100"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC101010"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC100110"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC011100"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC011010"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC010110"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC001110"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC111100"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC111010"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC110110"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC101110"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC011110"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC111110"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC000001"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC000011"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC000101"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC000111"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC001001"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC001011"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC001101"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC001111"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC010001"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC010011"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC010101"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC010111"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC011001"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC011011"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC011101"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC011111"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC100001"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC100011"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC100101"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC100111"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC101001"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC101011"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC101101"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC101111"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC110001"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC110011"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC110101"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC110111"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC111001"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC111011"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC111101"></div>',o+='<div class="number-black" style="position: absolute; left: -1000px; top: -2200px;" id="resultC111111"></div>',o+='<div style="position: absolute; left: -1000px; top: -1000px; opacity:0.5;;" id="label1"></div>',o+='<div style="position: absolute; left: -1000px; top: -1000px; opacity:0.5;;" id="label2"></div>',o+='<div style="position: absolute; left: -1000px; top: -1000px; opacity:0.5;;" id="label3"></div>',o+='<div style="position: absolute; left: -1000px; top: -1000px; opacity:0.5;;" id="label4"></div>',o+='<div style="position: absolute; left: -1000px; top: -1000px; opacity:0.5;;" id="label5"></div>',o+='<div style="position: absolute; left: -1000px; top: -1000px; opacity:0.5;;" id="label6"></div>',o+="</div>",t.html(o),j=new C2S(O,N),s("*[id^=resultC]").each(function(){s(this).html(0),s(this).addClass("number-empty"),s(this).css("font-size",B.fontSize),s(this).css("font-family",B.fontFamily)}),s("*[id^=label]").each(function(){s(this).css("font-family",B.fontFamily)});var c=z();"list"==c[0]?w():"count"==c[0]&&E(),null!=B.searchInput&&B.searchInput.keyup(function(){F(B.searchInput.val(),B.searchMinSize)}),"edwards"==B.displayMode?y(c[1]):x(c[1]),B.displayStat&&v(c[1]),B.exporting===!0&&S(t,e,c[0]),c[1]>=4&&_(t,c[1]),s(".number-black").hover(function(){var t=!1;s("*[id^=item]").each(function(){"on"===s(this).children("span").text()&&(t=!0)});var e=!1;if(null!=B.searchInput&&""!=B.searchInput.val()&&(e=!0),!t&&!e&&""!==s(this).text()){var l=this.listnames,r=this;s("*[id^=label]").each(function(){l.indexOf(s(this).text())<0?s(this).css("opacity",.1):s(this).css("opacity",.6)}),s(".number-black").each(function(){this!=r&&s(this).css("opacity",.1)}),b(),"edwards"==B.displayMode?y(c[1]):x(c[1]),B.displayStat&&v(c[1])}},function(){var t=!1;s("*[id^=item]").each(function(){"on"===s(this).children("span").text()&&(t=!0)});var e=!1;if(null!=B.searchInput&&""!=B.searchInput.val()&&(e=!0),!t&&!e&&""!==s(this).text()){{this.listnames}s("*[id^=label]").each(function(){s(this).css("opacity",.5)}),s(".number-black").each(function(){s(this).css("opacity",1)}),b(),"edwards"==B.displayMode?y(c[1]):x(c[1]),B.displayStat&&v(c[1])}}),s("#canvasEllipse").html(j.getSvg())}),this}}(jQuery);
+		</script>
+		<script type="text/javascript">
+			/*
+			 * HTMLTable.js 0.1.0 - HTMLTable Library
+			 *
+			 * Copyright (c) 2015 Escudie Frederic
+			 * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.
+			 */
+			function HTMLtable(e){var t,r,n=e,a=";";this.deleteColumns=function(e){for(var a=n.getElementsByTagName("tr"),o=0;o<a.length;o++){s=0;var i=a[o].getElementsByTagName("td");0==i.length&&(i=a[o].getElementsByTagName("th"));for(var v=0,s=0;s<t[1];s++)if(!r[o][s]){var f=i[v].getAttribute("colspan");if(null!=f)for(var m=0;f>m;m++){if(in_array(s+m,e)){var u=i[v].getAttribute("colspan");u-1==0?i[v].removeAttribute("colspan"):i[v].setAttribute("colspan",u-1)}if(null==i[v].getAttribute("colspan")){var h=i[v];a[o].removeChild(h),v--}}else if(in_array(s,e)){var h=i[v];a[o].removeChild(h),v--}v++}}l(),g()},this.filter=function(e,a){var l=new RegExp(e),g=new Array;null!=a&&a||(g.c0=!0);for(var o=n.getElementsByTagName("tr"),i=0;i<o.length;i++){f=0;var v=o[i].getElementsByTagName("td");if(0!=v.length)for(var s=0,f=0;f<t[1];f++)r[i][f]||(l.test(v[s].innerHTML)&&(g["c"+f]=!0),s++)}for(var m=new Array,u=0;u<t[1];u++)void 0===g["c"+u]&&m.push(u);this.deleteColumns(m)},this.getModel=function(){return n};var l=function(){for(var e=0,r=0,a=n.getElementsByTagName("tr"),l=0;l<a.length;l++){var g=0;e++;var o=a[l].getElementsByTagName("td");0==o.length&&(o=a[l].getElementsByTagName("th"));for(var i=0;i<o.length;i++){var v=o[i].getAttribute("colspan");g+=null==v?1:parseInt(v)}g>r&&(r=g)}t=new Array(2),t[0]=e,t[1]=r},g=function(){r=new Array(t[0]);for(var e=0;e<t[0];e++){r[e]=new Array(t[1]);for(var a=0;a<t[1];a++)r[e][a]=!1}for(var l=n.getElementsByTagName("tr"),g=0;g<l.length;g++){v=0;var o=l[g].getElementsByTagName("td");0==o.length&&(o=l[g].getElementsByTagName("th"));for(var i=0,v=0;v<t[1];v++)if(!r[g][v]){var s=0,f=0,m=o[i].getAttribute("rowspan");null!=m&&(s=parseInt(m)-1);var u=o[i].getAttribute("colspan");null!=u&&(f=parseInt(u)-1);for(var h=s;h>=0;h--)for(var y=f;y>=0;y--)(0!=h||0!=y)&&(r[g+h][v+y]=!0);i++}}};this.replace=function(e,a,l){var g=new RegExp(e);null==a&&(a=""),null==l&&(l="");for(var o=n.getElementsByTagName("tr"),i=0;i<o.length;i++){f=0;var v=o[i].getElementsByTagName("td");if(0!=v.length)for(var s=0,f=0;f<t[1];f++)if(!r[i][f]){var m=g.exec(v[s].innerHTML);null!=m&&(void 0===m[1]&&(m[1]=""),v[s].innerHTML=a+m[1]+l),s++}}},this.toCSV=function(){for(var e="",l=n.getElementsByTagName("tr"),g=0;g<l.length;g++){var o=l[g].getElementsByTagName("td");0==o.length&&(o=l[g].getElementsByTagName("th"));for(var i=0,v=0;v<t[1];v++)r[g][v]||(e+=o[i].innerHTML,i++),e+=a;e=e.substr(0,e.length-1)+"\n"}return e},l(),g()}var in_array=function(e,t){for(var r in t)if(t[r]==e)return!0;return!1};
+			
+			/*
+			 * dataTableExtractor.plugin.js 0.1.0 - datatableExport Library
+			 *
+			 * Copyright (c) 2015 Escudie Frederic
+			 * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.
+			 */
+			!function(t){t.fn.datatableExport=function(a){var e={anchor_id:t(this).attr("id"),table_id:null,csv_separator:";",omitted_columns:[]},n=t.extend(e,a);if(!t(this).length)throw"The element where the datatableExport is called does not exist.";if(void 0==n.anchor_id)throw"The datatableExport plugin must be called on an element with id.";if(null==n.table_id)throw"You must set the table_id parameter in datatableExport plugin.";if(!t("#"+n.table_id))throw"The datatable '#"+n.table_id+"' cannot be retieve in DOM.";return this.each(function(){var a=t(this);a.on("click",function(){t.fn.datatableExport.csv(n.anchor_id,n.table_id,n.csv_separator,n.omitted_columns)})})},t.fn.datatableExport.cleanCellMarkup=function(a,e){t.parseHTML(e);t("#"+a).append('<div class="hidden data-tmp">'+e+"</div>"),t("#"+a+" .data-tmp").find("input").each(function(){var a="";a=t(this).is(":checkbox")?t(this).is(":checked")?"true":"false":t(this).val(),t(this).replaceWith(a)});var n=t("#"+a+" .data-tmp").text();return t("#"+a+" .data-tmp").remove(),n},t.fn.datatableExport.csv=function(a,e,n,i){var l="",r=t("#"+e).DataTable(),d=t("#"+e+" thead")[0],o=new HTMLtable(d.cloneNode(!0));o.deleteColumns(i),l+=o.toCSV();var c=r.rows().data();t.each(c,function(e,n){for(var r="",d=0;d<n.length;d++)-1==t.inArray(d,i)&&(r+='"'+t.fn.datatableExport.cleanCellMarkup(a,n[d])+'";');""!=r&&(r=r.slice(0,-1)),l+=r+"\n"}),t("#"+a+"-extract-csv").length||t("#"+a).append('<a id="'+a+'-extract-csv" href="data:text/csv;charset=UTF-8,'+encodeURI(l)+'" download="data.csv" style="display:none;"></a>'),t("#"+a+"-extract-csv")[0].click()}}(jQuery);
+		</script>		
+		
+		<script type="text/javascript">
+/*
+$(document).ready(function(){
+  $('#example').jvenn({
+    series: [{
+    	name: {A: 'Actors',
+               B: 'Singers'},
+    	data: {A: ["Arnold Schwarzenegger", "Jack Nicholson", "Robert de Niro", "Harrison Ford"], B: ["Freddy Mercury", "Ricky Martin", "Celine Dion"], AB: ["Marilyn Monroe", "Barbra Streisand", "Dean Martin"]},
+    	values: {A: 4, B: 3, AB: 3}
+    }],
+  });
+});
+*/
+var jvenn_data = {"series": [{"name": {"A": "Lacombe", "B": "Bredberg", "C": "Mucilli"}, "data": {"A": ["Q15828", "P59998", "Q9HCY8", "P40121", "Q14574", "P06870", "P09972", "P48637", "Q96FX8", "O75635", "Q6P4A8", "P50395", "P19971", "P63261", "P04745", "P0CG05", "Q9UI42", "P42357", "P23396", "P25788", "O60911", "P0DMV9", "P18510", "P01623", "P68363", "Q15149", "P01860", "P30740", "P20930", "A8K2U0", "Q9HC84", "P07858", "P04080", "P35579", "P00491", "Q9Y6R7", "P01877", "P25705", "P00441", "P62937", "Q8TAX7", "P09228", "Q92820", "P61160", "P49720", "P02538", "P19012", "P23284", "P48594", "O95274", "P07384", "P13473", "P31151", "P01766", "P62258", "P62987", "O75342", "P11279", "P01037", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""], "B": ["P01611", "P02774", "P01008", "P01598", "Q16378", "Q9NSK0", "P02649", "A4F255", "P04196", "Q96S96", "P22897", "P01024", "P02647", "P0C0L4", "O95436", "P80748", "P08238", "Q86SJ6", "P04233", "P06681", "P04637", "Q9UL83", "P11686", "P10909", "Q7Z351", "P23528", "Q14624", "P01880", "Q13885", "Q8IWL2", "Q8NF17", "P04217", "O95613", "P11217", "P05155", "P01621", "A2IPI6", "Q08380", "P0C0L5", "P19827", "P02747", "Q6N093", "A0A0U1RVJ5", "P01717", "B4E1Z4", "P02760", "Q9UL77", "P15814", "P00450", "Q9UL86", "P01613", "P01617", "Q9BYE4", "P08758", "P02766", "A0N5G5", "P02790", "P04117", "P61769", "P43652", "Q6MZX7", "P01714", "P00734", "P05362", "P01591", "P62807", "P12429", "P02751", "P06313", "Q9UBC9", "P01622", "", "", "", "", "", "", "", "", ""], "C": ["P68431", "P51149", "P13647", "Q3ZCW2", "P01593", "P07476", "P32119", "Q14CN4", "P01861", "P01620", "P23490", "P0CG48", "P12035", "P54652", "P10809", "Q96KK5", "P37802", "O15523", "P17931", "Q5T749", "Q6E0U4", "P06576", "P13489", "P23526", "P28070", "P28074", "P35527", "Q14134", "P30050", "P05120", "P52907", "P68104", "Q08554", "P29401", "P15880", "P49862", "P22392", "P40925", "P62244", "Q7Z794", "P22531", "Q14210", "P03973", "Q8IW75", "P08107", "O60814", "P35321", "P14174", "Q5XKE5", "P02671", "P28072", "P02675", "P29373", "O43790", "P05091", "Q5VVQ6", "Q9Y277", "O43175", "P17900", "P63167", "P49189", "Q6ZVX7", "P02679", "P04264", "Q9Y337", "P30041", "Q96QA5", "P22735", "P06702", "P25787", "Q9Y3R4", "P37837", "P02533", "P05783", "P50990", "P35908", "P61978", "Q15365", "P13645", "Q13748"], "AB": ["P02763", "P01009", "P12273", "P01833", "P02787", "Q13867", "P01036", "P61916", "P01625", "P22528", "P01765", "Q96DA0", "P01011", "Q9UGM3", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""], "AC": ["P31949", "O75223", "P60842", "P14923", "P18206", "Q9NZT1", "P09211", "Q9UIV8", "P01857", "P04040", "O75369", "Q8WVV4", "P47756", "P40926", "P05090", "P60174", "Q9C075", "P20933", "P04792", "P29508", "P11142", "P01040", "Q5T750", "P14618", "P13639", "P04075", "P31944", "P14735", "Q04695", "P58107", "P19013", "P36952", "P01876", "P08779", "P08865", "P11021", "P00558", "P06733", "Q6UWP8", "Q6KB66", "P04259", "P68371", "Q9NZH8", "P26641", "P13646", "P02545", "Q8N1N4", "Q06830", "P01834", "O43707", "P47929", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""], "BC": ["P07737", "P60709", "Q5D862", "Q15517", "Q13835", "P05109", "P62805", "P01023", "P59665", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""], "ABC": ["Q96P63", "P80188", "P10599", "P01871", "P31025", "Q86YZ3", "P27482", "P02768", "P07355", "P63104", "P04406", "P15924", "Q08188", "P07339", "P05089", "Q01469", "P31947", "P68871", "P61626", "P06396", "P00338", "P00738", "Q02413", "P07900", "P02788", "P25311", "P04083", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""]}, "values": {"A": 59, "B": 71, "C": 80, "AB": 14, "AC": 51, "BC": 9, "ABC": 27}}], "displayStat": "true", "displaySwitch": "true", "shortNumber": "true"} ;
+$(document).ready(function(){
+  $('#example').jvenn(jvenn_data);
+});
+
+			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+			//
+			// Data
+			//
+			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+			//var processed_filters = ###PORCESSED_FILTERS### ;
+			/* Example:
+				['filterA', 'filterB', 'filterC']
+			*/
+			//var global_results = ###GLOBAL_RESULTS### ; 
+			/* Example: 
+				{
+					'nb_clstr_kept': 100,
+					'nb_clstr_ini': 300,
+					'nb_seq_kept': 100,
+					'nb_seq_ini': 100000
+				}
+			*/
+			//var by_samples_results = ###SAMPLES_RESULTS### ;
+			/* Example:
+				{
+					'sampleA':{
+						'filtered':{
+							'filterA': 10,
+							'filterB': 20
+						},
+						'initial': 75,
+						'kept': 50
+					},
+					'sampleB':{
+						'filtered':{
+							'filterB': 20,
+						},
+						'initial': 110,
+						'kept': 90
+					}
+				}
+			*/
+			//var by_filters_results = ###FILTERS_RESULTS### ;
+			/* Example:
+				[
+					{'filters':['filterA'], 'count': 10},
+					{'filters':['filterB'], 'count': 20},
+					{'filters':['filterC'], 'count': 30},
+					{'filters':['filterA', 'filterB'], 'count': 1},
+					{'filters':['filterA', 'filterC'], 'count': 2},
+					{'filters':['filterB', 'filterC'], 'count': 3},
+					{'filters':['filterA', 'filterB', 'filterC'], 'count': 4}
+				];
+			*/
+			
+			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+			//
+			// Main
+			//
+			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+			$(function() {
+				// Remove alert
+				$('#js-alert').remove();
+				$('#content').removeClass("hidden");
+				
+				// Load active tab
+				global_filters_load();
+				intersections_filters_load();
+				
+				// Add tab listener
+				$('.nav-tabs a').click(function (e) {
+					e.preventDefault();
+					$(this).tab('show');
+					if( $(this).attr('href') == "#view-by-samples" && $('#view-by-samples').hasClass('disabled') ){
+						$('#view-by-samples').removeClass('disabled')
+						samples_filters_load( "filter-log" );
+					}
+				})
+			});
+		</script>
+
+	</head>
+	<body>
+		<!-- Alert -->
+		<p id="js-alert" class="alert alert-warning">
+                javascript is needed to display data.<br />
+                If you try to view this data on galaxy please contact your administrator to authorise javascript or download the file to view.
+		</p>
+		
+        <!-- Content -->
+	<div id="example"></div>
+        </div>
+
+		
+	</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/venn_diagram.py	Sat Jun 12 18:06:28 2021 +0000
@@ -0,0 +1,204 @@
+#!/usr/bin/env python
+
+import argparse
+import csv
+import json
+import os
+import re
+from itertools import combinations
+
+
+CURRENT_DIR = os.path.dirname(os.path.abspath(__file__))
+
+########################################################################
+# FUNCTIONS
+########################################################################
+
+
+def isnumber(format, n):
+    """
+    Check if an element is integer or float
+    """
+    float_format = re.compile(r"^[-]?[1-9][0-9]*.?[0-9]+$")
+    int_format = re.compile(r"^[-]?[1-9][0-9]*$")
+    test = ""
+    if format == "int":
+        test = re.match(int_format, n)
+    elif format == "float":
+        test = re.match(float_format, n)
+    if test:
+        return True
+    else:
+        return False
+
+
+def input_to_dict(inputs):
+    """
+    Parse input and return a dictionary of name and data of each lists/files
+    """
+    comp_dict = {}
+    title_dict = {}
+    c = ["A", "B", "C", "D", "E", "F"]
+    for i in range(len(inputs)):
+        input_file = inputs[i][0]
+        name = inputs[i][1]
+        input_type = inputs[i][2]
+        title = c[i]
+        title_dict[title] = name
+        ids = set()
+        if input_type == "file":
+            header = inputs[i][3]
+            ncol = inputs[i][4]
+            with open(input_file, "r") as handle:
+                file_content = csv.reader(handle, delimiter="\t")
+                file_content = list(file_content)   # csv object to list
+
+                # Check if column number is in right form
+                if isnumber("int", ncol.replace("c", "")):
+                    if header == "true":
+                        # gets ids from defined column
+                        file_content = [x for x in [line[int(ncol.replace("c", ""))-1].split(";") for line in file_content[1:]]]  # noqa 501
+
+                    else:
+                        file_content = [x for x in [line[int(ncol.replace("c", ""))-1].split(";") for line in file_content]]  # noqa 501
+                else:
+                    raise ValueError("Please fill in the right format of column number")  # noqa 501
+        else:
+            ids = set()
+            file_content = inputs[i][0].split()
+            file_content = [x.split(";") for x in file_content]
+
+        # flat list of list of lists, remove empty items
+        file_content = [item.strip() for sublist in file_content for item in sublist if item != '']   # noqa 501
+        ids.update(file_content)
+        if 'NA' in ids:
+            ids.remove('NA')
+        comp_dict[title] = ids
+
+    return comp_dict, title_dict
+
+
+def intersect(comp_dict):
+    """
+    Calculate the intersections of input
+    """
+    names = set(comp_dict)
+    for i in range(1, len(comp_dict) + 1):
+        for group in combinations(sorted(comp_dict), i):
+            others = set()
+            [others.add(name) for name in names if name not in group]
+            difference = []
+            intersected = set.intersection(*(comp_dict[k] for k in group))
+            if len(others) > 0:
+                difference = intersected.difference(set.union(*(comp_dict[k] for k in others))) # noqa 501
+            yield group, list(intersected), list(difference)
+
+
+def diagram(comp_dict, title_dict):
+    """
+    Create json string for jvenn diagram plot
+    """
+    result = {}
+    result["name"] = {}
+    for k in comp_dict.keys():
+        result["name"][k] = title_dict[k]
+
+    result["data"] = {}
+    result["values"] = {}
+    for group, intersected, difference in intersect(comp_dict):
+        if len(group) == 1:
+            result["data"]["".join(group)] = sorted(difference)
+            result["values"]["".join(group)] = len(difference)
+        elif len(group) > 1 and len(group) < len(comp_dict):
+            result["data"]["".join(group)] = sorted(difference)
+            result["values"]["".join(group)] = len(difference)
+        elif len(group) == len(comp_dict):
+            result["data"]["".join(group)] = sorted(intersected)
+            result["values"]["".join(group)] = len(intersected)
+
+    return result
+
+# Write intersections of input to text output file
+
+
+def write_text_venn(json_result):
+    lines = []
+    result = dict((k, v) for k, v in json_result["data"].items() if v != [])  # noqa 501
+    for key in result:
+        if 'NA' in result[key]:
+            result[key].remove("NA")
+
+    list_names = dict((k, v) for k, v in json_result["name"].items() if v != [])  # noqa 501
+    nb_lines_max = max(len(v) for v in result.values())
+
+    # get list names associated to each column
+    column_dict = {}
+    for key in result:
+        if key in list_names:
+            column_dict[key] = list_names[key]
+        else:
+            keys = list(key)
+            column_dict[key] = "_".join([list_names[k] for k in keys])
+
+    # construct tsv
+    for key in result:
+        line = result[key]
+        if len(line) < nb_lines_max:
+            line.extend([''] * (nb_lines_max - len(line)))
+        line = [column_dict[key]] + line     # add header
+        lines.append(line)
+    # transpose tsv
+    lines = zip(*lines)
+
+    with open("venn_diagram_text_output.tsv", "w") as output:
+        tsv_output = csv.writer(output, delimiter='\t')
+        tsv_output.writerows(lines)
+
+
+def write_summary(summary_file, inputs):
+    """
+    Paste json string into template file
+    """
+    a, b = input_to_dict(inputs)
+    data = diagram(a, b)
+    write_text_venn(data)
+
+    to_replace = {
+        "series": [data],
+        "displayStat": "true",
+        "displaySwitch": "true",
+        "shortNumber": "true",
+    }
+
+    FH_summary_tpl = open(os.path.join(CURRENT_DIR, "jvenn_template.html"))
+    FH_summary_out = open(summary_file, "w")
+    for line in FH_summary_tpl:
+        if "###JVENN_DATA###" in line:
+            line = line.replace("###JVENN_DATA###", json.dumps(to_replace))
+        FH_summary_out.write(line)
+
+    FH_summary_out.close()
+    FH_summary_tpl.close()
+
+
+def process(args):
+    write_summary(args.summary, args.input)
+
+
+#####################################################################
+# MAIN
+#####################################################################
+if __name__ == '__main__':
+    # Parse parameters
+    parser = argparse.ArgumentParser(description='Filters an abundance file')
+    group_input = parser.add_argument_group('Inputs')
+    group_input.add_argument('--input', nargs="+", action="append",
+                             required=True, help="The input tabular file.")
+    group_output = parser.add_argument_group('Outputs')
+    group_output.add_argument('--summary', default="summary.html",
+                              help="The HTML file containing the graphs. \
+                                   [Default: %(default)s]")
+    args = parser.parse_args()
+
+    # Process
+    process(args)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/venn_diagram.xml	Sat Jun 12 18:06:28 2021 +0000
@@ -0,0 +1,177 @@
+<?xml version="1.0"?>
+<tool id="proteore_venn_diagram" name="Venn diagram" version="2021.06.08" profile="20.01">
+    <description>with JVenn</description>
+    <requirements>
+        <requirement type="package" version="3.9">python</requirement>
+    </requirements>
+    <command detect_errors="aggressive"><![CDATA[
+        python '$__tool_directory__/venn_diagram.py'
+
+        #for $i, $s in enumerate($series)
+            --input
+            #if $s.se.input == "file"
+                '$s.se.file' '$s.name' 'file' '$s.se.header' '$s.se.ncol'
+            #else
+                '$s.se.list' '$s.name' 'list'
+             #end if
+        #end for 
+        --summary '$output_summary'
+    ]]></command>
+    <inputs>
+        <repeat name="series" title="List to compare" min="2" max="6">
+            <conditional name="se" >
+                <param type="select" name="input" label="Enter your list" help="Copy/paste or from a file (e.g. table)" >
+                    <option value="list">Copy/paste list </option>
+                    <option value="file" selected="true">Input file containing your list</option>
+                </param>
+                <when value="file">
+                    <param type="data" name="file" format="txt,tabular" label="Select your file" />
+                    <param name="header" type="boolean" checked="true" truevalue="true" falsevalue="false" label="Does file contain header?" />
+                    <param type="text" name="ncol" value="c1" label="Column number on which apply the comparison" help ='For example, fill in "c1" if you want to filter the first column'>
+                        <validator type="regex" message="Please enter a column number, for example: 'c1' for the first column">[c]{0,1}[0-9]+</validator>
+                    </param>
+                </when>
+                <when value="list">
+                    <param type="text" name="list" label="Copy/paste list" help='IDs must be separated by spaces into the form field, for example: P31946 P62258' >
+                        <sanitizer>
+                            <valid initial="string.printable">
+                                <remove value="&apos;"/>
+                                <remove value="/"/>
+                            </valid>
+                            <mapping initial="none">
+                                <add source="&apos;" target="__sq__"/>
+                            </mapping>
+                        </sanitizer>
+                    </param>
+                </when>
+            </conditional>
+            <param type="text" name="name" value="" label="Enter the name of this list" help="This name will be displayed on venn diagram" optional="false">
+                <sanitizer>
+                    <valid initial="string.printable">
+                        <remove value="&apos;"/>
+                    </valid>
+                    <mapping initial="none">
+                        <add source="&apos;" target="__sq__"/>
+                    </mapping>
+                </sanitizer>
+                <validator type="regex" message="Please enter a list name">[a-zA-Z0-9._-]+</validator>
+            </param>
+        </repeat>
+    </inputs>
+    <outputs>
+        <data format="html" name="output_summary" label="Venn diagram" from_work_dir="venn_diagram_summary.html" />
+        <data format="tsv" name="output_text" label="Venn diagram text output" from_work_dir="venn_diagram_text_output.tsv" />
+    </outputs>
+    <tests>
+        <test>
+            <repeat name="series">
+                <conditional name="se">
+                    <param name="input" value="file" />
+                    <param name="file" value="ID_Converter_FKW_Lacombe_et_al_2017_OK.txt" />
+                    <param name="header" value="true" />
+                    <param name="ncol" value="c1" />
+                </conditional>
+                 <param name="name" value="Lacombe" />
+            </repeat>
+            <repeat name="series">
+                <conditional name="se">
+                    <param name="input" value="file" />
+                    <param name="file" value="Bredberg.txt" />
+                    <param name="header" value="false" />
+                    <param name="ncol" value="c1" />
+                </conditional>
+                <param name="name" value="Bredberg" />
+            </repeat>
+            <repeat name="series">
+                <conditional name="se">
+                    <param name="input" value="file" />
+                    <param name="file" value="Mucilli.txt" />
+                    <param name="header" value="false" />
+                    <param name="ncol" value="c1" />
+                </conditional>
+                <param name="name" value="Mucilli" />
+            </repeat>
+            <output name="output_summary" file="Venn_diagram_html.html" />
+            <!-- <output name="output_text" file="Venn_text_output.txt" />       -->
+        </test>
+    </tests>
+    <help><![CDATA[
+
+**Description**
+
+This tool is used for cross-comparison purpose between several lists having a common key (e.g. IDs) and draw a venn diagram from lists/files using the Jvenn plug-in (see Authors below).
+It also creates output text file that contain common or specific elements between query and each compared lists/files.
+
+-----
+
+**Input**
+
+Can be either a list entered in a copy/paste mode or a single or multi-columns file (txt, tsv, csv, tab, output from other tools) up to six lists/files
+
+* **List of IDs in a copy/paste mode:** IDs have to be separated by a space (e.g. AMY1A ALB IGKC CSTA IGHA1 ACTG1)
+        
+* **for example an IDs list file** in .txt format, with 1 ID per line
+
+.. csv-table:: tab1
+    :header: "Ids"
+
+
+    "AMY1A"
+    "ALB"    
+    "IGKC"    
+    "CSTA"    
+    "IGHA1"
+        
+If you use a file as input list, it is necessary to specify the column number on which to apply the comparison.
+
+Ids in a line will be split by ";", so if you have this kind of input : 
+
+.. csv-table:: tab with multiple ids per line
+    :header: "Ids"
+
+    "P22531"
+    "P04792"
+    "P01834"
+    "Q96KK5"
+    "Q06830;P60709;P13646;P31949"
+    "P06702"
+    "P14923"
+    "Q13835"
+
+All ID will be considered (i.e. Q06830,P60709,P13646 and P31949 will be split).
+
+.. class:: warningmark
+    
+In copy/paste mode, the number of IDs considered in input is limited to 5000.
+
+-----
+
+**Parameter**
+
+"Please enter the name of this list": each list or set should be named, this information will be reported in both output (see below)
+
+-----
+
+**Output**
+
+Two outputs are generated:
+        
+* **Graphical file**: Venn diagram that you can either display (interactive mode) or download as an image (PNG, SVG format)
+        
+* **Venn text output file** : a text file containing specific elements or shared by lists/files.
+
+
+]]></help>
+   <citations>
+         <citation type="doi">doi:10.1186/1471-2105-15-293</citation>
+         <citation type="bibtex">@book{toolsProteoRE,
+            journal = {GitHub repository},
+            publisher = {GitHub},
+            title = {ProteoRE tools},
+            url = {https://github.com/galaxyproteomics/tools-galaxyp},
+            author = {Lien Nguyen, David Chistiany, Florence Combes,Christophe Caron, Valentin Loux Yves Vandenbrouck},
+            date = {2021},
+            year = {2021},
+        }</citation>
+   </citations>
+</tool>