canvasxpress-cli
Version:
Node program to run canvasXpress in the command line
27 lines • 3.58 MB
JavaScript
/**
*
* CanvasXpress 64.3 - JavaScript Canvas Library
*
* Copyright (c) 2009-2026 - license@canvasxpress.org
*
* Redistributions of the source code must retain this copyright
* notice and the following disclaimer.
*
* CanvasXpress is released as open source for personal and
* educational use with dual licensing for commercial purposes.
*
* 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.
*
* Please see a copy of the CanvasXpress License at
* https://www.canvasxpress.org/docs/license.html.
*
* Dual licensing:
* Commercial use may be granted to the extent that this source
* code does NOT become part of any other Open Source or
* Commercially licensed development library or toolkit without
* explicit permission from CanvasXpress.
*
*/
(function(b,a){if(typeof exports==="object"){a(exports)}else{(a((b.CanvasXpress=b.CanvasXpress||{})))}}(this,(function(){var a=(typeof CanvasXpress==="function")?CanvasXpress:null;CanvasXpress=function(w,x,v,c,u,o,f,k,s){var i=this;var t=1;var e=2;var m=4;var y=8;var l=16;var g=32;var n=0;var r=function(){var z=document.querySelector(".jp-Notebook, .notebook_app")!==null;return window.Jupyter||window.jupyterlab||window.__jupyter_config__||z};var d=function(){p()};var j=function(z){if(z){i.init(z);if(f){f(z)}}else{i.init(w,x,v,c,u,o,f,k)}};var q=function(z){if(CanvasXpress.maps.hasOwnProperty(z)){return"https://www.canvasxpress.org"+CanvasXpress.maps[z]}if(CanvasXpress.usa.hasOwnProperty(z)){return"https://www.canvasxpress.org/data/maps/"+z+".json"}if(CanvasXpress.countries.hasOwnProperty(z)){return"https://www.canvasxpress.org/data/maps/"+z+".json"}return null};var h=function(C,A){var z=C.toLowerCase();var B;for(B in CanvasXpress.usa){if(CanvasXpress.usa.hasOwnProperty(B)&&CanvasXpress.usa[B][0].toLowerCase()===z){A.mapId=B;return"https://www.canvasxpress.org/data/maps/"+B+".json"}}for(B in CanvasXpress.countries){if(CanvasXpress.countries.hasOwnProperty(B)&&CanvasXpress.countries[B][0].toLowerCase()===z){A.mapId=B;return"https://www.canvasxpress.org/data/maps/"+B+".json"}}return null};if(v&&typeof v==="string"){v={prompt:v,llmBehaviour:"update",view:"table"}}else{if(w&&w.config&&w.config.prompt&&w.config.isR){w.config.llmBehaviour="update";w.config.view="table"}}var p=function(){if(!(n&t)){var B=document.styleSheets;var A=false;var D;for(D=0;D<B.length;D++){if(B[D].href&&B[D].href.indexOf("canvasXpress.css")>-1){A=true;break}}if(!A){n|=t;var G=document.createElement("link");G.rel="stylesheet";G.type="text/css";G.href="https://www.canvasxpress.org/dist/canvasXpress.css";document.getElementsByTagName("head")[0].appendChild(G);G.onload=function(){p()};return}n|=t}if(!(n&e)){var I=(v&&v.fonts)||(w&&w.config&&w.config.fonts);if(I){n|=e;var F=(v&&v.fonts)?v.fonts:w.config.fonts;CanvasXpress.loadFonts(F,d);return}n|=e}if(!(n&m)){var J=(v&&v.fontsExternal)||(w&&w.config&&w.config.fontsExternal);if(J){n|=m;var K=(v&&v.fontsExternal)?v.fontsExternal:w.config.fontsExternal;CanvasXpress.loadFontsExternal(K,d);return}n|=m}if(!(n&y)){var z=(v&&v.topoJSON&&typeof v.topoJSON==="string")||(w&&w.config&&w.config.topoJSON&&typeof w.config.topoJSON==="string");var C=(v&&v.useLeaflet)||(w&&w.config&&w.config.useLeaflet);if(z||C){n|=y;if(C){CanvasXpress.loadLeaflet(function(){var L=v&&v.topoJSON;var M=w&&w.config&&w.config.topoJSON;if(L){CanvasXpress.loadTopoJSON(v.topoJSON,v.mapId,d)}else{if(M){CanvasXpress.loadTopoJSON(w.config.topoJSON,w.config.mapId,d)}else{d()}}},i)}else{if(v&&v.topoJSON){CanvasXpress.loadTopoJSON(v.topoJSON,v.mapId,d)}else{CanvasXpress.loadTopoJSON(w.config.topoJSON,w.config.mapId,d)}}return}n|=y}if(!(n&l)){var H=(x&&typeof x==="string")||(w&&w.data&&typeof w.data==="string");if(H){n|=l;if(x){CanvasXpress.loadRemoteData(w,x,v,c,j)}else{CanvasXpress.loadRemoteData(w.renderTo,w.data,w.config,w.events,j)}return}n|=l}if(!(n&g)){var E=(v&&v.graphType==="Map"&&v.mapId&&!v.topoJSON)||(w&&w.config&&w.config.graphType==="Map"&&w.config.mapId&&!w.config.topoJSON);if(E){n|=g;if(v&&v.graphType==="Map"&&v.mapId&&!v.topoJSON){v.topoJSON=q(v.mapId)||h(v.mapId,v)||CanvasXpress.geojson;CanvasXpress.loadTopoJSON(v.topoJSON,v.mapId,d)}else{w.config.topoJSON=q(w.config.mapId)||h(w.config.mapId,w.config)||CanvasXpress.geojson;CanvasXpress.loadTopoJSON(w.config.topoJSON,w.config.mapId,d)}return}n|=g}i.init(w,x,v,c,u,o,f,k)};if(s||r()){p()}else{setTimeout(p,0)}};if(a){CanvasXpress.prototype=a.prototype;for(var b in a){if(a.hasOwnProperty(b)&&!CanvasXpress.hasOwnProperty(b)){CanvasXpress[b]=a[b]}}}})));(function(b,a){if(typeof exports==="object"&&typeof module!=="undefined"){a(exports)}else{(a((b.cxplot=b.cxplot||{})))}}(this,(function(){cxplot=function(y,z,k,a){if(typeof(y)=="object"&&y.isGGPlot){var n=function(g){if(Array.isArray(g)&&!g.length){return{}}else{var f={};for(var m in g){if(g[m]&&typeof g[m]==="string"){f[m]=g[m].replace(/^"(.+)"$/,"$1")}else{f[m]=g[m]}}return f}};var l=function(){if(y.order){y.aes.meta={};for(var f in y.order){y.aes.meta[f]=y.order[f]}}if(!y.aes.hasOwnProperty("x")||(y.aes.hasOwnProperty("x")&&y.data[0]&&!y.data[0].includes(y.aes.x))){for(var f=0;f<o.length;f++){var m=o[f];if(y.layers[m]&&y.layers[m].hasOwnProperty("x")&&y.data[0].includes(y.layers[m].x)){y.aes.x=y.layers[m].x;break}}}if(!y.aes.hasOwnProperty("y")||(y.aes.hasOwnProperty("y")&&y.data[0]&&!y.data[0].includes(y.aes.y))){for(var f=0;f<o.length;f++){var m=o[f];if(y.layers[m]&&y.layers[m].hasOwnProperty("y")&&y.data[0].includes(y.layers[m].y)){y.aes.y=y.layers[m].y;break}}}if(y.hasOwnProperty("meta")){y.aes.metaData=y.meta}if(y.hasOwnProperty("mappings")){y.aes.mappings=y.mappings}if(y.hasOwnProperty("scales")&&y.scales.hasOwnProperty("sizes")){if(Array.isArray(y.scales.sizes)){y.aes.sizes=y.scales.sizes}}if(y.hasOwnProperty("isGGMatrix")){y.aes.isGGMatrix=y.isGGMatrix}return y.aes};var x=function(f){if(f&&f.hasOwnProperty("hoverTemplate")){f.hoverTemplate+="<br>"}return f};var j=function(f){if(f&&Array.isArray(f)&&f.length==0&&y.scales&&y.scales.hasOwnProperty("setMinX")&&y.scales.hasOwnProperty("setMaxX")&&y.scales.hasOwnProperty("setMinY")&&y.scales.hasOwnProperty("setMaxY")){f=[["min","max"],[y.scales.setMinX,y.scales.setMaxX],[y.scales.setMinY,y.scales.setMaxY]]}return f};delete (y.isGGPlot);var p=JSON.stringify(y);var o=Array.isArray(y.geoms)?y.geoms:[y.geoms];var s=aes(l());if(o.indexOf("GeomDensity")!==-1){s.cxGraphType="Scatter2D"}var d=new cxplot(y.renderTo,j(y.data),s,a);var e={};d.skipGeoms=false;d.meta.config.user.geoms=o;d.meta.config.user.layers=y.layers;d.meta.config.user.cxplot=p;for(var r=0;r<o.length;r++){var t=o[r];var q=e[t]?t+"."+e[t]:t;var u=t.toLowerCase().replace("geom","geom_").replace("2","_2").replace("filled","_filled").replace("_qql","_qq_l").replace("ridgesgradient","ridges_gradient").replace("ridges","_ridges").replace("repel","_repel").replace("npc","_npc").replace("pattern","_pattern");if(d[u]&&!d.skipGeoms){d[u](n(y.layers[q]))}e[t]=e[t]?e[t]+1:1}d.skipGeoms=false;d.pY0(n(y.labels));d.xws(n(y.scales));d.Jpv(n(y.coords));d.aXK(n(y.theme));d.iIB(n(y.facet));d.w0m(x(y.config));d.skipRender=false;d.ueA();return d}else{if(k){var b=["x","y"];for(var r=0;r<b.length;r++){if(k[b[r]]&&k[b[r]].match(/\*/)){var h=k[b[r]].split("*");h[0]=h[0].replace(/\s*$/,"");h[1]=Number(h[1].replace(/^\s*/,""));k[b[r]]=h[0];if(!isNaN(h[1])){k[b[r]]=h[0];k[b[r]+"AxisFactorValue"]=h[1]}}if(k[b[r]]&&z&&z[0]&&!z[0].includes(k[b[r]])){if(k[b[r]].match(/^after_stat/)){k.after_stat=k[b[r]].replace(/^after_stat\(/,"")}delete k[b[r]]}}}var w={aes:(k||{}),theme:"GGPlot",shapes:["circle","equilateral","rect","plus","minus","diamond","hexagon","octagon","star","pentagon"],isCxplot:true,isGGMatrix:(k&&k.isGGMatrix?k.isGGMatrix:false),legendStyleGgplot:true,skipRender:(k&&k.isR?true:false)};if(k&&k.cxGraphType){w.graphType=k.cxGraphType;delete k.cxGraphType}if(k&&k.hasOwnProperty("sizes")){if(Array.isArray(k.sizes)){w.sizes=k.sizes;while(w.sizes.length<10){var v=(w.sizes[w.sizes.length-1]-w.sizes[w.sizes.length-2])/2;w.sizes.push(Math.ceil(v+w.sizes[w.sizes.length-1]))}if(w.sizes[0]<4){var v=4-w.sizes[0];for(var r=0;r<w.sizes.length;r++){w.sizes[r]+=v}}}}if(k&&k.hasOwnProperty("metaData")){w.metaData=k.metaData}if(k.hasOwnProperty("xAxisFactorValue")){w.xAxisFactorValue=k.xAxisFactorValue}if(k.hasOwnProperty("yAxisFactorValue")){w.yAxisFactorValue=k.yAxisFactorValue}var c=new CanvasXpress(y,z,w,a,false,false,false,false,true);c.meta.ggplot.aes=k||{};c.meta.ggplot.data=z[0];c.meta.ggplot.order=k&&k.order?k.order:{};return c}}})));(function(b,a){if(typeof exports==="object"&&typeof module!=="undefined"){a(exports)}else{(a((b.aes=b.aes||{})))}}(this,(function(){aes=function(){var b=arguments;var f={};var e=["x","y","z","fill","color","shape","size","pattern"];var a=function(){if(!f.stringSampleFactors){f.stringSampleFactors=[]}if(!f.stringVariableFactors){f.stringVariableFactors=[]}if(!f.asSampleFactors){f.asSampleFactors=[]}if(!f.asVariableFactors){f.asVariableFactors=[]}};for(var c=0;c<b.length;c++){if(Array.isArray(b[c])&&Array.isArray(b[c][0])){f.data=b[c]}else{if(b[c] instanceof Object){for(var d in b[c]){f[d]=b[c][d];if(d=="factor"){a();f.stringSampleFactors.push(b[c][d]);f.stringVariableFactors.push(b[c][d]);f.asSampleFactors.push(b[c][d]);f.asVariableFactors.push(b[c][d]);if(b.length>1){if(c==0){f.x=b[c][d]}else{if(c==1){f.y=b[c][d]}else{if(c==2){f.z=b[c][d]}}}}}else{if(e.includes(d)){if(b[c][d] instanceof Object&&b[c][d].factor){a();f.stringSampleFactors.push(b[c][d].factor);f.stringVariableFactors.push(b[c][d].factor);f.asSampleFactors.push(b[c][d].factor);f.asVariableFactors.push(b[c][d].factor);f[d]=b[c][d].factor}else{if(b[c][d].toString().match(/^factor\(.+\)/)){f[d]=b[c][d].replace(/^factor\(/,"").replace(/\)$/,"");a();f.stringSampleFactors.push(f[d]);f.stringVariableFactors.push(f[d]);f.asSampleFactors.push(f[d]);f.asVariableFactors.push(f[d])}else{if(b[c].mappings&&b[c].mappings[d]){a();f.stringSampleFactors.push(b[c][d]);f.stringVariableFactors.push(b[c][d]);f.asSampleFactors.push(b[c][d]);f.asVariableFactors.push(b[c][d])}}}}else{if(d=="sample"){f.x=b[c][d]}}}}}else{if(c==0){f.x=b[c]}else{if(c==1){f.y=b[c]}else{if(c==2){f.z=b[c]}}}f[b[c]]=b[c]}}}return f}})));(function(b,a){if(typeof exports==="object"&&typeof module!=="undefined"){a(exports)}else{(a((b.ggplot=b.ggplot||{})))}}(this,(function(){var b=["point","line","path","bar","col","area","boxplot","violin","sina","histogram","density","dotplot","jitter","smooth","tile","raster","hex","bin_2d","contour","errorbar","ribbon","step","text","label","segment","rect","polygon","qq","quantile","dumbbell","rug","count","density_ridges"];function e(h){for(var g=1;g<arguments.length;g++){var i=arguments[g];if(i){for(var f in i){if(i.hasOwnProperty(f)){h[f]=i[f]}}}}return h}function c(j){var h=j.split("_");var g="Geom";for(var f=0;f<h.length;f++){g+=h[f].charAt(0).toUpperCase()+h[f].slice(1)}return g}function d(g,f){this.dataFrame=g||null;this.plotAes=f?e({},f):{};this.geomTokens=[];this.geomLayers={};this.geomCounts={};this.facetSpec={};this.labelSpec={};this.scaleSpec={};this.coordSpec={};this.themeSpec={};this.configSpec={};this.orderSpec={};this.renderTarget=null}d.prototype.data=function(f){this.dataFrame=f;return this};d.prototype.aes=function(f){e(this.plotAes,f);return this};d.prototype.addGeom=function(j,f){var h=c(j);var i=this.geomCounts[h]||0;var g=i===0?h:h+"."+i;this.geomLayers[g]=e({},this.plotAes,f);this.geomTokens.push(h);this.geomCounts[h]=i+1;return this};d.prototype.facet_wrap=function(f,g){this.facetSpec=e({facet:f,facetType:"wrap"},g);return this};d.prototype.facet_grid=function(f){this.facetSpec=e({facetType:"grid"},f);return this};d.prototype.facet=function(f){this.facetSpec=e({},f);return this};d.prototype.labs=function(f){e(this.labelSpec,f);return this};d.prototype.ggtitle=function(f){this.labelSpec.title=f;return this};d.prototype.scales=function(f){e(this.scaleSpec,f);return this};d.prototype.coords=function(f){e(this.coordSpec,f);return this};d.prototype.coord_flip=function(){this.coordSpec.flip=true;return this};d.prototype.theme=function(f){e(this.themeSpec,f);return this};d.prototype.config=function(f){e(this.configSpec,f);return this};d.prototype.spec=function(g){var f={renderTo:g||this.renderTarget,data:this.dataFrame,aes:this.plotAes,layers:this.geomLayers,geoms:this.geomTokens.length===1?this.geomTokens[0]:this.geomTokens,isGGPlot:true};if(this.elc(this.facetSpec).length){f.facet=this.facetSpec}if(this.elc(this.labelSpec).length){f.labels=this.labelSpec}if(this.elc(this.scaleSpec).length){f.scales=this.scaleSpec}if(this.elc(this.coordSpec).length){f.coords=this.coordSpec}if(this.elc(this.themeSpec).length){f.theme=this.themeSpec}if(this.elc(this.configSpec).length){f.config=this.configSpec}if(this.elc(this.orderSpec).length){f.order=this.orderSpec}return f};d.prototype.getKeys=function(h){var g=[];for(var f in h){if(h.hasOwnProperty(f)){g.push(f)}}return g};d.prototype.render=function(g,f){return cxplot(this.spec(g),null,null,f)};for(var a=0;a<b.length;a++){(function(f){d.prototype["geom_"+f]=function(g){return this.addGeom(f,g)}})(b[a])}ggplot=function(g,f){return new d(g,f)};if(typeof cxplot!=="undefined"&&cxplot){cxplot.plot=ggplot}})));CanvasXpress.onReady=function(){var f=[];var a=false;var d=false;var c=function(){if(!a){var g=CanvasXpress.instances[0];if(g){g.aru("canvasXpress JS ready");a=true;for(var h=0;h<f.length;h++){f[h].fn.call(window,f[h].ctx)}f=[]}}};var b=function(){if(window.document.readyState==="complete"){c()}};var e=function(){c()};window.onReady=function(h,g){if(a){setTimeout(function(){h(g)},1);return}else{f.push({fn:h,ctx:g})}if(window.document.readyState==="complete"){setTimeout(c,1)}else{if(!d){if(window.document.addEventListener){window.document.addEventListener("DOMContentLoaded",c,false);window.addEventListener("load",e,false)}else{window.document.attachEvent("onreadystatechange",b);window.attachEvent("onload",e)}d=true}}};return true}();CanvasXpress.loadLeaflet=function(c,d){var b=document.createElement("script");b.type="text/javascript";b.src="https://www.canvasxpress.org/assets/leaflet/leaflet.js";b.crossOrigin="anonymous";var a=document.createElement("link");a.type="text/css";a.rel="stylesheet";a.href="https://www.canvasxpress.org/assets/leaflet/leaflet.css";a.crossOrigin="anonymous";if(window.L){if(c){if(typeof(c)=="function"){c.call(d)}}}else{CanvasXpress.loadScripts([a,b],c,d)}};CanvasXpress.loadScripts=function(){var i=0;return function(files,callback,scope){var head=window.document.getElementsByTagName("head")[0];var loadScript=function(s,c){var t=s.type;if(t.match(/javascript/i)){s.onreadystatechange=function(){if(s.readyState==="loaded"||s.readyState==="complete"){s.onreadystatechange=null;c()}};s.onload=function(){c()};head.appendChild(s)}else{head.appendChild(s);c()}};var count=function(){if(i===files.length){i=0;if(callback){if(typeof(callback)=="function"){callback.call(scope)}else{if(typeof(callback)=="string"){eval("var fn = "+callback);fn()}}}}else{CanvasXpress.loadScripts(files,callback,scope)}};i++;if(files[i-1]){loadScript(files[i-1],count)}}}();CanvasXpress.transferDatasetAttributes=function(e,a,f){var d=JSON.parse(JSON.stringify(e.dataset));for(var c in d){if(d.hasOwnProperty(c)){if(f){a[c.replace(/^data-/,"")]=d[c]}else{var b="data-"+c.replace(/([a-zA-Z])(?=[A-Z])/g,"$1-").toLowerCase();a.setAttribute(b,d[c])}}}};CanvasXpress.initCanvas=function(g){var e=document.querySelectorAll("canvas.CanvasXpress");for(var d=0;d<e.length;d++){var h=e[d];if(h.id){var f=false;var a={};var b=CanvasXpress.getObject(h.id);if(h.hasAttribute("data-src")&&!b){f=h.getAttribute("data-src");CanvasXpress.transferDatasetAttributes(h,a,true);if(Object.keys(a).length){new CanvasXpress(h.id,f,a)}else{new CanvasXpress(h.id,f,false,false,false,false,g)}}}}};CanvasXpress.initImage=function(h){var j=document.querySelectorAll("img.CanvasXpress");for(var f=0;f<j.length;f++){var c=j[f];if(c.id){var d=CanvasXpress.getObject(c.id);var g=c.parentNode;if(!d){var e=c.src;var a=c.id;var b=window.document.createElement("canvas");b.width=c.width;b.height=c.height;CanvasXpress.transferDatasetAttributes(c,b);g.removeChild(c);b.id=a;g.appendChild(b);if(!h){h=function(){window.dispatchEvent(new Event("resize"))}}else{h=(function(i){return function(){i();window.dispatchEvent(new Event("resize"))}})(h)}new CanvasXpress(a,e,false,false,false,false,h)}}}};CanvasXpress.initTable=function(g){var c=document.querySelectorAll("table.CanvasXpress");for(var b=0;b<c.length;b++){var e=c[b];if(e.id){var h=CanvasXpress.getObject(e.id);var d=e.parentNode;if(!h){var f=e.id;var a=window.document.createElement("canvas");a.id="temp-table-id-"+e.id;a.width=e.hasAttribute("data-width")?e.getAttribute("data-width"):500;a.height=e.hasAttribute("data-height")?e.getAttribute("data-height"):500;CanvasXpress.transferDatasetAttributes(e,a);d.appendChild(a);new CanvasXpress("temp-table-id-"+e.id,f,false,false,false,false,g)}}}};CanvasXpress.pivot=function(M,z,N,x){function O(v,h){var r=v.slice(1);var c=[];for(var l=0;l<r.length;l++){c.push(r[l][h])}var k=[];for(var l=0;l<c.length;l++){if(k.indexOf(c[l])===-1){k.push(c[l])}}var m=r.length;var j=k.length;if(j===m){return false}else{return true}}if(!M||!Array.isArray(M)||M.length<2||!Array.isArray(M[0])||M[0].length<3){return M}var L=M[0];var B=M.slice(1);if(z===undefined){z=L[0]}if(N===undefined){N=L[1]}if(x===undefined){x=L[2]}var y=L.indexOf(z);var w=L.indexOf(N);var Q=L.indexOf(x);if(y===-1||w===-1||Q===-1){throw new Error("One or more specified column headers not found.")}if(!O(M,y)){return M}var s=[];var n=[];for(var I=0;I<L.length;I++){if(I!==y&&I!==w&&I!==Q){s.push(L[I]);n.push(I)}}var g={};for(var I=0;I<B.length;I++){var t=B[I];var C=t[y];if(!g[C]){g[C]={};g[C][z]=C;for(var F=0;F<s.length;F++){g[C][s[F]]=[]}}for(var F=0;F<s.length;F++){g[C][s[F]].push(t[n[F]])}var o=t[w];var S=t[Q];if(!g[C][o]){g[C][o]=[]}g[C][o].push(S)}var f=B.map(function(c){return c[w]});var H=[];for(var G=0;G<f.length;G++){var S=f[G];if(H.indexOf(S)===-1){H.push(S)}}var P=Object.keys(g);for(var I=0;I<P.length;I++){var R=P[I];for(var F=0;F<s.length;F++){var A=s[F];var b=g[R][A];var u=[];for(var E=0;E<b.length;E++){if(u.indexOf(b[E])===-1){u.push(b[E])}}g[R][A]=u.join(", ")}for(var G=0;G<H.length;G++){var q=H[G];if(g[R][q]&&typeof g[R][q].length!=="undefined"){var K=g[R][q];var J=true;for(var D=0;D<K.length;D++){if(isNaN(parseFloat(K[D]))||!isFinite(K[D])){J=false;break}}if(J){var e=0;for(var D=0;D<K.length;D++){e+=parseFloat(K[D])}g[R][q]=e/K.length}else{g[R][q]=K.join(", ")}}}}var p=[z].concat(s).concat(H);var a=Object.keys(g).map(function(c){var d=g[c];return p.map(function(h){return d[h]||null})});return[p].concat(a)};CanvasXpress.melt=function(u,q,l,c,x){if(!u||!Array.isArray(u)||u.length<2||!Array.isArray(u[0])||u[0].length<2){return u}var s=u[0];var f=u.slice(1);var c=c||"variable";var g=x||"value";if(!l){l=[];for(var o=0;o<s.length;o++){if(q.indexOf(s[o])===-1){l.push(s[o])}}}var b=q.map(function(d){return s.indexOf(d)});var t=l.map(function(d){return s.indexOf(d)});var v=[];for(var o=0;o<f.length;o++){var a=f[o];var n=b.map(function(d){return a[d]});for(var p=0;p<t.length;p++){var w=n.slice();w.push(l[p]);w.push(a[t[p]]);v.push(w)}}var e=q.concat([c,g]);return[e].concat(v)};CanvasXpress.getSetCurrentObject=function(d){var e=null;if(d){var c=d.target||d.srcElement;var g=0;while(c&&!e&&g<8){var h=c.id;if(h){e=CanvasXpress.getObject(h);if(!e){var f=null;for(var b=0;b<CanvasXpress.instances.length;b++){var a=CanvasXpress.instances[b].target;if(h===a||h.indexOf(a+"-")===0||a.indexOf(h+"-")===0){if(!f||a.length>f.target.length){f=CanvasXpress.instances[b]}}}e=f}}c=c.parentNode;g++}}if(e){CanvasXpress.current=e;return e}if(CanvasXpress.current&&typeof(CanvasXpress.current)=="object"){return CanvasXpress.current}CanvasXpress.current=CanvasXpress.instances[0];return CanvasXpress.current};CanvasXpress.getObject=function(f,b){if(f){while(CanvasXpress.chain.hasOwnProperty(f)){f=CanvasXpress.chain[f]}for(var a=0;a<CanvasXpress.instances.length;a++){if(CanvasXpress.instances[a].target==f){return CanvasXpress.instances[a]}}}else{if(b){var d=window.document.getElementById(f);if(!d){var e=window.document.createElement("canvas");e.id=f;e.width=100;e.height=100;window.document.body.appendChild(e);d=new CanvasXpress({renderTo:f},false,false,false,false,false,false,false,true)}return d}else{if(CanvasXpress.instances.length){return CanvasXpress.instances[0]}}}};CanvasXpress.json=function(a,c){var b=new XMLHttpRequest();b.open("GET",a,true);b.responseType="json";b.onload=function(){var d=b.status;if(d==200){c(null,b.response)}else{c(d)}};b.send()};CanvasXpress.csv=function(a,c){var b=new XMLHttpRequest();b.open("GET",a,true);b.responseType="text";b.onload=function(){var d=b.status;if(d==200){c(null,b.response)}else{c(d)}};b.send()};CanvasXpress.svg=function(a,d,c){var b=new XMLHttpRequest();b.open("GET",a,true);b.responseType="text";b.onload=function(){var e=b.status;if(e==200){c(b.responseText,d)}else{c(e)}};b.send()};CanvasXpress.$=function(b,a){return CanvasXpress.getObject(b,a)};CanvasXpress.destroy=function(b,a){if(CanvasXpress.instances.length>0){CanvasXpress.instances[0].destroy(b,a)}};CanvasXpress.create=function(c,b,a){CanvasXpress.inject(c);return new CanvasXpress(c,b,a,false,false,false,false,false,true)};CanvasXpress.createObject=function(f,d,b,c,e,h,g,a){if(!f){throw new Error("No target provided")}else{if(typeof(f)=="object"&&f.renderTo){d=f.tracks?{tracks:f.tracks}:f.nodes?{nodes:f.nodes}:f.venn?{venn:f.venn}:f.data?f.data:false;b=f.config||false;if(f.version){b.createVersion=f.version}if(f.factory){b.createFactory=f.factory}c=f.events||false;e=f.info?f.info.replace(/'/g,"'").replace(/"/g,"'"):false;h=f.afterRender||false;g=f.callback||false;a=f.noValidate?f.noValidate:b&&b.noValidate?b.noValidate:false;f=f.renderTo;CanvasXpress.inject(f)}else{if(typeof f==="string"||f instanceof String){CanvasXpress.inject(f)}}}return{target:f,data:d,config:b,events:c,info:e,afterRender:h,callback:g,noValidate:a}};CanvasXpress.inject=function(c){if(typeof c==="string"||c instanceof String){var b=document.getElementById(c);if(b!==null){if(b.tagName.toLowerCase()=="canvas"){if(!b.width){b.width=500}if(!b.height){b.height=500}}else{if(b.tagName.toLowerCase()=="div"){b.id=c+"-div";var a=document.createElement("canvas");a.id=c;a.width=500;a.height=500;b.appendChild(a)}}}else{var a=document.createElement("canvas");a.id=c;a.width=500;a.height=500;document.body.appendChild(a)}}};CanvasXpress.loadFonts=function(d,c){if(d&&d.length&&c){var b=false;for(var a=0;a<d.length;a++){if(!CanvasXpress.fonts.hasOwnProperty(d[a])){b=true;break}}WebFontConfig={google:{families:d},timeout:2000};if(c){WebFontConfig.active=c}(function(h){if(window.navigator.onLine&&b){var e=h.createElement("script");var g=h.scripts[0];e.src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js";e.async=true;g.parentNode.insertBefore(e,g);for(var f=0;f<d.length;f++){CanvasXpress.fonts[d[f]]=true}}else{c()}})(document)}};CanvasXpress.loadFontsExternal=function(c,b){if(c&&c.length&&b){var a=false;if(!CanvasXpress.fonts.hasOwnProperty(c[0].name)){a=true}(function(f){if(window.navigator.onLine&&a){var e=new XMLHttpRequest();e.addEventListener("readystatechange",function(g){if(e.readyState==2&&e.status==200){}else{if(e.readyState==3){}else{if(e.readyState==4){var d=new FontFace(c[0].name,e.response);document.fonts.add(d);CanvasXpress.fonts[c[0].name]=true;b()}}}});e.responseType="arraybuffer";e.open("get",c[0].url);e.send()}else{b()}})(document)}};CanvasXpress.loadTopoJSON=function(a,b,d){if(a&&d){var c=false;if(!b){b="cXMap"}if(!window.hasOwnProperty(b)){c=true}(function(f){if(window.navigator.onLine&&c){var e=new XMLHttpRequest();e.addEventListener("readystatechange",function(g){if(e.readyState==2&&e.status==200){}else{if(e.readyState==3){}else{if(e.readyState==4){window[b]=JSON.parse(e.response);d()}}}});e.open("get",a);e.send()}else{d()}})(document)}};CanvasXpress.loadRemoteData=function(j,c,f,m,l){if(c&&l){if(!CanvasXpress.prototype.initIO){setTimeout(function(){CanvasXpress.loadRemoteData(j,c,f,m,l)},20);return}var n=CanvasXpress.prototype.initIO.apply(CanvasXpress);var d=function(r,s,e){if(!r.hasOwnProperty(s)){if(!r){r={}}if(!r.hasOwnProperty(s)){r[s]={}}r[s]=JSON.parse(JSON.stringify(e))}else{for(var q in e){r[s][q]=e[q]}}};var h=null;var g=window.document.getElementById(c);var o=n.isValidURL(c.replace(/^file:\/\//,""));var k=c.match(/\.pl$/)||c.match(/\.pl\?/)?true:false;if(g&&g.tagName.toLowerCase()=="table"&&g.classList.contains("CanvasXpress")&&g.id){h=n.HTMLTableToCX(g,f);h.renderTo=j||g.id;h.events=m;g.parentNode.removeChild(g);return l(h)}else{if(o){(function(p){if(window.navigator.onLine){if(!j){j="cX-data-url"}if(o==2&&!c.match(/^file:/)){if(c.match(/^\/.+/)){c=window.location.protocol+"//"+window.location.host+c}else{if(!c.match(/^\.\/.+/)){c=c.replace(/^\.\//,"/");c=window.location.protocol+"//"+window.location.host+"/"+c}else{c="file://"+c}}}var e=new XMLHttpRequest();e.open("get",c,true);e.onreadystatechange=function(){if(e.readyState==2&&e.status==200){}else{if(e.readyState==3){}else{if(e.readyState==4){if(c.match(/\.json$/)||k){h=n.parseJSON(e.response);if(Array.isArray(h)){var v=h[0][1];var u=[];for(var t=0;t<h.length;t++){u.push(h[t][0])}CanvasXpress.loadRemoteData(j,v,f,m,l)}else{h.renderTo=j||h.renderTo;h.events=m||h.events;d(h,"config",f);l(h)}}else{if(c.match(/\.parquet$/)){var w=n.S4t(e.response,f);h=n.arrayToCX(w.data,w.config);h.renderTo=j||h.renderTo;h.events=m||h.events;d(h,"config",f);l(h)}else{if(c.match(/\.png$/)){h=n.PNGtoCX(e.response);h.renderTo=j||h.renderTo;h.events=m||h.events;d(h,"config",f);l(h)}else{if(c.match(/\.txt$/)||c.match(/\.csv$/)||c.match(/\.tsv$/)||c.match(/\.tab$/)){h=n.parseDelimited(e.response);if(f&&f.graphType=="Network"){h=n.arrayToCXNetwork(h,j,f,m)}else{h=n.arrayToCX(h,f,f&&f.isR);h.renderTo=j||h.renderTo;h.events=m||h.events}d(h,"config",f);l(h)}else{if(c.match(/\.svg$/)){h=n.SVGtoCX(e.response);d(h,"config",f);l(h)}else{if(c.match(/ml$/)||c.match(/ml\.bz2$/)||c.match(/\.gexf$/)){var s=c.match(/ml\.bz2$/)?n.parseXML(n.bz2(e.response)):n.parseXML(e.response);var r=s.childNodes[0];var q=s.childNodes[2];if(r.tagName&&r.tagName.toLowerCase()=="gexf"){h=n.gexfToCX(s,j,f,m);l(h)}else{if(r.tagName&&r.tagName.toLowerCase()=="map"){h=n.metabaseToCX(s,j,f,m);l(h)}else{if(r.tagName&&r.tagName.toLowerCase()=="graph"){h=n.cytoscapeToCX(s,j,f,m);l(h)}else{if(r.tagName&&r.tagName.toLowerCase()=="pathway"){h=n.wikipathwayToCX(s,j,f,m);l(h)}else{if(q&&q.tagName&&q.tagName.toLowerCase()=="pathway"){n.keggToCX(s,j,f,m,l)}}}}}}else{l()}}}}}}}}}};if(c.match(/\.png$/)||c.match(/\.parquet$/)){e.responseType="arraybuffer"}else{if(c.match(/ml\.bz2$/)){e.responseType="binary"}else{e.responseType="text"}}e.send()}})(document)}else{try{h=JSON.parse(c);return l(h)}catch(i){h=null}var h=n.parseDelimited(c)||null;if(h){if(f&&f.graphType=="Network"){h=n.arrayToCXNetwork(h,j,f,m)}else{h=n.arrayToCX(h,f)}return l(h)}if(window.DOMParser){try{h=(new DOMParser()).parseFromString(c,"text/xml")}catch(i){h=null}}else{if(typeof window.ActiveXObject!="undefined"&&new window.ActiveXObject("Microsoft.XMLDOM")){try{h=new window.ActiveXObject("Microsoft.XMLDOM");h.async="false"}catch(i){h=null}}}if(h!=null&&h.getElementsByTagName("parsererror").length==0){var b=h.childNodes[0];var a=h.childNodes[2]||h.childNodes[1];if(b.tagName&&b.tagName.toLowerCase()=="gexf"){return l(n.gexfToCX(h,j,f,m))}else{if(b.tagName&&b.tagName.toLowerCase()=="map"){return l(n.metabaseToCX(h,j,f,m))}else{if(b.tagName&&b.tagName.toLowerCase()=="graph"){return l(n.cytoscapeToCX(h,j,f,m))}else{if(b.tagName&&b.tagName.toLowerCase()=="pathway"){return l(n.wikipathwayToCX(h,j,f,m))}else{if(a&&a.tagName&&a.tagName.toLowerCase()=="pathway"){return n.keggToCX(h,j,f,m,l)}}}}}}return null}}}};CanvasXpress.disableCSSTransitions=function(){CanvasXpress.cssTransitions=document.createElement("style");CanvasXpress.cssTransitions.type="text/css";CanvasXpress.cssTransitions.innerHTML="* { transition: none !important; -webkit-transition: none !important; }";document.getElementsByTagName("head")[0].appendChild(CanvasXpress.cssTransitions)};CanvasXpress.enableCSSTransitions=function(){if(CanvasXpress.cssTransitions){document.getElementsByTagName("head")[0].removeChild(CanvasXpress.cssTransitions);CanvasXpress.cssTransitions=null}};CanvasXpress.callbackPass=function(a){};CanvasXpress.callbackRDataset=function(d){event.stopPropagation();event.preventDefault();var f=d.split("/");var e=f[8];var b=f[9];var g=f[10].split(".")[0];var a=event.target.parentNode.parentNode.id.split("-cX-DataTable")[0];var c=CanvasXpress.getObject(a);if(e=="csv"){c.PQ5(d);c.Rdataset={library:b,dataset:g,url:c.RdatasetsURL+"json/"+b+"/"+g+"Info.json",info:false}}else{var h=function(k){var j={width:"500px",height:"500px",overflow:"auto",textWrap:"auto",position:"relative",zIndex:1000000,fontSize:"small"};var m="";for(var l in k.parameters){m+="<b>"+l+"</b>: "+k.parameters[l]+"<br><br>"}c.JDY({ac:{x:100,y:100}},m,a,j)};c.U4z(d,false,h,"json")}return false};CanvasXpress.parametersLLM=["llmServiceURL","llmTemperature","llmSelectFirst","llmBehaviour","llmPrompt","llmStack","llmHeader","llmUseAutocomplete","llmCodeExamples","llmCodeMaxSentences","disableChat"];CanvasXpress.callbackRateLLM=function(b){var c=function(){var f=document.getElementById(b.target+"-cX-ChatInterfaceRateScript");if(f){document.body.removeChild(f)}};if(b&&b.success){var a=CanvasXpress.getObject(b.target);if(a){var e=document.getElementById(b.target+"-cX-ChatInterfaceThumbUpImage");var d=document.getElementById(b.target+"-cX-ChatInterfaceThumbDownImage");if(b.rating===1){a.llc(e,"op_thumbup");a.llc(d,"op_thumbdown2");b.text="Rated: Thumbs Up"}else{if(b.rating===-1){a.llc(d,"op_thumbdown");a.llc(e,"op_thumbup2");b.text="Rated: Thumbs Down"}}a.FmO(100,100,b.text,3000)}else{alert("CanvasXpress Object: "+b.target+" - not found")}c()}else{alert(b.text)}};CanvasXpress.callbackLLM=function(a){var c=function(n,d){var h=document.createElement("canvas");h.width=n;h.height=d;h.id="cX-LLM-"+Date.now();return h};var u=function(r){var K=document.createElement("div");K.style.width=r+"px";K.style.height="100px";K.style.clear="both";K.style.position="relative";K.style.margin="auto";var n=document.createElement("span");n.innerHTML=a.datetime||"";n.style.cssFloat="right";var d=document.createElement("span");d.innerHTML=A||"";d.style.cssFloat="left";d.style.fontWeight="bold";var J=document.createElement("span");J.innerHTML=a.client||a.client_id||"";J.style.cssFloat="left";var s=document.createElement("br");var p=document.createElement("br");var h=document.createElement("br");K.appendChild(s);K.appendChild(J);K.appendChild(n);K.appendChild(p);K.appendChild(d);K.appendChild(h);return K};var f=function(h,d){var n=document.createElement("div");if(d){n.className=d}n.appendChild(h);return n};var t=function(p,h){var r=CanvasXpress.parametersLLM;h.LZK();var d={graphOrientation:true,graphType:true,isR:true,prompt:true};for(var n=0;n<r.length;n++){p.config[r[n]]=h[r[n]]}};var E=function(){var d=document.getElementById(a.target+"-cX-ChatInterfaceAskScript");if(d){document.body.removeChild(d)}};var k=function(){var d=CanvasXpress.getObject(a.target);if(d){d.Gqi();var h=document.getElementById(a.target+"-cX-ChatInterfaceThumbs");if(h){h.style.display="flex"}if(j==="select_canvasxpress_chart"&&a.html&&a.html.content){d.HJc(a.html.content)}d.tNa();d.isAskingLLM=false;d.a74()}E()};var q=function(h){var d=CanvasXpress.getObject(a.target);if(d){d.isAskingLLM=false;d.a74()}E();if(h){alert(h)}};if(!a){q("No response received from the LLM service.");return}var j=a.tool||"";var v=(j==="generate_canvasxpress_config"||j==="modify_canvasxpress_config"||j==="generate_km_config"||j==="autocomplete");CanvasXpress._selectResponse=CanvasXpress._selectResponse||{};delete CanvasXpress._selectResponse[a.target];if(j==="select_canvasxpress_chart"){if(a.top_recommendation&&a.top_recommendation.minimal_config){CanvasXpress._selectResponse[a.target]=a;a.config=a.top_recommendation.minimal_config;a.description=a.generate_hint||a.top_recommendation.graphType;v=true}}var l=(a.success===false||!!a.error||(v&&(!a.config||Object.keys(a.config).length===0)));if(l){var e;if(a.warnings&&a.warnings.length>0){e=a.warnings[0]}else{if(a.error){e=a.error}else{if(a.text){e=a.text}else{e="The LLM service ("+(j||"unknown")+") could not generate a valid configuration. Try rephrasing your description."}}}q(e);return}if(a.action||(a.actions&&a.actions.length)){var g=CanvasXpress.getObject(a.target);if(g){g.isAskingLLM=false;g.iVi(a.actions||[a.action]);if(a.html&&a.html.content){g.aFp(a.html.content)}g.a74()}E();return}if(!v){var i=CanvasXpress.getObject(a.target);if(i){i.isAskingLLM=false;if(a.html&&a.html.content){i.aFp(a.html.content)}i.a74()}E();return}var I=a.config;var i=CanvasXpress.getObject(a.target);if(i){var H=i.zVT();var F=i.MIg();var B=i.llmStack.length;var A=i.llmPrompt||"";var y=a.request_id||"";var x=JSON.parse(JSON.stringify(i.llmStack));x.push({header:F,prompt:A,n:B,requestId:y});a.config=I;t(a,i);var D=document.getElementById(a.target+"-cX-DOM");if(D){I.isGraphTime=i.isGraphTime;I.xAxisTime=i.xAxisTime;I.yAxisTime=i.yAxisTime;I.view="canvas";delete I.xAxisTickFormat;delete I.yAxisTickFormat;i.graphType=I.graphType;if(i.llmBehaviour&&i.llmBehaviour==="update"){i.kik(i.target,true);var G={renderTo:a.target,data:H,config:I,callback:k};G.config.llmPrompt=A;G.config.llmStack=x;i=new CanvasXpress(G,false,false,false,false,false,false,false,true)}else{var w=D.parentNode;var b=w.className;var z=u(i.width);var C=c(i.width,i.height);var m=C.id;var o=document.createElement("div");o.style.width=i.width+"px";o.style.height="40px";o.style.clear="both";if(w.parentNode&&w.parentNode.tagName.toLowerCase()==="div"){C=f(C,b);w.after(o);o.after(z);z.after(C)}else{w.appendChild(o);w.appendChild(z);w.appendChild(C)}var G={renderTo:m,data:H,config:I,callback:k};G.config.llmPrompt=A;G.config.llmStack=x;i=new CanvasXpress(G,false,false,false,false,false,false,false,true);D=document.getElementById(a.target+"-cX-DOM");D.style.display="block"}E()}else{alert("CanvasXpress Container: "+a.target+"-cX-DOM - not found");E()}}else{alert("CanvasXpress Object: "+a.target+" - not found");E()}};CanvasXpress.applySelectConfig=function(f,c){var e=CanvasXpress.getObject(f);if(!e){alert("CanvasXpress Object: "+f+" - not found");return}var g=e.zVT();var i=CanvasXpress._selectResponse&&CanvasXpress._selectResponse[f];var b=0;var j=document.getElementById(f+"-cX-ChatInterfaceMessagesContainer");if(j){b=j.scrollTop}e.kik(e.target,true);var k={renderTo:f,data:g,config:c};e=new CanvasXpress(k,false,false,false,false,false,false,false,true);if(i&&i.html&&i.html.content){var h=CanvasXpress.getObject(f);if(h){h.e1h();h.HJc(i.html.content);var a=document.getElementById(f+"-cX-ChatInterfaceMessagesContainer");if(a){a.scrollTop=b}}}};CanvasXpress.setColorSchemes=function(){CanvasXpress.colorSchemes={YlGn:{3:"f7fcb9addd8e31a354",4:"ffffccc2e69978c679238443",5:"ffffccc2e69978c67931a354006837",6:"ffffccd9f0a3addd8e78c67931a354006837",7:"ffffccd9f0a3addd8e78c67941ab5d238443005a32",8:"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32",9:"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529"},YlGnBu:{3:"edf8b17fcdbb2c7fb8",4:"ffffcca1dab441b6c4225ea8",5:"ffffcca1dab441b6c42c7fb8253494",6:"ffffccc7e9b47fcdbb41b6c42c7fb8253494",7:"ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84",8:"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84",9:"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58"},GnBu:{3:"e0f3dba8ddb543a2ca",4:"f0f9e8bae4bc7bccc42b8cbe",5:"f0f9e8bae4bc7bccc443a2ca0868ac",6:"f0f9e8ccebc5a8ddb57bccc443a2ca0868ac",7:"f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e",8:"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e",9:"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081"},BuGn:{3:"e5f5f999d8c92ca25f",4:"edf8fbb2e2e266c2a4238b45",5:"edf8fbb2e2e266c2a42ca25f006d2c",6:"edf8fbccece699d8c966c2a42ca25f006d2c",7:"edf8fbccece699d8c966c2a441ae76238b45005824",8:"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824",9:"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b"},PuBuGn:{3:"ece2f0a6bddb1c9099",4:"f6eff7bdc9e167a9cf02818a",5:"f6eff7bdc9e167a9cf1c9099016c59",6:"f6eff7d0d1e6a6bddb67a9cf1c9099016c59",7:"f6eff7d0d1e6a6bddb67a9cf3690c002818a016450",8:"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450",9:"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636"},PuBu:{3:"ece7f2a6bddb2b8cbe",4:"f1eef6bdc9e174a9cf0570b0",5:"f1eef6bdc9e174a9cf2b8cbe045a8d",6:"f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d",7:"f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b",8:"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b",9:"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858"},BuPu:{3:"e0ecf49ebcda8856a7",4:"edf8fbb3cde38c96c688419d",5:"edf8fbb3cde38c96c68856a7810f7c",6:"edf8fbbfd3e69ebcda8c96c68856a7810f7c",7:"edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b",8:"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b",9:"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b"},RdPu:{3:"fde0ddfa9fb5c51b8a",4:"feebe2fbb4b9f768a1ae017e",5:"feebe2fbb4b9f768a1c51b8a7a0177",6:"feebe2fcc5c0fa9fb5f768a1c51b8a7a0177",7:"feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177",8:"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177",9:"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a"},PuRd:{3:"e7e1efc994c7dd1c77",4:"f1eef6d7b5d8df65b0ce1256",5:"f1eef6d7b5d8df65b0dd1c77980043",6:"f1eef6d4b9dac994c7df65b0dd1c77980043",7:"f1eef6d4b9dac994c7df65b0e7298ace125691003f",8:"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f",9:"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f"},OrRd:{3:"fee8c8fdbb84e34a33",4:"fef0d9fdcc8afc8d59d7301f",5:"fef0d9fdcc8afc8d59e34a33b30000",6:"fef0d9fdd49efdbb84fc8d59e34a33b30000",7:"fef0d9fdd49efdbb84fc8d59ef6548d7301f990000",8:"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000",9:"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000"},YlOrRd:{3:"ffeda0feb24cf03b20",4:"ffffb2fecc5cfd8d3ce31a1c",5:"ffffb2fecc5cfd8d3cf03b20bd0026",6:"ffffb2fed976feb24cfd8d3cf03b20bd0026",7:"ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026",8:"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026",9:"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026"},YlOrBr:{3:"fff7bcfec44fd95f0e",4:"ffffd4fed98efe9929cc4c02",5:"ffffd4fed98efe9929d95f0e993404",6:"ffffd4fee391fec44ffe9929d95f0e993404",7:"ffffd4fee391fec44ffe9929ec7014cc4c028c2d04",8:"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04",9:"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506"},Purples:{3:"efedf5bcbddc756bb1",4:"f2f0f7cbc9e29e9ac86a51a3",5:"f2f0f7cbc9e29e9ac8756bb154278f",6:"f2f0f7dadaebbcbddc9e9ac8756bb154278f",7:"f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486",8:"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486",9:"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d"},Blues:{3:"deebf79ecae13182bd",4:"eff3ffbdd7e76baed62171b5",5:"eff3ffbdd7e76baed63182bd08519c",6:"eff3ffc6dbef9ecae16baed63182bd08519c",7:"eff3ffc6dbef9ecae16baed64292c62171b5084594",8:"f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594",9:"f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b"},BluesDark:{2:"132B4356B1F7"},Greens:{3:"e5f5e0a1d99b31a354",4:"edf8e9bae4b374c476238b45",5:"edf8e9bae4b374c47631a354006d2c",6:"edf8e9c7e9c0a1d99b74c47631a354006d2c",7:"edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32",8:"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32",9:"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b"},Oranges:{3:"fee6cefdae6be6550d",4:"feeddefdbe85fd8d3cd94701",5:"feeddefdbe85fd8d3ce6550da63603",6:"feeddefdd0a2fdae6bfd8d3ce6550da63603",7:"feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04",8:"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04",9:"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704"},Reds:{3:"fee0d2fc9272de2d26",4:"fee5d9fcae91fb6a4acb181d",5:"fee5d9fcae91fb6a4ade2d26a50f15",6:"fee5d9fcbba1fc9272fb6a4ade2d26a50f15",7:"fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d",8:"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d",9:"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d"},Greys:{3:"f0f0f0bdbdbd636363",4:"f7f7f7cccccc969696525252",5:"f7f7f7cccccc969696636363252525",6:"f7f7f7d9d9d9bdbdbd969696636363252525",7:"f7f7f7d9d9d9bdbdbd969696737373525252252525",8:"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525",9:"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000",256:"fffffffffffffefefefefefefdfdfdfdfdfdfcfcfcfcfcfcfbfbfbfbfbfbfafafafafafaf9f9f9f9f9f9f9f9f9f8f8f8f8f8f8f7f7f7f7f7f7f6f6f6f6f6f6f5f5f5f5f5f5f4f4f4f4f4f4f3f3f3f3f3f3f2f2f2f2f2f2f1f1f1f1f1f1f0f0f0f0f0f0efefefefefefeeeeeeeeeeeeededededededececececececebebebebebebeaeaeaeaeaeae9e9e9e9e9e9e8e8e8e8e8e8e7e7e7e7e7e7e6e6e6e6e6e6e5e5e5e5e5e5e4e4e4e4e4e4e3e3e3e3e3e3e2e2e2e2e2e2e1e1e1e1e1e1e0e0e0e0e0e0dfdfdfdfdfdfdedededddddddddddddcdcdcdcdcdcdbdbdbdbdbdbdadadadadadad9d9d9d9d9d9d8d8d8d7d7d7d7d7d7d6d6d6d6d6d6d5d5d5d5d5d5d4d4d4d4d4d4d3d3d3d2d2d2d2d2d2d1d1d1d1d1d1d0d0d0cfcfcfcfcfcfcececececececdcdcdcdcdcdcccccccbcbcbcbcbcbcacacacacacac9c9c9c8c8c8c8c8c8c7c7c7c7c7c7c6c6c6c5c5c5c5c5c5c4c4c4c3c3c3c3c3c3c2c2c2c2c2c2c1c1c1c0c0c0c0c0c0bfbfbfbebebebebebebdbdbdbcbcbcbcbcbcbbbbbbbabababababab9b9b9b8b8b8b8b8b8b7b7b7b6b6b6b6b6b6b5b5b5b4b4b4b4b4b4b3b3b3b2b2b2b2b2b2b1b1b1b0b0b0afafafafafafaeaeaeadadadadadadacacacabababaaaaaaaaaaaaa9a9a9a8a8a8a7a7a7a7a7a7a6a6a6a5a5a5a4a4a4a4a4a4a3a3a3a2a2a2a1a1a1a0a0a0a0a0a09f9f9f9e9e9e9d9d9d9c9c9c9c9c9c9b9b9b9a9a9a9999999898989797979797979696969595959494949393939292929191919090909090908f8f8f8e8e8e8d8d8d8c8c8c8b8b8b8a8a8a8989898888888787878686868585858484848383838282828181818080807f7f7f7e7e7e7d7d7d7c7c7c7b7b7b7a7a7a7878787777777676767575757474747373737272727070706f6f6f6e6e6e6d6d6d6b6b6b6a6a6a6969696767676666666565656363636262626060605f5f5f5d5d5d5c5c5c5a5a5a5959595757575555555454545252525050504e4e4e4c4c4c4a4a4a4848484646464444444242424040403d3d3d3b3b3b3838383535353232322e2e2e2b2b2b2727272222221c1c1c15151500000"},PuOr:{3:"f1a340f7f7f7998ec3",4:"e66101fdb863b2abd25e3c99",5:"e66101fdb863f7f7f7b2abd25e3c99",6:"b35806f1a340fee0b6d8daeb998ec3542788",7:"b35806f1a340fee0b6f7f7f7d8daeb998ec3542788",8:"b35806e08214fdb863fee0b6d8daebb2abd28073ac542788",9:"b35806e08214fdb863fee0b6f7f7f7d8daebb2abd28073ac542788",10:"7f3b08b35806e08214fdb863fee0b6d8daebb2abd28073ac5427882d004b",11:"7f3b08b35806e08214fdb863fee0b6f7f7f7d8daebb2abd28073ac5427882d004b"},BrBG:{3:"d8b365f5f5f55ab4ac",4:"a6611adfc27d80cdc1018571",5:"a6611adfc27df5f5f580cdc1018571",6:"8c510ad8b365f6e8c3c7eae55ab4ac01665e",7:"8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e",8:"8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e",9:"8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e",10:"5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30",11:"5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30"},PRGn:{3:"af8dc3f7f7f77fbf7b",4:"7b3294c2a5cfa6dba0008837",5:"7b3294c2a5cff7f7f7a6dba0008837",6:"762a83af8dc3e7d4e8d9f0d37fbf7b1b7837",7:"762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837",8:"762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837",9:"762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837",10:"40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b",11:"40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b"},PiYG:{3:"e9a3c9f7f7f7a1d76a",4:"d01c8bf1b6dab8e1864dac26",5:"d01c8bf1b6daf7f7f7b8e1864dac26",6:"c51b7de9a3c9fde0efe6f5d0a1d76a4d9221",7:"c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221",8:"c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221",9:"c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221",10:"8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419",11:"8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419"},RdBu:{3:"ef8a62f7f7f767a9cf",4:"ca0020f4a58292c5de0571b0",5:"ca0020f4a582f7f7f792c5de0571b0",6:"b2182bef8a62fddbc7d1e5f067a9cf2166ac",7:"b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac",8:"b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac",9:"b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac",10:"67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061",11:"67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061"},RdGy:{3:"ef8a62ffffff999999",4:"ca0020f4a582bababa404040",5:"ca0020f4a582ffffffbababa404040",6:"b2182bef8a62fddbc7e0e0e09999994d4d4d",7:"b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d",8:"b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d",9:"b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d",10:"67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a",11:"67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a"},RdYlBu:{3:"fc8d59ffffbf91bfdb",4:"d7191cfdae61abd9e92c7bb6",5:"d7191cfdae61ffffbfabd9e92c7bb6",6:"d73027fc8d59fee090e0f3f891bfdb4575b4",7:"d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4",8:"d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4",9:"d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4",10:"a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695",11:"a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695"},Spectral:{3:"fc8d59ffffbf99d594",4:"d7191cfdae61abdda42b83ba",5:"d7191cfdae61ffffbfabdda42b83ba",6:"d53e4ffc8d59fee08be6f59899d5943288bd",7:"d53e4ffc8d59fee08bffffbfe6f59899d5943288bd",8:"d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd",9:"d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd",10:"9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2",11:"9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2"},RdYlGn:{3:"fc8d59ffffbf91cf60",4:"d7191cfdae61a6d96a1a9641",5:"d7191cfdae61ffffbfa6d96a1a9641",6:"d73027fc8d59fee08bd9ef8b91cf601a9850",7:"d73027fc8d59fee08bffffbfd9ef8b91cf601a9850",8:"d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850",9:"d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850",10:"a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837",11:"a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837"},Accent:{3:"7fc97fbeaed4fdc086",4:"7fc97fbeaed4fdc086ffff99",5:"7fc97fbeaed4fdc086ffff99386cb0",6:"7fc97fbeaed4fdc086ffff99386cb0f0027f",7:"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17",8:"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"},Dark2:{3:"1b9e77d95f027570b3",4:"1b9e77d95f027570b3e7298a",5:"1b9e77d95f027570b3e7298a66a61e",6:"1b9e77d95f027570b3e7298a66a61ee6ab02",7:"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d",8:"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"},Paired:{3:"a6cee31f78b4b2df8a",4:"a6cee31f78b4b2df8a33a02c",5:"a6cee31f78b4b2df8a33a02cfb9a99",6:"a6cee31f78b4b2df8a33a02cfb9a99e31a1c",7:"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6f",8:"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00",9:"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d6",10:"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9a",11:"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99",12:"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"},Default:{20:"fe296c487eb6a7ce31f8cc03ff8c02699696b7784483acd0c2e076fadc5aff549fffaf549ab8b7d2a6833d699b87ac22cda908d02158d07300567676",36:"ff00000000ff00ff00ffff0000ffffff00ff993300000080808000ff6600008080660066ff99cc666699333300ffcc99ccffff9999ffff80803366ff339966ffcc0000ccffd020909933660066cc99cc00ff990033cccccc99ff800000333399008000ffffcc99ccff800080"},Basic:{24:"0000ffff004dffbf0074ff00a400ffff7400ffff0000ffffff0000ffd3003d00ff00ff00ff00ffff9200d3ff000090ff6d00ffff4900ffe80000ff92ff0090ffaa00aaff00004dff"},Light:{24:"6565ffff6593ffd865abff65c865ffffab65ffff6565ffffff6565ffe5658965ff65ff65ff65ffffbd65e5ff6565bcffa765ffff9165fff16565ffbdff65bcffcc65ccff656593ff"},Favorite:{1:"ff0000",2:"ff000000ffff",3:"ff000000ff000000ff",4:"ff000080ff0000ffff8000ff",5:"ff0000bfff0000ff800040ffff00ff",6:"ff0000ffff0000ff0000ffff0000ffff00ff",8:"ff0000ffbf0080ff0000ff4000ffff0040ff8000ffff00bf",10:"ff0000ff8000ffff0080ff0000ff0000ff8000ffff0080ff0000ff8000ff",12:"ff0000ff8000ffff0080ff0000ff0000ff8000ffff0080ff0000ff8000ffff00ffff0080",24:"ff0000ff4000ff8000ffbf00ffff00bfff0080ff0040ff0000ff0000ff4000ff8000ffbf00ffff00bfff0080ff0040ff0000ff4000ff8000ffbf00ffff00ffff00bfff0080ff0040"},Bootstrap:{1:"337ab7",2:"337ab7d9534f",3:"337ab75cb85cd9534f",4:"337ab75cb85cf0ad4ed9534f",5:"337ab75cb85c5bc0def0ad4ed9534f",6:"337ab75cb85c9370db5bc0def0ad4ed9534f",7:"337ab75cb85cd9534ff0ad4e5bc0de84fe83ff9976",8:"337ab75cb85cd9534ff0ad4e5bc0de84fe83ff9976c86727"},ColorSpectrum:{3:"ff000000ff000000ff",4:"ff000080ff0000ffff8000ff",5:"ff0000ccff0000ff660066ffcc00ff",6:"ff0000ffff0000ff0000ffff0000ffff00ff",7:"ff0000ffdb0049ff0000ff920092ff4900ffff00db",8:"ff0000ffbf0080ff0000ff4000ffff0040ff8000ffff00bf",9:"ff0000ffaa00aaff0000ff0000ffaa00aaff0000ffaa00ffff00aa",10:"ff0000ff9900ccff0033ff0000ff6600ffff0066ff3300ffcc00ffff0099",11:"ff0000ff8b00e8ff005dff0000ff2e00ffb900b9ff002eff5d00ffe800ffff008b",12:"ff0000ff8000ffff0080ff0000ff0000ff8000ffff0080ff0000ff8000ffff00ffff0080"},White:{1:"ffffff"},Grey:{1:"d3d3d3",2:"d3d3d3cbcbcb",3:"d3d3d3cbcbcbc3c3c3",4:"d3d3d3cbcbcbc3c3c3bbbbbb",5:"d3d3d3cbcbcbc3c3c3bbbbbbb3b3b3",6:"d3d3d3cbcbcbc3c3c3bbbbbbb3b3b3ababab",7:"d3d3d3cbcbcbc3c3c3bbbbbbb3b3b3abababa3a3a3",8:"d3d3d3cbcbcbc3c3c3bbbbbbb3b3b3abababa3a3a39b9b9b",9:"d3d3d3cbcbcbc3c3c3bbbbbbb3b3b3abababa3a3a39b9b9b939393",10:"d3d3d3cbcbcbc3c3c3bbbbbbb3b3b3abababa3a3a39b9b9b9393938b8b8b"},GreyHC:{4:"ffffffbbbbbb777777333333",6:"ffffffcccccc999999666666333333000000",13:"d3d3d3c3c3c3b3b3b3a3a3a3939393838383737373636363535353434343333333232323131313"},BlueGrey:{1:"0ab0db",2:"0ab0dbd3d3d3",3:"0ab0dbd3d3d3cbcbcb",4:"0ab0dbd3d3d3cbcbcbc3c3c3",5:"0ab0dbd3d3d3cbcbcbc3c3c3bbbbbb",6:"0ab0dbd3d3d3cbcbcbc3c3c3bbbbbbb3b3b3",7:"0ab0dbd3d3d3cbcbcbc3c3c3bbbbbbb3b3b3ababab",8:"0ab0dbd3d3d3cbcbcbc3c3c3bbbbbbb3b3b3abababa3a3a3",9:"0ab0dbd3d3d3cbcbcbc3c3c3bbbbbbb3b3b3abababa3a3a39b9b9b",10:"0ab0dbd3d3d3cbcbcbc3c3c3bbbbbbb3b3b3abababa3a3a39b9b9b939393",11:"0ab0dbd3d3d3cbcbcbc3c3c3bbbbbbb3b3b3abababa3a3a39b9b9b9393938b8b8b"},BlueRedGrey:{1:"0ab0db",2:"0ab0dbfe6969",3:"0ab0db