diff --git a/dochack.js b/dochack.js new file mode 100644 index 0000000..a28df7b --- /dev/null +++ b/dochack.js @@ -0,0 +1,1609 @@ +/* Generated by the Nim Compiler v2.1.1 */ +var framePtr = null; +var excHandler = 0; +var lastJSError = null; +var NTI33554466 = {size: 0,kind: 1,base: null,node: null,finalizer: null}; +var NTI704643086 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; +var NTI33554435 = {size: 0,kind: 31,base: null,node: null,finalizer: null}; +var NTI939524173 = {size: 0,kind: 31,base: null,node: null,finalizer: null}; +var NTI939524179 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; +var NTI134217745 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI134217749 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI134217751 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI33555163 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI33555171 = {size: 0, kind: 22, base: null, node: null, finalizer: null}; +var NTI33554449 = {size: 0,kind: 28,base: null,node: null,finalizer: null}; +var NTI33554450 = {size: 0,kind: 29,base: null,node: null,finalizer: null}; +var NTI33555170 = {size: 0, kind: 22, base: null, node: null, finalizer: null}; +var NTI33555167 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI33555168 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI134217741 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI134217743 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NNI134217743 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI134217743.node = NNI134217743; +var NNI134217741 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI134217741.node = NNI134217741; +var NNI33555168 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI33555168.node = NNI33555168; +NTI33555170.base = NTI33555167; +NTI33555171.base = NTI33555167; +var NNI33555167 = {kind: 2, len: 5, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "parent", len: 0, typ: NTI33555170, name: "parent", sons: null}, +{kind: 1, offset: "name", len: 0, typ: NTI33554450, name: "name", sons: null}, +{kind: 1, offset: "message", len: 0, typ: NTI33554449, name: "msg", sons: null}, +{kind: 1, offset: "trace", len: 0, typ: NTI33554449, name: "trace", sons: null}, +{kind: 1, offset: "up", len: 0, typ: NTI33555171, name: "up", sons: null}]}; +NTI33555167.node = NNI33555167; +var NNI33555163 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI33555163.node = NNI33555163; +NTI33555167.base = NTI33555163; +NTI33555168.base = NTI33555167; +NTI134217741.base = NTI33555168; +NTI134217743.base = NTI134217741; +var NNI134217751 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI134217751.node = NNI134217751; +NTI134217751.base = NTI33555168; +var NNI134217749 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI134217749.node = NNI134217749; +NTI134217749.base = NTI33555168; +var NNI134217745 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI134217745.node = NNI134217745; +NTI134217745.base = NTI33555168; +var NNI939524179 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "a", len: 0, typ: NTI939524173, name: "a", sons: null}, +{kind: 1, offset: "b", len: 0, typ: NTI33554435, name: "b", sons: null}]}; +NTI939524179.node = NNI939524179; +var NNI704643086 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "Field0", len: 0, typ: NTI33554435, name: "Field0", sons: null}, +{kind: 1, offset: "Field1", len: 0, typ: NTI33554466, name: "Field1", sons: null}]}; +NTI704643086.node = NNI704643086; + +function mnewString(len_p0) { + var result = new Array(len_p0); + for (var i = 0; i < len_p0; i++) {result[i] = 0;} + return result; + + + +} + +function toJSStr(s_p0) { + var result_33556889 = null; + + var res_33556930 = newSeq__system_u2474((s_p0).length); + var i_33556931 = 0; + var j_33556932 = 0; + Label1: { + Label2: while (true) { + if (!(i_33556931 < (s_p0).length)) break Label2; + var c_33556933 = s_p0[i_33556931]; + if ((c_33556933 < 128)) { + res_33556930[j_33556932] = String.fromCharCode(c_33556933); + i_33556931 += 1; + } + else { + var helper_33556945 = newSeq__system_u2474(0); + Label3: { + Label4: while (true) { + if (!true) break Label4; + var code_33556946 = c_33556933.toString(16); + if ((((code_33556946) == null ? 0 : (code_33556946).length) == 1)) { + helper_33556945.push("%0");; + } + else { + helper_33556945.push("%");; + } + + helper_33556945.push(code_33556946);; + i_33556931 += 1; + if ((((s_p0).length <= i_33556931) || (s_p0[i_33556931] < 128))) { + break Label3; + } + + c_33556933 = s_p0[i_33556931]; + } + }; +++excHandler; + try { + res_33556930[j_33556932] = decodeURIComponent(helper_33556945.join("")); +--excHandler; +} catch (EXCEPTION) { + var prevJSError = lastJSError; + lastJSError = EXCEPTION; + --excHandler; + res_33556930[j_33556932] = helper_33556945.join(""); + lastJSError = prevJSError; + } finally { + } + } + + j_33556932 += 1; + } + }; + if (res_33556930.length < j_33556932) { for (var i = res_33556930.length ; i < j_33556932 ; ++i) res_33556930.push(null); } + else { res_33556930.length = j_33556932; }; + result_33556889 = res_33556930.join(""); + + return result_33556889; + +} + +function raiseException(e_p0, ename_p1) { + e_p0.name = ename_p1; + if ((excHandler == 0)) { + unhandledException(e_p0); + } + + throw e_p0; + + +} + +function addInt(a_p0, b_p1) { + var result = a_p0 + b_p1; + checkOverflowInt(result); + return result; + + + +} + +function chckRange(i_p0, a_p1, b_p2) { + var result_33557311 = 0; + + BeforeRet: { + if (((a_p1 <= i_p0) && (i_p0 <= b_p2))) { + result_33557311 = i_p0; + break BeforeRet; + } + else { + raiseRangeError(); + } + + }; + + return result_33557311; + +} + +function setConstr() { + var result = {}; + for (var i = 0; i < arguments.length; ++i) { + var x = arguments[i]; + if (typeof(x) == "object") { + for (var j = x[0]; j <= x[1]; ++j) { + result[j] = true; + } + } else { + result[x] = true; + } + } + return result; + + + +} +var ConstSet1 = setConstr(17, 16, 4, 18, 27, 19, 23, 22, 21); + +function nimCopy(dest_p0, src_p1, ti_p2) { + var result_33557263 = null; + + switch (ti_p2.kind) { + case 21: + case 22: + case 23: + case 5: + if (!(isFatPointer__system_u2811(ti_p2))) { + result_33557263 = src_p1; + } + else { + result_33557263 = [src_p1[0], src_p1[1]]; + } + + break; + case 19: + if (dest_p0 === null || dest_p0 === undefined) { + dest_p0 = {}; + } + else { + for (var key in dest_p0) { delete dest_p0[key]; } + } + for (var key in src_p1) { dest_p0[key] = src_p1[key]; } + result_33557263 = dest_p0; + + break; + case 18: + case 17: + if (!((ti_p2.base == null))) { + result_33557263 = nimCopy(dest_p0, src_p1, ti_p2.base); + } + else { + if ((ti_p2.kind == 17)) { + result_33557263 = (dest_p0 === null || dest_p0 === undefined) ? {m_type: ti_p2} : dest_p0; + } + else { + result_33557263 = (dest_p0 === null || dest_p0 === undefined) ? {} : dest_p0; + } + } + nimCopyAux(result_33557263, src_p1, ti_p2.node); + break; + case 4: + case 16: + if(ArrayBuffer.isView(src_p1)) { + if(dest_p0 === null || dest_p0 === undefined || dest_p0.length != src_p1.length) { + dest_p0 = new src_p1.constructor(src_p1); + } else { + dest_p0.set(src_p1, 0); + } + result_33557263 = dest_p0; + } else { + if (src_p1 === null) { + result_33557263 = null; + } + else { + if (dest_p0 === null || dest_p0 === undefined || dest_p0.length != src_p1.length) { + dest_p0 = new Array(src_p1.length); + } + result_33557263 = dest_p0; + for (var i = 0; i < src_p1.length; ++i) { + result_33557263[i] = nimCopy(result_33557263[i], src_p1[i], ti_p2.base); + } + } + } + + break; + case 24: + case 27: + if (src_p1 === null) { + result_33557263 = null; + } + else { + if (dest_p0 === null || dest_p0 === undefined || dest_p0.length != src_p1.length) { + dest_p0 = new Array(src_p1.length); + } + result_33557263 = dest_p0; + for (var i = 0; i < src_p1.length; ++i) { + result_33557263[i] = nimCopy(result_33557263[i], src_p1[i], ti_p2.base); + } + } + + break; + case 28: + if (src_p1 !== null) { + result_33557263 = src_p1.slice(0); + } + + break; + default: + result_33557263 = src_p1; + break; + } + + return result_33557263; + +} + +function chckIndx(i_p0, a_p1, b_p2) { + var result_33557306 = 0; + + BeforeRet: { + if (((a_p1 <= i_p0) && (i_p0 <= b_p2))) { + result_33557306 = i_p0; + break BeforeRet; + } + else { + raiseIndexError(i_p0, a_p1, b_p2); + } + + }; + + return result_33557306; + +} + +function makeNimstrLit(c_p0) { + var result = []; + for (var i = 0; i < c_p0.length; ++i) { + result[i] = c_p0.charCodeAt(i); + } + return result; + + + +} + +function subInt(a_p0, b_p1) { + var result = a_p0 - b_p1; + checkOverflowInt(result); + return result; + + + +} + +function cstrToNimstr(c_p0) { + var ln = c_p0.length; + var result = new Array(ln); + var r = 0; + for (var i = 0; i < ln; ++i) { + var ch = c_p0.charCodeAt(i); + + if (ch < 128) { + result[r] = ch; + } + else { + if (ch < 2048) { + result[r] = (ch >> 6) | 192; + } + else { + if (ch < 55296 || ch >= 57344) { + result[r] = (ch >> 12) | 224; + } + else { + ++i; + ch = 65536 + (((ch & 1023) << 10) | (c_p0.charCodeAt(i) & 1023)); + result[r] = (ch >> 18) | 240; + ++r; + result[r] = ((ch >> 12) & 63) | 128; + } + ++r; + result[r] = ((ch >> 6) & 63) | 128; + } + ++r; + result[r] = (ch & 63) | 128; + } + ++r; + } + return result; + + + +} +var ConstSet2 = setConstr([65, 90]); +var ConstSet3 = setConstr(95, 32, 46); +var ConstSet4 = setConstr(95, 32, 46); + +function mulInt(a_p0, b_p1) { + var result = a_p0 * b_p1; + checkOverflowInt(result); + return result; + + + +} +var ConstSet5 = setConstr([97, 122]); +var ConstSet6 = setConstr([65, 90], [97, 122]); +var ConstSet7 = setConstr([97, 122]); +var ConstSet8 = setConstr([65, 90]); +var ConstSet9 = setConstr([65, 90], [97, 122]); + +function nimMax(a_p0, b_p1) { + var Temporary1; + + var result_33557094 = 0; + + BeforeRet: { + if ((b_p1 <= a_p0)) { + Temporary1 = a_p0; + } + else { + Temporary1 = b_p1; + } + + result_33557094 = Temporary1; + break BeforeRet; + }; + + return result_33557094; + +} + +function nimMin(a_p0, b_p1) { + var Temporary1; + + var result_33557090 = 0; + + BeforeRet: { + if ((a_p0 <= b_p1)) { + Temporary1 = a_p0; + } + else { + Temporary1 = b_p1; + } + + result_33557090 = Temporary1; + break BeforeRet; + }; + + return result_33557090; + +} + +function addChar(x_p0, c_p1) { + x_p0.push(c_p1); + + +} +var objectID_1157628079 = [0]; + +function setTheme(theme_p0) { + document.documentElement.setAttribute("data-theme", theme_p0); + window.localStorage.setItem("theme", theme_p0); + + +} + +function add__system_u1931(x_p0, x_p0_Idx, y_p1) { + if (x_p0[x_p0_Idx] === null) { x_p0[x_p0_Idx] = []; } + var off = x_p0[x_p0_Idx].length; + x_p0[x_p0_Idx].length += y_p1.length; + for (var i = 0; i < y_p1.length; ++i) { + x_p0[x_p0_Idx][off+i] = y_p1.charCodeAt(i); + } + + + +} + +function newSeq__system_u2474(len_p0) { + var result_33556909 = []; + + result_33556909 = new Array(len_p0); for (var i = 0 ; i < len_p0 ; ++i) { result_33556909[i] = null; } + return result_33556909; + +} + +function unhandledException(e_p0) { + var buf_33556637 = [[]]; + if (!(((e_p0.message).length == 0))) { + buf_33556637[0].push.apply(buf_33556637[0], [69,114,114,111,114,58,32,117,110,104,97,110,100,108,101,100,32,101,120,99,101,112,116,105,111,110,58,32]);; + buf_33556637[0].push.apply(buf_33556637[0], e_p0.message);; + } + else { + buf_33556637[0].push.apply(buf_33556637[0], [69,114,114,111,114,58,32,117,110,104,97,110,100,108,101,100,32,101,120,99,101,112,116,105,111,110]);; + } + + buf_33556637[0].push.apply(buf_33556637[0], [32,91]);; + add__system_u1931(buf_33556637, 0, e_p0.name); + buf_33556637[0].push.apply(buf_33556637[0], [93,10]);; + var cbuf_33556638 = toJSStr(buf_33556637[0]); + if (typeof(Error) !== "undefined") { + throw new Error(cbuf_33556638); + } + else { + throw cbuf_33556638; + } + + + +} + +function raiseOverflow() { + raiseException({message: [111,118,101,114,45,32,111,114,32,117,110,100,101,114,102,108,111,119], parent: null, m_type: NTI134217743, name: null, trace: [], up: null}, "OverflowDefect"); + + +} + +function checkOverflowInt(a_p0) { + if (a_p0 > 2147483647 || a_p0 < -2147483648) raiseOverflow(); + + + +} + +function raiseRangeError() { + raiseException({message: [118,97,108,117,101,32,111,117,116,32,111,102,32,114,97,110,103,101], parent: null, m_type: NTI134217751, name: null, trace: [], up: null}, "RangeDefect"); + + +} + +function addChars__stdZprivateZdigitsutils_u199(result_p0, result_p0_Idx, x_p1, start_p2, n_p3) { + var Temporary1; + + var old_301990093 = (result_p0[result_p0_Idx]).length; + if (result_p0[result_p0_Idx].length < (Temporary1 = chckRange(addInt(old_301990093, n_p3), 0, 2147483647), Temporary1)) { for (var i = result_p0[result_p0_Idx].length; i < Temporary1; ++i) result_p0[result_p0_Idx].push(0); } + else {result_p0[result_p0_Idx].length = Temporary1; }; + Label2: { + var iHEX60gensym4_301990107 = 0; + var i_553649322 = 0; + Label3: { + Label4: while (true) { + if (!(i_553649322 < n_p3)) break Label4; + iHEX60gensym4_301990107 = i_553649322; + result_p0[result_p0_Idx][chckIndx(addInt(old_301990093, iHEX60gensym4_301990107), 0, (result_p0[result_p0_Idx]).length - 1)] = x_p1.charCodeAt(chckIndx(addInt(start_p2, iHEX60gensym4_301990107), 0, (x_p1).length - 1)); + i_553649322 = addInt(i_553649322, 1); + } + }; + }; + + +} + +function addChars__stdZprivateZdigitsutils_u195(result_p0, result_p0_Idx, x_p1) { + addChars__stdZprivateZdigitsutils_u199(result_p0, result_p0_Idx, x_p1, 0, ((x_p1) == null ? 0 : (x_p1).length)); + + +} + +function addInt__stdZprivateZdigitsutils_u220(result_p0, result_p0_Idx, x_p1) { + addChars__stdZprivateZdigitsutils_u195(result_p0, result_p0_Idx, ((x_p1) + "")); + + +} + +function addInt__stdZprivateZdigitsutils_u238(result_p0, result_p0_Idx, x_p1) { + addInt__stdZprivateZdigitsutils_u220(result_p0, result_p0_Idx, BigInt(x_p1)); + + +} + +function HEX24__systemZdollars_u8(x_p0) { + var result_385875978 = [[]]; + + addInt__stdZprivateZdigitsutils_u238(result_385875978, 0, x_p0); + + return result_385875978[0]; + +} + +function isFatPointer__system_u2811(ti_p0) { + var result_33557245 = false; + + BeforeRet: { + result_33557245 = !((ConstSet1[ti_p0.base.kind] != undefined)); + break BeforeRet; + }; + + return result_33557245; + +} + +function nimCopyAux(dest_p0, src_p1, n_p2) { + switch (n_p2.kind) { + case 0: + break; + case 1: + dest_p0[n_p2.offset] = nimCopy(dest_p0[n_p2.offset], src_p1[n_p2.offset], n_p2.typ); + + break; + case 2: + for (var i = 0; i < n_p2.sons.length; i++) { + nimCopyAux(dest_p0, src_p1, n_p2.sons[i]); + } + + break; + case 3: + dest_p0[n_p2.offset] = nimCopy(dest_p0[n_p2.offset], src_p1[n_p2.offset], n_p2.typ); + for (var i = 0; i < n_p2.sons.length; ++i) { + nimCopyAux(dest_p0, src_p1, n_p2.sons[i][1]); + } + + break; + } + + +} + +function raiseIndexError(i_p0, a_p1, b_p2) { + var Temporary1; + + if ((b_p2 < a_p1)) { + Temporary1 = [105,110,100,101,120,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,116,104,101,32,99,111,110,116,97,105,110,101,114,32,105,115,32,101,109,112,116,121]; + } + else { + Temporary1 = ([105,110,100,101,120,32] || []).concat(HEX24__systemZdollars_u8(i_p0) || [],[32,110,111,116,32,105,110,32] || [],HEX24__systemZdollars_u8(a_p1) || [],[32,46,46,32] || [],HEX24__systemZdollars_u8(b_p2) || []); + } + + raiseException({message: nimCopy(null, Temporary1, NTI33554449), parent: null, m_type: NTI134217749, name: null, trace: [], up: null}, "IndexDefect"); + + +} + +function sysFatal__stdZassertions_u45(message_p1) { + raiseException({message: nimCopy(null, message_p1, NTI33554449), m_type: NTI134217745, parent: null, name: null, trace: [], up: null}, "AssertionDefect"); + + +} + +function raiseAssert__stdZassertions_u43(msg_p0) { + sysFatal__stdZassertions_u45(msg_p0); + + +} + +function failedAssertImpl__stdZassertions_u85(msg_p0) { + raiseAssert__stdZassertions_u43(msg_p0); + + +} + +function onDOMLoaded(e_p0) { + +function HEX3Aanonymous__dochack_u64(event_p0) { + event_p0.target.parentNode.style.display = "none"; + event_p0.target.parentNode.nextSibling.style.display = "inline"; + + + } + + document.getElementById("theme-select").value = window.localStorage.getItem("theme"); + Label1: { + var pragmaDots_553648191 = null; + var colontmp__553649313 = []; + colontmp__553649313 = document.getElementsByClassName("pragmadots"); + var i_553649315 = 0; + var L_553649316 = (colontmp__553649313).length; + Label2: { + Label3: while (true) { + if (!(i_553649315 < L_553649316)) break Label3; + pragmaDots_553648191 = colontmp__553649313[chckIndx(i_553649315, 0, (colontmp__553649313).length - 1)]; + pragmaDots_553648191.onclick = HEX3Aanonymous__dochack_u64; + i_553649315 += 1; + if (!(((colontmp__553649313).length == L_553649316))) { + failedAssertImpl__stdZassertions_u85(makeNimstrLit("iterators.nim(254, 11) `len(a) == L` the length of the seq changed while iterating over it")); + } + + } + }; + }; + + +} + +function isWhitespace__dochack_u405(x_p0) { + var result_553648535 = false; + + result_553648535 = (((x_p0.nodeName == "#text") && !/\S/.test(x_p0.textContent)) || (x_p0.nodeName == "#comment")); + + return result_553648535; + +} + +function toToc__dochack_u408(x_p0, father_p1) { + var Temporary5; + var Temporary6; + var Temporary7; + var Temporary8; + var Temporary15; + + if ((x_p0.nodeName == "UL")) { + var f_553648546 = {heading: null, kids: [], sortId: (father_p1.kids).length, doSort: false}; + var i_553648547 = 0; + Label1: { + Label2: while (true) { + if (!(i_553648547 < x_p0.childNodes.length)) break Label2; + var nxt_553648548 = addInt(i_553648547, 1); + Label3: { + Label4: while (true) { + if (!(nxt_553648548 < x_p0.childNodes.length)) Temporary5 = false; else { Temporary5 = isWhitespace__dochack_u405(x_p0.childNodes[nxt_553648548]); } if (!Temporary5) break Label4; + nxt_553648548 = addInt(nxt_553648548, 1); + } + }; + if (!(nxt_553648548 < x_p0.childNodes.length)) Temporary8 = false; else { Temporary8 = (x_p0.childNodes[i_553648547].nodeName == "LI"); } if (!Temporary8) Temporary7 = false; else { Temporary7 = (x_p0.childNodes[i_553648547].childNodes.length == 1); } if (!Temporary7) Temporary6 = false; else { Temporary6 = (x_p0.childNodes[nxt_553648548].nodeName == "UL"); } if (Temporary6) { + var e_553648560 = {heading: x_p0.childNodes[i_553648547].childNodes[0], kids: [], sortId: (f_553648546.kids).length, doSort: false}; + var it_553648561 = x_p0.childNodes[nxt_553648548]; + Label9: { + var j_553648566 = 0; + var colontmp__553649329 = 0; + colontmp__553649329 = it_553648561.childNodes.length; + var i_553649330 = 0; + Label10: { + Label11: while (true) { + if (!(i_553649330 < colontmp__553649329)) break Label11; + j_553648566 = i_553649330; + toToc__dochack_u408(it_553648561.childNodes[j_553648566], e_553648560); + i_553649330 = addInt(i_553649330, 1); + } + }; + }; + f_553648546.kids.push(e_553648560);; + i_553648547 = addInt(nxt_553648548, 1); + } + else { + toToc__dochack_u408(x_p0.childNodes[i_553648547], f_553648546); + i_553648547 = addInt(i_553648547, 1); + } + + } + }; + father_p1.kids.push(f_553648546);; + } + else { + if (isWhitespace__dochack_u405(x_p0)) { + } + else { + if ((x_p0.nodeName == "LI")) { + var idx_553648583 = []; + Label12: { + var i_553648588 = 0; + var colontmp__553649333 = 0; + colontmp__553649333 = x_p0.childNodes.length; + var i_553649334 = 0; + Label13: { + Label14: while (true) { + if (!(i_553649334 < colontmp__553649333)) break Label14; + i_553648588 = i_553649334; + if (!(isWhitespace__dochack_u405(x_p0.childNodes[i_553648588]))) { + idx_553648583.push(i_553648588);; + } + + i_553649334 = addInt(i_553649334, 1); + } + }; + }; + if (!((idx_553648583).length == 2)) Temporary15 = false; else { Temporary15 = (x_p0.childNodes[idx_553648583[chckIndx(1, 0, (idx_553648583).length - 1)]].nodeName == "UL"); } if (Temporary15) { + var e_553648604 = {heading: x_p0.childNodes[idx_553648583[chckIndx(0, 0, (idx_553648583).length - 1)]], kids: [], sortId: (father_p1.kids).length, doSort: false}; + var it_553648605 = x_p0.childNodes[idx_553648583[chckIndx(1, 0, (idx_553648583).length - 1)]]; + Label16: { + var j_553648610 = 0; + var colontmp__553649337 = 0; + colontmp__553649337 = it_553648605.childNodes.length; + var i_553649338 = 0; + Label17: { + Label18: while (true) { + if (!(i_553649338 < colontmp__553649337)) break Label18; + j_553648610 = i_553649338; + toToc__dochack_u408(it_553648605.childNodes[j_553648610], e_553648604); + i_553649338 = addInt(i_553649338, 1); + } + }; + }; + father_p1.kids.push(e_553648604);; + } + else { + Label19: { + var i_553648619 = 0; + var colontmp__553649341 = 0; + colontmp__553649341 = x_p0.childNodes.length; + var i_553649342 = 0; + Label20: { + Label21: while (true) { + if (!(i_553649342 < colontmp__553649341)) break Label21; + i_553648619 = i_553649342; + toToc__dochack_u408(x_p0.childNodes[i_553648619], father_p1); + i_553649342 = addInt(i_553649342, 1); + } + }; + }; + } + + } + else { + father_p1.kids.push({heading: x_p0, kids: [], sortId: (father_p1.kids).length, doSort: false});; + } + }} + + +} + +function extractItems__dochack_u197(x_p0, heading_p1, items_p2, items_p2_Idx) { + BeforeRet: { + if ((x_p0 == null)) { + break BeforeRet; + } + + if ((!((x_p0.heading == null)) && (x_p0.heading.textContent == heading_p1))) { + Label1: { + var i_553648345 = 0; + var colontmp__553649345 = 0; + colontmp__553649345 = (x_p0.kids).length; + var i_553649346 = 0; + Label2: { + Label3: while (true) { + if (!(i_553649346 < colontmp__553649345)) break Label3; + i_553648345 = i_553649346; + items_p2[items_p2_Idx].push(x_p0.kids[chckIndx(i_553648345, 0, (x_p0.kids).length - 1)].heading);; + i_553649346 = addInt(i_553649346, 1); + } + }; + }; + } + else { + Label4: { + var k_553648370 = null; + var i_553649350 = 0; + var L_553649351 = (x_p0.kids).length; + Label5: { + Label6: while (true) { + if (!(i_553649350 < L_553649351)) break Label6; + k_553648370 = x_p0.kids[chckIndx(i_553649350, 0, (x_p0.kids).length - 1)]; + extractItems__dochack_u197(k_553648370, heading_p1, items_p2, items_p2_Idx); + i_553649350 += 1; + if (!(((x_p0.kids).length == L_553649351))) { + failedAssertImpl__stdZassertions_u85(makeNimstrLit("iterators.nim(254, 11) `len(a) == L` the length of the seq changed while iterating over it")); + } + + } + }; + }; + } + + }; + + +} + +function tree__dochack_u129(tag_p0, kids_p1) { + var result_553648260 = null; + + result_553648260 = document.createElement(tag_p0); + Label1: { + var k_553648273 = null; + var i_553649363 = 0; + Label2: { + Label3: while (true) { + if (!(i_553649363 < (kids_p1).length)) break Label3; + k_553648273 = kids_p1[chckIndx(i_553649363, 0, (kids_p1).length - 1)]; + result_553648260.appendChild(k_553648273); + i_553649363 += 1; + } + }; + }; + + return result_553648260; + +} + +function text__dochack_u153(s_p0) { + var result_553648283 = null; + + result_553648283 = document.createTextNode(s_p0); + + return result_553648283; + +} + +function uncovered__dochack_u595(x_p0) { + var Temporary1; + + var result_553648725 = null; + + BeforeRet: { + if ((((x_p0.kids).length == 0) && !((x_p0.heading == null)))) { + if (!(x_p0.heading.hasOwnProperty('__karaxMarker__'))) { + Temporary1 = x_p0; + } + else { + Temporary1 = null; + } + + result_553648725 = Temporary1; + break BeforeRet; + } + + result_553648725 = {heading: x_p0.heading, kids: [], sortId: x_p0.sortId, doSort: x_p0.doSort}; + Label2: { + var k_553648740 = null; + var i_553649370 = 0; + var L_553649371 = (x_p0.kids).length; + Label3: { + Label4: while (true) { + if (!(i_553649370 < L_553649371)) break Label4; + k_553648740 = x_p0.kids[chckIndx(i_553649370, 0, (x_p0.kids).length - 1)]; + var y_553648741 = uncovered__dochack_u595(k_553648740); + if (!((y_553648741 == null))) { + result_553648725.kids.push(y_553648741);; + } + + i_553649370 += 1; + if (!(((x_p0.kids).length == L_553649371))) { + failedAssertImpl__stdZassertions_u85(makeNimstrLit("iterators.nim(254, 11) `len(a) == L` the length of the seq changed while iterating over it")); + } + + } + }; + }; + if (((result_553648725.kids).length == 0)) { + result_553648725 = null; + } + + }; + + return result_553648725; + +} + +function mergeTocs__dochack_u625(orig_p0, news_p1) { + var result_553648756 = null; + + result_553648756 = uncovered__dochack_u595(orig_p0); + if ((result_553648756 == null)) { + result_553648756 = news_p1; + } + else { + Label1: { + var i_553648768 = 0; + var colontmp__553649366 = 0; + colontmp__553649366 = (news_p1.kids).length; + var i_553649367 = 0; + Label2: { + Label3: while (true) { + if (!(i_553649367 < colontmp__553649366)) break Label3; + i_553648768 = i_553649367; + result_553648756.kids.push(news_p1.kids[chckIndx(i_553648768, 0, (news_p1.kids).length - 1)]);; + i_553649367 = addInt(i_553649367, 1); + } + }; + }; + } + + + return result_553648756; + +} + +function buildToc__dochack_u645(orig_p0, types_p1, procs_p2) { + var result_553648777 = null; + + var newStuff_553648782 = {heading: null, kids: [], doSort: true, sortId: 0}; + Label1: { + var t_553648786 = null; + var i_553649358 = 0; + var L_553649359 = (types_p1).length; + Label2: { + Label3: while (true) { + if (!(i_553649358 < L_553649359)) break Label3; + t_553648786 = types_p1[chckIndx(i_553649358, 0, (types_p1).length - 1)]; + var c_553648791 = {heading: t_553648786.cloneNode(true), kids: [], doSort: true, sortId: 0}; + t_553648786.__karaxMarker__ = true; + Label4: { + var p_553648795 = null; + var i_553649355 = 0; + var L_553649356 = (procs_p2).length; + Label5: { + Label6: while (true) { + if (!(i_553649355 < L_553649356)) break Label6; + p_553648795 = procs_p2[chckIndx(i_553649355, 0, (procs_p2).length - 1)]; + if (!(p_553648795.hasOwnProperty('__karaxMarker__'))) { + var xx_553648796 = p_553648795.parentNode.getElementsByClassName("attachedType"); + if ((((xx_553648796).length == 1) && (xx_553648796[chckIndx(0, 0, (xx_553648796).length - 1)].textContent == t_553648786.textContent))) { + var q_553648801 = tree__dochack_u129("A", [text__dochack_u153(p_553648795.title)]); + q_553648801.setAttribute("href", p_553648795.getAttribute("href")); + c_553648791.kids.push({heading: q_553648801, kids: [], sortId: 0, doSort: false});; + p_553648795.__karaxMarker__ = true; + } + + } + + i_553649355 += 1; + if (!(((procs_p2).length == L_553649356))) { + failedAssertImpl__stdZassertions_u85(makeNimstrLit("iterators.nim(254, 11) `len(a) == L` the length of the seq changed while iterating over it")); + } + + } + }; + }; + newStuff_553648782.kids.push(c_553648791);; + i_553649358 += 1; + if (!(((types_p1).length == L_553649359))) { + failedAssertImpl__stdZassertions_u85(makeNimstrLit("iterators.nim(254, 11) `len(a) == L` the length of the seq changed while iterating over it")); + } + + } + }; + }; + result_553648777 = mergeTocs__dochack_u625(orig_p0, newStuff_553648782); + + return result_553648777; + +} + +function add__dochack_u146(parent_p0, kid_p1) { + if (((parent_p0.nodeName == "TR") && ((kid_p1.nodeName == "TD") || (kid_p1.nodeName == "TH")))) { + var k_553648277 = document.createElement("TD"); + k_553648277.appendChild(kid_p1); + parent_p0.appendChild(k_553648277); + } + else { + parent_p0.appendChild(kid_p1); + } + + + +} + +function setClass__dochack_u150(e_p0, value_p1) { + e_p0.setAttribute("class", value_p1); + + +} + +function toHtml__dochack_u275(x_p0, isRoot_p1) { + +function HEX3Aanonymous__dochack_u295(a_p0, b_p1) { + var result_553648426 = 0; + + BeforeRet: { + if ((!((a_p0.heading == null)) && !((b_p1.heading == null)))) { + var x_553648435 = a_p0.heading.textContent; + var y_553648436 = b_p1.heading.textContent; + if ((x_553648435 < y_553648436)) { + result_553648426 = (-1); + break BeforeRet; + } + + if ((y_553648436 < x_553648435)) { + result_553648426 = 1; + break BeforeRet; + } + + result_553648426 = 0; + break BeforeRet; + } + else { + result_553648426 = subInt(a_p0.sortId, b_p1.sortId); + break BeforeRet; + } + + }; + + return result_553648426; + + } + + var result_553648406 = null; + + BeforeRet: { + if ((x_p0 == null)) { + result_553648406 = null; + break BeforeRet; + } + + if (((x_p0.kids).length == 0)) { + if ((x_p0.heading == null)) { + result_553648406 = null; + break BeforeRet; + } + + result_553648406 = x_p0.heading.cloneNode(true); + break BeforeRet; + } + + result_553648406 = tree__dochack_u129("DIV", []); + if ((!((x_p0.heading == null)) && !(x_p0.heading.hasOwnProperty('__karaxMarker__')))) { + add__dochack_u146(result_553648406, x_p0.heading.cloneNode(true)); + } + + var ul_553648422 = tree__dochack_u129("UL", []); + if (isRoot_p1) { + setClass__dochack_u150(ul_553648422, "simple simple-toc"); + } + else { + setClass__dochack_u150(ul_553648422, "simple"); + } + + if (x_p0.doSort) { + x_p0.kids.sort(HEX3Aanonymous__dochack_u295); + } + + Label1: { + var k_553648448 = null; + var i_553649374 = 0; + var L_553649375 = (x_p0.kids).length; + Label2: { + Label3: while (true) { + if (!(i_553649374 < L_553649375)) break Label3; + k_553648448 = x_p0.kids[chckIndx(i_553649374, 0, (x_p0.kids).length - 1)]; + var y_553648449 = toHtml__dochack_u275(k_553648448, false); + if (!((y_553648449 == null))) { + add__dochack_u146(ul_553648422, tree__dochack_u129("LI", [y_553648449])); + } + + i_553649374 += 1; + if (!(((x_p0.kids).length == L_553649375))) { + failedAssertImpl__stdZassertions_u85(makeNimstrLit("iterators.nim(254, 11) `len(a) == L` the length of the seq changed while iterating over it")); + } + + } + }; + }; + if (!((ul_553648422.childNodes.length == 0))) { + add__dochack_u146(result_553648406, ul_553648422); + } + + if ((result_553648406.childNodes.length == 0)) { + result_553648406 = null; + } + + }; + + return result_553648406; + +} + +function replaceById__dochack_u156(id_p0, newTree_p1) { + var x_553648287 = document.getElementById(id_p0); + x_553648287.parentNode.replaceChild(newTree_p1, x_553648287); + newTree_p1.id = id_p0; + + +} + +function togglevis__dochack_u703(d_p0) { + if ((d_p0.style.display == "none")) { + d_p0.style.display = "inline"; + } + else { + d_p0.style.display = "none"; + } + + + +} + +function groupBy(value_p0) { + var toc_553648835 = document.getElementById("toc-list"); + if ((alternative_553648830[0] == null)) { + var tt_553648843 = {heading: null, kids: [], sortId: 0, doSort: false}; + toToc__dochack_u408(toc_553648835, tt_553648843); + tt_553648843 = tt_553648843.kids[chckIndx(0, 0, (tt_553648843.kids).length - 1)]; + var types_553648848 = [[]]; + var procs_553648853 = [[]]; + extractItems__dochack_u197(tt_553648843, "Types", types_553648848, 0); + extractItems__dochack_u197(tt_553648843, "Procs", procs_553648853, 0); + extractItems__dochack_u197(tt_553648843, "Converters", procs_553648853, 0); + extractItems__dochack_u197(tt_553648843, "Methods", procs_553648853, 0); + extractItems__dochack_u197(tt_553648843, "Templates", procs_553648853, 0); + extractItems__dochack_u197(tt_553648843, "Macros", procs_553648853, 0); + extractItems__dochack_u197(tt_553648843, "Iterators", procs_553648853, 0); + var ntoc_553648854 = buildToc__dochack_u645(tt_553648843, types_553648848[0], procs_553648853[0]); + var x_553648855 = toHtml__dochack_u275(ntoc_553648854, true); + alternative_553648830[0] = tree__dochack_u129("DIV", [x_553648855]); + } + + if ((value_p0 == "type")) { + replaceById__dochack_u156("tocRoot", alternative_553648830[0]); + } + else { + replaceById__dochack_u156("tocRoot", tree__dochack_u129("DIV", [])); + } + + togglevis__dochack_u703(document.getElementById("toc-list")); + + +} + +function HEX5BHEX5D__pureZstrutils_u1259(s_p0, x_p1) { + var result_721421552 = []; + + var a_721421554 = x_p1.a; + var L_721421556 = addInt(subInt(subInt((s_p0).length, x_p1.b), a_721421554), 1); + result_721421552 = nimCopy(null, mnewString(chckRange(L_721421556, 0, 2147483647)), NTI33554449); + Label1: { + var i_721421561 = 0; + var i_553649384 = 0; + Label2: { + Label3: while (true) { + if (!(i_553649384 < L_721421556)) break Label3; + i_721421561 = i_553649384; + result_721421552[chckIndx(i_721421561, 0, (result_721421552).length - 1)] = s_p0[chckIndx(addInt(i_721421561, a_721421554), 0, (s_p0).length - 1)]; + i_553649384 = addInt(i_553649384, 1); + } + }; + }; + + return result_721421552; + +} + +function HEX2EHEX2E__stdZenumutils_u103(a_p0, b_p1) { + var result_939524206 = ({a: 0, b: 0}); + + result_939524206 = nimCopy(result_939524206, {a: a_p0, b: b_p1}, NTI939524179); + + return result_939524206; + +} +async function loadIndex__dochack_u923() { + var result_553649053 = null; + + BeforeRet: { + var indexURL_553649059 = document.getElementById("indexLink").getAttribute("href"); + var rootURL_553649084 = HEX5BHEX5D__pureZstrutils_u1259(cstrToNimstr(indexURL_553649059), HEX2EHEX2E__stdZenumutils_u103(0, 14)); + var resp_553649096 = (await (await fetch(indexURL_553649059)).text()); + var indexElem_553649097 = document.createElement("div"); + indexElem_553649097.innerHTML = resp_553649096; + Label1: { + var href_553649118 = null; + var colontmp__553649378 = []; + colontmp__553649378 = indexElem_553649097.getElementsByClassName("reference"); + var i_553649380 = 0; + var L_553649381 = (colontmp__553649378).length; + Label2: { + Label3: while (true) { + if (!(i_553649380 < L_553649381)) break Label3; + href_553649118 = colontmp__553649378[chckIndx(i_553649380, 0, (colontmp__553649378).length - 1)]; + href_553649118.setAttribute("href", toJSStr((rootURL_553649084 || []).concat(cstrToNimstr(href_553649118.getAttribute("href")) || []))); + db_553648872[0].push(href_553649118);; + contents_553648873[0].push(href_553649118.getAttribute("data-doc-search-tag"));; + i_553649380 += 1; + if (!(((colontmp__553649378).length == L_553649381))) { + failedAssertImpl__stdZassertions_u85(makeNimstrLit("iterators.nim(254, 11) `len(a) == L` the length of the seq changed while iterating over it")); + } + + } + }; + }; + result_553649053 = undefined; + break BeforeRet; + }; + + return result_553649053; + +} + +function then__dochack_u1099(future_p0, onSuccess_p1, onReject_p2) { + var result_553649233 = null; + + BeforeRet: { + var ret_553649243 = null; + ret_553649243 = future_p0.then(onSuccess_p1, onReject_p2) + result_553649233 = ret_553649243; + break BeforeRet; + }; + + return result_553649233; + +} + +function nsuToLowerAsciiChar(c_p0) { + var result_721420374 = 0; + + if ((ConstSet2[c_p0] != undefined)) { + result_721420374 = (c_p0 ^ 32); + } + else { + result_721420374 = c_p0; + } + + + return result_721420374; + +} + +function fuzzyMatch__fuzzysearch_u16(pattern_p0, str_p1) { + var Temporary4; + var Temporary5; + var Temporary6; + var Temporary7; + var Temporary8; + + var result_704643093 = {Field0: 0, Field1: false}; + + var scoreState_704643094 = (-100); + var headerMatched_704643095 = false; + var unmatchedLeadingCharCount_704643096 = 0; + var consecutiveMatchCount_704643097 = 0; + var strIndex_704643098 = 0; + var patIndex_704643099 = 0; + var score_704643100 = 0; + Label1: { + Label2: while (true) { + if (!((strIndex_704643098 < ((str_p1) == null ? 0 : (str_p1).length)) && (patIndex_704643099 < ((pattern_p0) == null ? 0 : (pattern_p0).length)))) break Label2; + Label3: { + var patternChar_704643103 = nsuToLowerAsciiChar(pattern_p0.charCodeAt(chckIndx(patIndex_704643099, 0, (pattern_p0).length - 1))); + var strChar_704643104 = nsuToLowerAsciiChar(str_p1.charCodeAt(chckIndx(strIndex_704643098, 0, (str_p1).length - 1))); + if ((ConstSet3[patternChar_704643103] != undefined)) { + patIndex_704643099 = addInt(patIndex_704643099, 1); + break Label3; + } + + if ((ConstSet4[strChar_704643104] != undefined)) { + strIndex_704643098 = addInt(strIndex_704643098, 1); + break Label3; + } + + if ((!(headerMatched_704643095) && (strChar_704643104 == 58))) { + headerMatched_704643095 = true; + scoreState_704643094 = (-100); + score_704643100 = ((Math.floor((0.5 * score_704643100))) | 0); + patIndex_704643099 = 0; + strIndex_704643098 = addInt(strIndex_704643098, 1); + break Label3; + } + + if ((strChar_704643104 == patternChar_704643103)) { + switch (scoreState_704643094) { + case (-100): + case 20: + scoreState_704643094 = 10; + break; + case 0: + scoreState_704643094 = 5; + score_704643100 = addInt(score_704643100, scoreState_704643094); + break; + case 10: + case 5: + consecutiveMatchCount_704643097 = addInt(consecutiveMatchCount_704643097, 1); + scoreState_704643094 = 5; + score_704643100 = addInt(score_704643100, mulInt(5, consecutiveMatchCount_704643097)); + if ((scoreState_704643094 == 10)) { + score_704643100 = addInt(score_704643100, 10); + } + + var onBoundary_704643156 = (patIndex_704643099 == ((pattern_p0) == null ? -1 : (pattern_p0).length - 1)); + if ((!(onBoundary_704643156) && (strIndex_704643098 < ((str_p1) == null ? -1 : (str_p1).length - 1)))) { + var nextPatternChar_704643157 = nsuToLowerAsciiChar(pattern_p0.charCodeAt(chckIndx(addInt(patIndex_704643099, 1), 0, (pattern_p0).length - 1))); + var nextStrChar_704643158 = nsuToLowerAsciiChar(str_p1.charCodeAt(chckIndx(addInt(strIndex_704643098, 1), 0, (str_p1).length - 1))); + if (!!((ConstSet5[nextStrChar_704643158] != undefined))) Temporary4 = false; else { Temporary4 = !((nextStrChar_704643158 == nextPatternChar_704643157)); } onBoundary_704643156 = Temporary4; + } + + if (onBoundary_704643156) { + scoreState_704643094 = 20; + score_704643100 = addInt(score_704643100, scoreState_704643094); + } + + break; + case (-1): + case (-3): + if (!((ConstSet6[str_p1.charCodeAt(chckIndx(subInt(strIndex_704643098, 1), 0, (str_p1).length - 1))] != undefined))) Temporary5 = true; else { if (!(ConstSet7[str_p1.charCodeAt(chckIndx(subInt(strIndex_704643098, 1), 0, (str_p1).length - 1))] != undefined)) Temporary6 = false; else { Temporary6 = (ConstSet8[str_p1.charCodeAt(chckIndx(strIndex_704643098, 0, (str_p1).length - 1))] != undefined); } Temporary5 = Temporary6; } var isLeadingChar_704643182 = Temporary5; + if (isLeadingChar_704643182) { + scoreState_704643094 = 10; + } + else { + scoreState_704643094 = 0; + score_704643100 = addInt(score_704643100, scoreState_704643094); + } + + break; + } + patIndex_704643099 = addInt(patIndex_704643099, 1); + } + else { + switch (scoreState_704643094) { + case (-100): + scoreState_704643094 = (-3); + score_704643100 = addInt(score_704643100, scoreState_704643094); + break; + case 5: + scoreState_704643094 = (-1); + score_704643100 = addInt(score_704643100, scoreState_704643094); + consecutiveMatchCount_704643097 = 0; + break; + case (-3): + if ((unmatchedLeadingCharCount_704643096 < 3)) { + scoreState_704643094 = (-3); + score_704643100 = addInt(score_704643100, scoreState_704643094); + } + + unmatchedLeadingCharCount_704643096 = addInt(unmatchedLeadingCharCount_704643096, 1); + break; + default: + scoreState_704643094 = (-1); + score_704643100 = addInt(score_704643100, scoreState_704643094); + break; + } + } + + strIndex_704643098 = addInt(strIndex_704643098, 1); + }; + } + }; + if (!(patIndex_704643099 == ((pattern_p0) == null ? 0 : (pattern_p0).length))) Temporary7 = false; else { if ((strIndex_704643098 == ((str_p1) == null ? 0 : (str_p1).length))) Temporary8 = true; else { Temporary8 = !((ConstSet9[str_p1.charCodeAt(chckIndx(strIndex_704643098, 0, (str_p1).length - 1))] != undefined)); } Temporary7 = Temporary8; } if (Temporary7) { + score_704643100 = addInt(score_704643100, 10); + } + + var colontmp__553649397 = nimMax(0, score_704643100); + var colontmp__553649398 = (0 < score_704643100); + result_704643093 = nimCopy(result_704643093, {Field0: colontmp__553649397, Field1: colontmp__553649398}, NTI704643086); + + return result_704643093; + +} + +function escapeCString__dochack_u746(x_p0, x_p0_Idx) { + var s_553648876 = []; + Label1: { + var c_553648877 = 0; + var iHEX60gensym13_553649401 = 0; + var nHEX60gensym13_553649402 = ((x_p0[x_p0_Idx]) == null ? 0 : (x_p0[x_p0_Idx]).length); + Label2: { + Label3: while (true) { + if (!(iHEX60gensym13_553649401 < nHEX60gensym13_553649402)) break Label3; + c_553648877 = x_p0[x_p0_Idx].charCodeAt(chckIndx(iHEX60gensym13_553649401, 0, (x_p0[x_p0_Idx]).length - 1)); + switch (c_553648877) { + case 60: + s_553648876.push.apply(s_553648876, [38,108,116,59]);; + break; + case 62: + s_553648876.push.apply(s_553648876, [38,103,116,59]);; + break; + default: + addChar(s_553648876, c_553648877);; + break; + } + iHEX60gensym13_553649401 += 1; + } + }; + }; + x_p0[x_p0_Idx] = toJSStr(s_553648876); + + +} + +function dosearch__dochack_u750(value_p0) { + +function HEX3Aanonymous__dochack_u778(a_p0, b_p1) { + var result_553648919 = 0; + + result_553648919 = subInt(b_p1["Field1"], a_p0["Field1"]); + + return result_553648919; + + } + + var result_553648880 = null; + + BeforeRet: { + if (((db_553648872[0]).length == 0)) { + break BeforeRet; + } + + var ul_553648884 = tree__dochack_u129("UL", []); + result_553648880 = tree__dochack_u129("DIV", []); + setClass__dochack_u150(result_553648880, "search_results"); + var matches_553648889 = []; + Label1: { + var i_553648897 = 0; + var colontmp__553649388 = 0; + colontmp__553649388 = (db_553648872[0]).length; + var i_553649389 = 0; + Label2: { + Label3: while (true) { + if (!(i_553649389 < colontmp__553649388)) break Label3; + i_553648897 = i_553649389; + Label4: { + var c_553648898 = contents_553648873[0][chckIndx(i_553648897, 0, (contents_553648873[0]).length - 1)]; + if (((c_553648898 == "Examples") || (c_553648898 == "PEG construction"))) { + break Label4; + } + + var tmpTuple_553648899 = fuzzyMatch__fuzzysearch_u16(value_p0, c_553648898); + var score_553648900 = tmpTuple_553648899["Field0"]; + var matched_553648901 = tmpTuple_553648899["Field1"]; + if (matched_553648901) { + matches_553648889.push({Field0: db_553648872[0][chckIndx(i_553648897, 0, (db_553648872[0]).length - 1)], Field1: score_553648900});; + } + + }; + i_553649389 = addInt(i_553649389, 1); + } + }; + }; + matches_553648889.sort(HEX3Aanonymous__dochack_u778); + Label5: { + var i_553648936 = 0; + var colontmp__553649392 = 0; + colontmp__553649392 = nimMin((matches_553648889).length, 29); + var i_553649393 = 0; + Label6: { + Label7: while (true) { + if (!(i_553649393 < colontmp__553649392)) break Label7; + i_553648936 = i_553649393; + matches_553648889[chckIndx(i_553648936, 0, (matches_553648889).length - 1)]["Field0"].innerHTML = matches_553648889[chckIndx(i_553648936, 0, (matches_553648889).length - 1)]["Field0"].getAttribute("data-doc-search-tag"); + escapeCString__dochack_u746(matches_553648889[chckIndx(i_553648936, 0, (matches_553648889).length - 1)]["Field0"], "innerHTML"); + add__dochack_u146(ul_553648884, tree__dochack_u129("LI", [matches_553648889[chckIndx(i_553648936, 0, (matches_553648889).length - 1)]["Field0"]])); + i_553649393 = addInt(i_553649393, 1); + } + }; + }; + if ((ul_553648884.childNodes.length == 0)) { + add__dochack_u146(result_553648880, tree__dochack_u129("B", [text__dochack_u153("no search results")])); + } + else { + add__dochack_u146(result_553648880, tree__dochack_u129("B", [text__dochack_u153("search results")])); + add__dochack_u146(result_553648880, ul_553648884); + } + + }; + + return result_553648880; + +} + +function search() { + +function wrapper__dochack_u1084() { + var elem_553649213 = document.getElementById("searchInput"); + var value_553649214 = elem_553649213.value; + if (!((((value_553649214) == null ? 0 : (value_553649214).length) == 0))) { + if ((oldtoc_553649207[0] == null)) { + oldtoc_553649207[0] = document.getElementById("tocRoot"); + } + + var results_553649218 = dosearch__dochack_u750(value_553649214); + replaceById__dochack_u156("tocRoot", results_553649218); + } + else { + if (!((oldtoc_553649207[0] == null))) { + replaceById__dochack_u156("tocRoot", oldtoc_553649207[0]); + } + } + + + } + + if ((loadIndexFut_553649210[0] == null)) { + loadIndexFut_553649210[0] = loadIndex__dochack_u923(); + var _ = then__dochack_u1099(loadIndexFut_553649210[0], wrapper__dochack_u1084, null); + } + + if (!((timer_553649208[0] == null))) { + clearTimeout(timer_553649208[0]); + } + + timer_553649208[0] = setTimeout(wrapper__dochack_u1084, 400); + + +} + +function copyToClipboard() { + + function updatePreTags() { + + const allPreTags = document.querySelectorAll("pre") + + allPreTags.forEach((e) => { + + const div = document.createElement("div") + div.classList.add("copyToClipBoard") + + const preTag = document.createElement("pre") + preTag.innerHTML = e.innerHTML + + const button = document.createElement("button") + button.value = e.textContent.replace('...', '') + button.classList.add("copyToClipBoardBtn") + button.style.cursor = "pointer" + + div.appendChild(preTag) + div.appendChild(button) + + e.outerHTML = div.outerHTML + + }) + } + + + function copyTextToClipboard(e) { + const clipBoardContent = e.target.value + navigator.clipboard.writeText(clipBoardContent).then(function() { + e.target.style.setProperty("--clipboard-image", "var(--clipboard-image-selected)") + }, function(err) { + console.error("Could not copy text: ", err); + }); + } + + window.addEventListener("click", (e) => { + if (e.target.classList.contains("copyToClipBoardBtn")) { + copyTextToClipboard(e) + } + }) + + window.addEventListener("mouseover", (e) => { + if (e.target.nodeName === "PRE") { + e.target.nextElementSibling.style.setProperty("--clipboard-image", "var(--clipboard-image-normal)") + } + }) + + window.addEventListener("DOMContentLoaded", updatePreTags) + + + + +} +var Temporary1; +var t_553648167 = window.localStorage.getItem("theme"); +if ((t_553648167 == null)) { +Temporary1 = "auto"; +} +else { +Temporary1 = t_553648167; +} + +setTheme(Temporary1); +var alternative_553648830 = [null]; +var db_553648872 = [[]]; +var contents_553648873 = [[]]; +var oldtoc_553649207 = [null]; +var timer_553649208 = [null]; +var loadIndexFut_553649210 = [null]; +copyToClipboard(); +window.addEventListener("DOMContentLoaded", onDOMLoaded, false); diff --git a/index.html b/index.html new file mode 100644 index 0000000..5ca282e --- /dev/null +++ b/index.html @@ -0,0 +1,576 @@ + + + + + + + +Index + + + + + + + + + + + + +
+
+

Index

+ Modules: plotly, plotly/api, plotly/color, plotly/errorbar, plotly/image_retrieve, plotly/plotly_display, plotly/plotly_subplots, plotly/plotly_sugar, plotly/plotly_types, plotly/predefined_colormaps.

API symbols

+
`$`:
+
`%`:
+
`[]=`:
+
`[]`:
+
add:
+
addTrace:
+
Annotation:
+
Axis:
+
AxisType:
+
backgroundColor:
+
BarAlign:
+
BarMode:
+
barPlot:
+
binRange:
+
binSize:
+
colormap:
+
ColorMap:
+
convertDomain:
+
createGrid:
+
CustomColorMap:
+
Domain:
+
DomainAlt:
+
ebkArrayAsym:
+
ebkArraySym:
+
ebkConstantAsym:
+
ebkConstantSym:
+
ebkPercentAsym:
+
ebkPercentSym:
+
ebkSqrt:
+
empty:
+
ErrorBar:
+
ErrorBarKind:
+
Font:
+
getCustomMap:
+
Grid:
+
gridColor:
+
gridColorX:
+
gridColorY:
+
gridWidth:
+
gridWidthX:
+
gridWidthY:
+
hasThreadSupport:
+
heatmap:
+
heatmapTrace:
+
height:
+
HistFunc:
+
HistNorm:
+
histPlot:
+
histTrace:
+
HoverMode:
+
Inferno:
+
InfernoRaw:
+
InfernoZeroWhite:
+
isEmpty:
+
json:
+
Layout:
+
legend:
+
Legend:
+
legendBgColor:
+
legendBorderColor:
+
legendBorderWidth:
+
legendLocation:
+
legendOrientation:
+
lineWidth:
+
listenForImage:
+
Magma:
+
MagmaRaw:
+
MagmaZeroWhite:
+
makePlotlyCustomMap:
+
makeZeroWhite:
+
Marker:
+
markerColor:
+
markerSize:
+
markerSizes:
+
mode:
+
name:
+
nbins:
+
newErrorBar:
+
newPlot:
+
Orientation:
+
Other:
+
paperColor:
+
parseImageType:
+
parseTraces:
+
Plasma:
+
PlasmaRaw:
+
PlasmaZeroWhite:
+
Plot:
+
PlotFill:
+
PlotJson:
+
PlotMode:
+
PlotSide:
+
PlotType:
+
pltLabel:
+
PredefinedCustomMaps:
+
RangeSlider:
+
roundOrIdent:
+
save:
+
saveImage:
+
scatterColor:
+
scatterPlot:
+
scatterTrace:
+
show:
+
SomePlot:
+
subplots:
+
text:
+
title:
+
toHtmlHex:
+
toPlotJson:
+
Trace:
+
ViridisRaw:
+
ViridisZeroWhite:
+
WhiteToBlack:
+
width:
+
xlabel:
+
ylabel:
+
zmax:
+
zmin:
+
+ +
+
+ + + + + + diff --git a/nimdoc.out.css b/nimdoc.out.css new file mode 100644 index 0000000..a9e4ac9 --- /dev/null +++ b/nimdoc.out.css @@ -0,0 +1,1033 @@ +/* +Stylesheet for use with Docutils/rst2html. + +See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to +customize this style sheet. + +Modified from Chad Skeeters' rst2html-style +https://bitbucket.org/cskeeters/rst2html-style/ + +Modified by Boyd Greenfield and narimiran +*/ + +:root { + --primary-background: #fff; + --secondary-background: ghostwhite; + --third-background: #e8e8e8; + --info-background: #50c050; + --warning-background: #c0a000; + --error-background: #e04040; + --border: #dde; + --text: #222; + --anchor: #07b; + --anchor-focus: #607c9f; + --input-focus: #1fa0eb; + --strong: #3c3c3c; + --hint: #9A9A9A; + --nim-sprite-base64: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAN4AAAA9CAYAAADCt9ebAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFFmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE5LTEyLTAzVDAxOjAzOjQ4KzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0xMi0wM1QwMjoyODo0MSswMTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0xMi0wM1QwMjoyODo0MSswMTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozMzM0ZjAxYS0yMDExLWE1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"); + + --keyword: #5e8f60; + --identifier: #222; + --comment: #484a86; + --operator: #155da4; + --punctuation: black; + --other: black; + --escapeSequence: #c4891b; + --number: #252dbe; + --literal: #a4255b; + --program: #6060c0; + --option: #508000; + --raw-data: #a4255b; + + --clipboard-image-normal: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='color: black' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E %3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2' /%3E %3C/svg%3E"); + --clipboard-image-selected: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='color: black' viewBox='0 0 20 20' fill='currentColor'%3E %3Cpath d='M8 3a1 1 0 011-1h2a1 1 0 110 2H9a1 1 0 01-1-1z' /%3E %3Cpath d='M6 3a2 2 0 00-2 2v11a2 2 0 002 2h8a2 2 0 002-2V5a2 2 0 00-2-2 3 3 0 01-3 3H9a3 3 0 01-3-3z' /%3E %3C/svg%3E"); + --clipboard-image: var(--clipboard-image-normal) +} + +[data-theme="dark"] { + --primary-background: #171921; + --secondary-background: #1e202a; + --third-background: #2b2e3b; + --info-background: #008000; + --warning-background: #807000; + --error-background: #c03000; + --border: #0e1014; + --text: #fff; + --anchor: #8be9fd; + --anchor-focus: #8be9fd; + --input-focus: #8be9fd; + --strong: #bd93f9; + --hint: #7A7C85; + --nim-sprite-base64: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARMAAABMCAYAAABOBlMuAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFFmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE5LTEyLTAzVDAxOjE4OjIyKzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0xMi0wM1QwMToyMDoxMCswMTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0xMi0wM1QwMToyMDoxMCswMTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDplZGViMzU3MC1iNmZjLWQy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"); + + --keyword: #ff79c6; + --identifier: #f8f8f2; + --comment: #6272a4; + --operator: #ff79c6; + --punctuation: #f8f8f2; + --other: #f8f8f2; + --escapeSequence: #bd93f9; + --number: #bd93f9; + --literal: #f1fa8c; + --program: #9090c0; + --option: #90b010; + --raw-data: #8be9fd; + + --clipboard-image-normal: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='color: lightgray' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E %3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2' /%3E %3C/svg%3E"); + --clipboard-image-selected: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='color: lightgray' viewBox='0 0 20 20' fill='currentColor'%3E %3Cpath d='M8 3a1 1 0 011-1h2a1 1 0 110 2H9a1 1 0 01-1-1z' /%3E %3Cpath d='M6 3a2 2 0 00-2 2v11a2 2 0 002 2h8a2 2 0 002-2V5a2 2 0 00-2-2 3 3 0 01-3 3H9a3 3 0 01-3-3z' /%3E %3C/svg%3E"); + --clipboard-image: var(--clipboard-image-normal); +} + +@media (prefers-color-scheme: dark) { + [data-theme="auto"] { + --primary-background: #171921; + --secondary-background: #1e202a; + --third-background: #2b2e3b; + --info-background: #008000; + --warning-background: #807000; + --error-background: #c03000; + --border: #0e1014; + --text: #fff; + --anchor: #8be9fd; + --anchor-focus: #8be9fd; + --input-focus: #8be9fd; + --strong: #bd93f9; + --hint: #7A7C85; + --nim-sprite-base64: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARMAAABMCAYAAABOBlMuAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFFmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE5LTEyLTAzVDAxOjE4OjIyKzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0xMi0wM1QwMToyMDoxMCswMTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0xMi0wM1QwMToyMDoxMCswMTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDplZGViMzU3MC1iNmZjLWQy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"); + + --keyword: #ff79c6; + --identifier: #f8f8f2; + --comment: #6272a4; + --operator: #ff79c6; + --punctuation: #f8f8f2; + --other: #f8f8f2; + --escapeSequence: #bd93f9; + --number: #bd93f9; + --literal: #f1fa8c; + --program: #9090c0; + --option: #90b010; + --raw-data: #8be9fd; + + --clipboard-image-normal: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='color: lightgray' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E %3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2' /%3E %3C/svg%3E"); + --clipboard-image-selected: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='color: lightgray' viewBox='0 0 20 20' fill='currentColor'%3E %3Cpath d='M8 3a1 1 0 011-1h2a1 1 0 110 2H9a1 1 0 01-1-1z' /%3E %3Cpath d='M6 3a2 2 0 00-2 2v11a2 2 0 002 2h8a2 2 0 002-2V5a2 2 0 00-2-2 3 3 0 01-3 3H9a3 3 0 01-3-3z' /%3E %3C/svg%3E"); + --clipboard-image: var(--clipboard-image-normal); + } +} + +.theme-select-wrapper { + display: flex; + align-items: center; +} + +html { + font-size: 100%; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; } + +body { + font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif; + font-weight: 400; + font-size: 1.125em; + line-height: 1.5; + color: var(--text); + background-color: var(--primary-background); } + +/* Skeleton grid */ +.container { + position: relative; + width: 100%; + max-width: 1050px; + margin: 0 auto; + padding: 0; + box-sizing: border-box; } + +.column, .columns { + width: 100%; + float: left; + box-sizing: border-box; + margin-left: 1%; } + +@media print { + #global-links, .link-seesrc, .theme-switch-wrapper, #searchInputDiv, .search-groupby { + display:none; + } + .columns { + width:100% !important; + } +} + +.column:first-child, .columns:first-child { + margin-left: 0; } + +.container .row { + display: flex; } + +.three.columns { + width: 25.0%; + height: 100vh; + position: sticky; + top: 0px; + overflow-y: auto; + padding: 2px; +} + +.nine.columns { + width: 75.0%; + padding-left: 1.5em; } + +.twelve.columns { + width: 100%; + margin-left: 0; } + +@media screen and (max-width: 860px) { + .three.columns { + display: none; + } + .nine.columns { + width: 98.0%; + } + body { + font-size: 1em; + line-height: 1.35; + } +} + +cite { + font-style: italic !important; } + + +/* Nim search input */ +div#searchInputDiv { + margin-bottom: 1em; +} +input#searchInput { + width: 80%; +} + +/* + * Some custom formatting for input forms. + * This also fixes input form colors on Firefox with a dark system theme on Linux. + */ +input { + -moz-appearance: none; + background-color: var(--secondary-background); + color: var(--text); + border: 1px solid var(--border); + font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif; + font-size: 0.9em; + padding: 6px; +} + +input:focus { + border: 1px solid var(--input-focus); + box-shadow: 0 0 3px var(--input-focus); +} + +select { + -moz-appearance: none; + background-color: var(--secondary-background); + color: var(--text); + border: 1px solid var(--border); + font-family: "Lato", "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, sans-serif; + font-size: 0.9em; + padding: 6px; +} + +select:focus { + border: 1px solid var(--input-focus); + box-shadow: 0 0 3px var(--input-focus); +} + +/* Docgen styles */ + +:target { + border: 2px solid #B5651D; + border-style: dotted; +} + +/* Links */ +a { + color: var(--anchor); + text-decoration: none; +} + +a span.Identifier { + text-decoration: underline; + text-decoration-color: #aab; +} + +a.reference-toplevel { + font-weight: bold; +} + +a.nimdoc { + word-spacing: 0.3em; +} + +a.toc-backref { + text-decoration: none; + color: var(--text); +} + +a.link-seesrc { + color: #607c9f; + font-size: 0.9em; + font-style: italic; +} + +a:hover, a:focus { + color: var(--anchor-focus); + text-decoration: underline; +} + +a:hover span.Identifier { + color: var(--anchor); +} + + +sub, sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; } + +sup { + top: -0.5em; } + +sub { + bottom: -0.25em; } + +img { + width: auto; + height: auto; + max-width: 100%; + vertical-align: middle; + border: 0; + -ms-interpolation-mode: bicubic; } + +@media print { + * { + color: black !important; + text-shadow: none !important; + background: transparent !important; + box-shadow: none !important; } + + a, a:visited { + text-decoration: underline; } + + a[href]:after { + content: " (" attr(href) ")"; } + + abbr[title]:after { + content: " (" attr(title) ")"; } + + .ir a:after, + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; } + + pre, blockquote { + border: 1px solid #999; + page-break-inside: avoid; } + + thead { + display: table-header-group; } + + tr, img { + page-break-inside: avoid; } + + img { + max-width: 100% !important; } + + @page { + margin: 0.5cm; } + + h1 { + page-break-before: always; } + + h1.title { + page-break-before: avoid; } + + p, h2, h3 { + orphans: 3; + widows: 3; } + + h2, h3 { + page-break-after: avoid; } +} + + +p { + margin-top: 0.5em; + margin-bottom: 0.5em; } + +small { + font-size: 85%; } + +strong { + font-weight: 600; + font-size: 0.95em; + color: var(--strong); } + +em { + font-style: italic; } + +h1 { + font-size: 1.8em; + font-weight: 400; + padding-bottom: .25em; + border-bottom: 6px solid var(--third-background); + margin-top: 2.5em; + margin-bottom: 1em; + line-height: 1.2em; } + +h1.title { + padding-bottom: 1em; + border-bottom: 0px; + font-size: 2.5em; + text-align: center; + font-weight: 900; + margin-top: 0.75em; + margin-bottom: 0em; } + +h2 { + font-size: 1.3em; + margin-top: 2em; } + +h2.subtitle { + margin-top: 0em; + text-align: center; } + +h3 { + font-size: 1.125em; + font-style: italic; + margin-top: 1.5em; } + +h4 { + font-size: 1.125em; + margin-top: 1em; } + +h5 { + font-size: 1.125em; + margin-top: 0.75em; } + +h6 { + font-size: 1.1em; } + + +ul, ol { + padding: 0; + margin-top: 0.5em; + margin-left: 0.75em; } + +ul ul, ul ol, ol ol, ol ul { + margin-bottom: 0; + margin-left: 1.25em; } + +ul.simple > li { + list-style-type: circle; } + +ul.simple-boot li { + list-style-type: none; + margin-left: 0em; + margin-bottom: 0.5em; } + +ol.simple > li, ul.simple > li { + margin-bottom: 0.2em; + margin-left: 0.4em } + +ul.simple.simple-toc > li { + margin-top: 1em; } + +ul.simple-toc { + list-style: none; + font-size: 0.9em; + margin-left: -0.3em; + margin-top: 1em; } + +ul.simple-toc > li { + list-style-type: none; } + +ul.simple-toc-section { + list-style-type: circle; + margin-left: 0.8em; + color: #6c9aae; } + +ul.nested-toc-section { + list-style-type: circle; + margin-left: -0.75em; + color: var(--text); } + +ul.nested-toc-section > li { + margin-left: 1.25em; } + + +ol.arabic { + list-style: decimal; } + +ol.loweralpha { + list-style: lower-alpha; } + +ol.upperalpha { + list-style: upper-alpha; } + +ol.lowerroman { + list-style: lower-roman; } + +ol.upperroman { + list-style: upper-roman; } + +ul.auto-toc { + list-style-type: none; } + + +dl { + margin-bottom: 1.5em; } + +dt { + margin-bottom: -0.5em; + margin-left: 0.0em; } + +dd { + margin-left: 2.0em; + margin-bottom: 3.0em; + margin-top: 0.5em; } + + +hr { + margin: 2em 0; + border: 0; + border-top: 1px solid #aaa; } + +hr.footnote { + width: 25%; + border-top: 0.15em solid #999; + margin-bottom: 0.15em; + margin-top: 0.15em; +} +div.footnote-group { + margin-left: 1em; +} +div.footnote-label { + display: inline-block; + min-width: 1.7em; +} + +div.option-list { + border: 0.1em solid var(--border); +} +div.option-list-item { + padding-left: 12em; + padding-right: 0; + padding-bottom: 0.3em; + padding-top: 0.3em; +} +div.odd { + background-color: var(--secondary-background); +} +div.option-list-label { + margin-left: -11.5em; + margin-right: 0em; + min-width: 11.5em; + display: inline-block; + vertical-align: top; +} +div.option-list-description { + width: calc(100% - 1em); + padding-left: 1em; + padding-right: 0; + display: inline-block; +} + +blockquote { + font-size: 0.9em; + font-style: italic; + padding-left: 0.5em; + margin-left: 0; + border-left: 5px solid #bbc; +} + +blockquote.markdown-quote { + font-size: 0.9rem; /* use rem to avoid recursion */ + font-style: normal; +} + +.pre, span.tok { + font-family: "Source Code Pro", Monaco, Menlo, Consolas, "Courier New", monospace; + font-weight: 500; + font-size: 0.85em; + color: var(--text); + background-color: var(--third-background); + padding-left: 3px; + padding-right: 3px; + border-radius: 4px; +} + +span.tok { + border: 1px solid #808080; + padding-bottom: 0.1em; + margin-right: 0.2em; +} + +.copyToClipBoard { + position: relative; +} + +pre { + font-family: "Source Code Pro", Monaco, Menlo, Consolas, "Courier New", monospace; + color: var(--text); + font-weight: 500; + display: inline-block; + box-sizing: border-box; + min-width: 100%; + padding: 0.5em; + margin-top: 0.5em; + margin-bottom: 0.5em; + font-size: 0.85em; + white-space: pre !important; + overflow-y: hidden; + overflow-x: visible; + background-color: var(--secondary-background); + border: 1px solid var(--border); + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.copyToClipBoardBtn { + visibility: hidden; + position: absolute; + width: 24px; + border-radius: 4px; + background-image: var(--clipboard-image); + right: 5px; + top: 13px; + background-color: var(--secondary-background); + padding: 11px; + border: 0; +} + +.copyToClipBoard:hover .copyToClipBoardBtn { + visibility: visible; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; } + + +/* Nim line-numbered tables */ +.line-nums-table { + width: 100%; + table-layout: fixed; } + +table.line-nums-table { + border-radius: 4px; + border: 1px solid #cccccc; + background-color: ghostwhite; + border-collapse: separate; + margin-top: 15px; + margin-bottom: 25px; } + +.line-nums-table tbody { + border: none; } + +.line-nums-table td pre { + border: none; + background-color: transparent; } + +.line-nums-table td.blob-line-nums { + width: 28px; } + +.line-nums-table td.blob-line-nums pre { + color: #b0b0b0; + -webkit-filter: opacity(75%); + filter: opacity(75%); + text-align: right; + border-color: transparent; + background-color: transparent; + padding-left: 0px; + margin-left: 0px; + padding-right: 0px; + margin-right: 0px; } + + +table { + max-width: 100%; + background-color: transparent; + margin-top: 0.5em; + margin-bottom: 1.5em; + border-collapse: collapse; + border-color: var(--third-background); + border-spacing: 0; + font-size: 0.9em; +} + +table th, table td { + padding: 0px 0.5em 0px; + border-color: var(--third-background); +} + +table th { + background-color: var(--third-background); + border-color: var(--third-background); + font-weight: bold; } + +table th.docinfo-name { + background-color: transparent; + text-align: right; +} + +table tr:hover { + background-color: var(--third-background); } + + +/* rst2html default used to remove borders from tables and images */ +.borderless, table.borderless td, table.borderless th { + border: 0; } + +table.borderless td, table.borderless th { + /* Override padding for "table.docutils td" with "! important". + The right padding separates the table cells. */ + padding: 0 0.5em 0 0 !important; } + +.admonition { + padding: 0.3em; + background-color: var(--secondary-background); + border-left: 0.4em solid #7f7f84; + margin-bottom: 0.5em; + -webkit-box-shadow: 0 5px 8px -6px rgba(0,0,0,.2); + -moz-box-shadow: 0 5px 8px -6px rgba(0,0,0,.2); + box-shadow: 0 5px 8px -6px rgba(0,0,0,.2); +} +.admonition-info { + border-color: var(--info-background); +} +.admonition-info-text { + color: var(--info-background); +} +.admonition-warning { + border-color: var(--warning-background); +} +.admonition-warning-text { + color: var(--warning-background); +} +.admonition-error { + border-color: var(--error-background); +} +.admonition-error-text { + color: var(--error-background); +} + +.first { + /* Override more specific margin styles with "! important". */ + margin-top: 0 !important; } + +.last, .with-subtitle { + margin-bottom: 0 !important; } + +.hidden { + display: none; } + +blockquote.epigraph { + margin: 2em 5em; } + +dl.docutils dd { + margin-bottom: 0.5em; } + +object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] { + overflow: hidden; } + + +div.figure { + margin-left: 2em; + margin-right: 2em; } + +div.footer, div.header { + clear: both; + text-align: center; + color: #666; + font-size: smaller; } + +div.footer { + padding-top: 5em; } + +div.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; } + +div.line-block div.line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; } + +div.topic { + margin: 2em; } + +div.search_results { + background-color: var(--third-background); + margin: 3vh 5vw; + padding: 1em; + border: 1px solid #4d4d4d; + position: fixed; + top: 10px; + isolation: isolate; + max-width: calc(100vw - 6em); + z-index: 1; + max-height: calc(100vh - 6em); + overflow-y: scroll;} + +div#global-links ul { + margin-left: 0; + list-style-type: none; } + +div#global-links > simple-boot { + margin-left: 3em; } + +hr.docutils { + width: 75%; } + +img.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; } + +img.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; } + +img.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; } + +.align-left { + text-align: left; } + +.align-center { + clear: both; + text-align: center; } + +.align-right { + text-align: right; } + +/* reset inner alignment in figures */ +div.align-right { + text-align: inherit; } + +p.attribution { + text-align: right; + margin-left: 50%; } + +p.caption { + font-style: italic; } + +p.credits { + font-style: italic; + font-size: smaller; } + +p.label { + white-space: nowrap; } + +p.rubric { + font-weight: bold; + font-size: larger; + color: maroon; + text-align: center; } + +p.topic-title { + font-weight: bold; } + +pre.address { + margin-bottom: 0; + margin-top: 0; + font: inherit; } + +pre.literal-block, pre.doctest-block, pre.math, pre.code { + margin-left: 2em; + margin-right: 2em; } + +pre.code .ln { + color: grey; } + +/* line numbers */ +pre.code, code { + background-color: #eeeeee; } + +pre.code .comment, code .comment { + color: #5c6576; } + +pre.code .keyword, code .keyword { + color: #3B0D06; + font-weight: bold; } + +pre.code .literal.string, code .literal.string { + color: #0c5404; } + +pre.code .name.builtin, code .name.builtin { + color: #352b84; } + +pre.code .deleted, code .deleted { + background-color: #DEB0A1; } + +pre.code .inserted, code .inserted { + background-color: #A3D289; } + +span.classifier { + font-style: oblique; } + +span.classifier-delimiter { + font-weight: bold; } + +span.problematic { + color: #b30000; } + +span.section-subtitle { + /* font-size relative to parent (h1..h6 element) */ + font-size: 80%; } + +span.DecNumber { + color: var(--number); } + +span.BinNumber { + color: var(--number); } + +span.HexNumber { + color: var(--number); } + +span.OctNumber { + color: var(--number); } + +span.FloatNumber { + color: var(--number); } + +span.Identifier { + color: var(--identifier); } + +span.Keyword { + font-weight: 600; + color: var(--keyword); } + +span.StringLit { + color: var(--literal); } + +span.LongStringLit { + color: var(--literal); } + +span.CharLit { + color: var(--literal); } + +span.EscapeSequence { + color: var(--escapeSequence); } + +span.Operator { + color: var(--operator); } + +span.Punctuation { + color: var(--punctuation); } + +span.Comment, span.LongComment { + font-style: italic; + font-weight: 400; + color: var(--comment); } + +span.RegularExpression { + color: darkviolet; } + +span.TagStart { + color: darkviolet; } + +span.TagEnd { + color: darkviolet; } + +span.Key { + color: #252dbe; } + +span.Value { + color: #252dbe; } + +span.RawData { + color: var(--raw-data); } + +span.Assembler { + color: #252dbe; } + +span.Preprocessor { + color: #252dbe; } + +span.Directive { + color: #252dbe; } + +span.option { + font-weight: bold; + font-family: "Source Code Pro", Monaco, Menlo, Consolas, "Courier New", monospace; + color: var(--option); } + +span.Prompt { + font-weight: bold; + color: red; } + +span.ProgramOutput { + font-weight: bold; + color: #808080; } + +span.program { + font-weight: bold; + color: var(--program); + text-decoration: underline; + text-decoration-color: var(--hint); + text-decoration-thickness: 0.05em; + text-underline-offset: 0.15em; } + +span.Command, span.Rule, span.Hyperlink, +span.Label, span.Reference, span.Other { + color: var(--other); } + +/* Pop type, const, proc, and iterator defs in nim def blocks */ +dt pre > span.Identifier, dt pre > span.Operator { + color: var(--identifier); + font-weight: 700; } + +dt pre > span.Keyword ~ span.Identifier, dt pre > span.Identifier ~ span.Identifier, +dt pre > span.Operator ~ span.Identifier, dt pre > span.Other ~ span.Identifier { + color: var(--identifier); + font-weight: inherit; } + +/* Nim sprite for the footer (taken from main page favicon) */ +.nim-sprite { + display: inline-block; + width: 51px; + height: 14px; + background-position: 0 0; + background-size: 51px 14px; + -webkit-filter: opacity(50%); + filter: opacity(50%); + background-repeat: no-repeat; + background-image: var(--nim-sprite-base64); + margin-bottom: 5px; } + +span.pragmadots { + /* Position: relative frees us up to make the dots + look really nice without fucking up the layout and + causing bulging in the parent container */ + position: relative; + /* 1px down looks slightly nicer */ + top: 1px; + padding: 2px; + background-color: var(--third-background); + border-radius: 4px; + margin: 0 2px; + cursor: pointer; + font-size: 0.8em; } + +span.pragmadots:hover { + background-color: var(--hint); } + +span.pragmawrap { + display: none; } + +span.attachedType { + display: none; + visibility: hidden; } diff --git a/plotly.html b/plotly.html new file mode 100644 index 0000000..37c1fe3 --- /dev/null +++ b/plotly.html @@ -0,0 +1,86 @@ + + + + + + + +plotly + + + + + + + + + + + + +
+
+

plotly

+
+
+
+ + +
+ +
+ Search: +
+
+ Group by: + +
+ + +
+ +
+ + +
+
+ + + + + + diff --git a/plotly.idx b/plotly.idx new file mode 100644 index 0000000..6f9dcd6 --- /dev/null +++ b/plotly.idx @@ -0,0 +1 @@ +nimTitle plotly plotly.html module plotly 0 diff --git a/plotly/api.html b/plotly/api.html new file mode 100644 index 0000000..b7bfe80 --- /dev/null +++ b/plotly/api.html @@ -0,0 +1,256 @@ + + + + + + + +plotly/api + + + + + + + + + + + + +
+
+

plotly/api

+
+
+
+ + +
+ +
+ Search: +
+
+ Group by: + +
+ + +
+
+ Source   +Edit   + +
+ +

+ +
+

Procs

+
+
+
+
func `$`(d: Trace): string
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
func `%`(a: Annotation): JsonNode {....raises: [], tags: [], forbids: [].}
+
+ + creates a JsonNode from an Annotations object depending on the object variant + Source   +Edit   + +
+
+
+
func `%`(a: Axis): JsonNode {....raises: [], tags: [], forbids: [].}
+
+ + + Source   +Edit   + +
+
+
+
func `%`(b: ErrorBar): JsonNode
+
+ + creates a JsonNode from an ErrorBar object depending on the object variant + Source   +Edit   + +
+
+
+
func `%`(c: Color): JsonNode {....raises: [], tags: [], forbids: [].}
+
+ + + Source   +Edit   + +
+
+
+
func `%`(f: Font): JsonNode {....raises: [], tags: [], forbids: [].}
+
+ + + Source   +Edit   + +
+
+
+
func `%`(l: Layout): JsonNode {....raises: [], tags: [], forbids: [].}
+
+ + + Source   +Edit   + +
+
+
+
func `%`(l: Legend): JsonNode {....raises: [], tags: [], forbids: [].}
+
+ + + Source   +Edit   + +
+
+
+
func `%`(m: Marker): JsonNode
+
+ + + Source   +Edit   + +
+
+
+
func `%`(t: Trace): JsonNode
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
func json(d: Trace; as_pretty = false): string
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc toPlotJson[T](plt: Plot[T]): PlotJson
+
+ + converts a given Plot[T] object to a PlotJson object + Source   +Edit   + +
+
+ +
+ +
+
+ +
+
+ + +
+
+ + + + + + diff --git a/plotly/api.idx b/plotly/api.idx new file mode 100644 index 0000000..4f6a662 --- /dev/null +++ b/plotly/api.idx @@ -0,0 +1,14 @@ +nimTitle api plotly/api.html module plotly/api 0 +nim toPlotJson plotly/api.html#toPlotJson,Plot[T] proc toPlotJson[T](plt: Plot[T]): PlotJson 12 +nim `%` plotly/api.html#%,Color proc `%`(c: Color): JsonNode 123 +nim `%` plotly/api.html#%,Font proc `%`(f: Font): JsonNode 126 +nim `%` plotly/api.html#%,Axis proc `%`(a: Axis): JsonNode 136 +nim `%` plotly/api.html#%,Legend proc `%`(l: Legend): JsonNode 169 +nim `%` plotly/api.html#%,Layout proc `%`(l: Layout): JsonNode 190 +nim `%` plotly/api.html#%,Annotation proc `%`(a: Annotation): JsonNode 226 +nim `%` plotly/api.html#%,ErrorBar proc `%`(b: ErrorBar): JsonNode 236 +nim `%` plotly/api.html#%,Trace proc `%`(t: Trace): JsonNode 278 +nim `%` plotly/api.html#%,Marker proc `%`(m: Marker): JsonNode 368 +nim `$` plotly/api.html#$,Trace proc `$`(d: Trace): string 387 +nim json plotly/api.html#json,Trace proc json(d: Trace; as_pretty = false): string 391 +nimgrp % plotly/api.html#%-procs-all proc 123 diff --git a/plotly/color.html b/plotly/color.html new file mode 100644 index 0000000..24a835e --- /dev/null +++ b/plotly/color.html @@ -0,0 +1,205 @@ + + + + + + + +plotly/color + + + + + + + + + + + + +
+
+

plotly/color

+
+
+
+ + +
+ +
+ Search: +
+
+ Group by: + +
+ + +
+
+ Source   +Edit   + +
+ +

+ +
+

Procs

+
+
+
+
func empty(): Color {....raises: [], tags: [], forbids: [].}
+
+ + returns completely black + Source   +Edit   + +
+
+ +
+
+
+
proc getCustomMap(customMap: PredefinedCustomMaps): CustomColorMap {....raises: [],
+    tags: [], forbids: [].}
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
func isEmpty(c: Color): bool {....raises: [], tags: [], forbids: [].}
+
+ + checks whether given color is black according to above + Source   +Edit   + +
+
+ +
+
+
+
proc makePlotlyCustomMap(map: CustomColorMap): JsonNode {....raises: [], tags: [],
+    forbids: [].}
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc makeZeroWhite(cmap: CmapData): CmapData {....raises: [], tags: [], forbids: [].}
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
func toHtmlHex(colors: seq[Color]): seq[string] {....raises: [], tags: [],
+    forbids: [].}
+
+ + + Source   +Edit   + +
+
+ +
+ +
+
+ +
+
+ + +
+
+ + + + + + diff --git a/plotly/color.idx b/plotly/color.idx new file mode 100644 index 0000000..24a5c85 --- /dev/null +++ b/plotly/color.idx @@ -0,0 +1,7 @@ +nimTitle color plotly/color.html module plotly/color 0 +nim empty plotly/color.html#empty proc empty(): Color 16 +nim isEmpty plotly/color.html#isEmpty,Color proc isEmpty(c: Color): bool 20 +nim toHtmlHex plotly/color.html#toHtmlHex,seq[Color] proc toHtmlHex(colors: seq[Color]): seq[string] 25 +nim makeZeroWhite plotly/color.html#makeZeroWhite,CmapData proc makeZeroWhite(cmap: CmapData): CmapData 30 +nim makePlotlyCustomMap plotly/color.html#makePlotlyCustomMap,CustomColorMap proc makePlotlyCustomMap(map: CustomColorMap): JsonNode 34 +nim getCustomMap plotly/color.html#getCustomMap,PredefinedCustomMaps proc getCustomMap(customMap: PredefinedCustomMaps): CustomColorMap 41 diff --git a/plotly/errorbar.html b/plotly/errorbar.html new file mode 100644 index 0000000..addd6dd --- /dev/null +++ b/plotly/errorbar.html @@ -0,0 +1,185 @@ + + + + + + + +plotly/errorbar + + + + + + + + + + + + +
+
+

plotly/errorbar

+
+ +
+ Source   +Edit   + +
+ +

+ +
+

Procs

+
+
+
+
func newErrorBar[T: SomeNumber](color: Color = empty(); thickness = 0.0;
+                                width = 0.0; visible = true): ErrorBar[T]
+
+ + creates an ErrorBar object of type ebkSqrt + Source   +Edit   + +
+
+
+
func newErrorBar[T: SomeNumber](err: T; color: Color = empty(); thickness = 0.0;
+                                width = 0.0; visible = true; percent = false): ErrorBar[
+    T]
+
+ + creates an ErrorBar object of type ebkConstantSym or ebkPercentSym, if the percent flag is set to true + Source   +Edit   + +
+
+
+
func newErrorBar[T: SomeNumber](err: tuple[m, p: seq[T]];
+                                color: Color = empty(); thickness = 0.0;
+                                width = 0.0; visible = true): ErrorBar[T]
+
+ + creates an ErrorBar object of type ebkArrayAsym, where the first Note: the first seq of the err tuple is the negative error seq, the second the positive! + Source   +Edit   + +
+
+
+
func newErrorBar[T: SomeNumber](err: tuple[m, p: T]; color: Color = empty();
+                                thickness = 0.0; width = 0.0; visible = true;
+                                percent = false): ErrorBar[T]
+
+ + creates an ErrorBar object of type ebkConstantAsym, constant plus and minus errors given as tuple or ebkPercentAsym of percent flag is set to true Note: the first element of the err tuple is the negative size, the second the positive! + Source   +Edit   + +
+
+
+
func newErrorBar[T](err: seq[T]; color: Color = empty(); thickness = 0.0;
+                    width = 0.0; visible = true): ErrorBar[T]
+
+ + creates an ErrorBar object of type ebkArraySym + Source   +Edit   + +
+
+ +
+ +
+
+ +
+
+ + +
+
+ + + + + + diff --git a/plotly/errorbar.idx b/plotly/errorbar.idx new file mode 100644 index 0000000..f9656e0 --- /dev/null +++ b/plotly/errorbar.idx @@ -0,0 +1,7 @@ +nimTitle errorbar plotly/errorbar.html module plotly/errorbar 0 +nim newErrorBar plotly/errorbar.html#newErrorBar,T,Color,float,float proc newErrorBar[T: SomeNumber](err: T; color: Color = empty(); thickness = 0.0;\n width = 0.0; visible = true; percent = false): ErrorBar[\n T] 10 +nim newErrorBar plotly/errorbar.html#newErrorBar,tuple[T,T],Color,float,float proc newErrorBar[T: SomeNumber](err: tuple[m, p: T]; color: Color = empty();\n thickness = 0.0; width = 0.0; visible = true;\n percent = false): ErrorBar[T] 25 +nim newErrorBar plotly/errorbar.html#newErrorBar,Color,float,float proc newErrorBar[T: SomeNumber](color: Color = empty(); thickness = 0.0; width = 0.0;\n visible = true): ErrorBar[T] 43 +nim newErrorBar plotly/errorbar.html#newErrorBar,seq[T],Color,float,float proc newErrorBar[T](err: seq[T]; color: Color = empty(); thickness = 0.0;\n width = 0.0; visible = true): ErrorBar[T] 49 +nim newErrorBar plotly/errorbar.html#newErrorBar,tuple[seq[T],seq[T]],Color,float,float proc newErrorBar[T: SomeNumber](err: tuple[m, p: seq[T]]; color: Color = empty();\n thickness = 0.0; width = 0.0; visible = true): ErrorBar[\n T] 56 +nimgrp newerrorbar plotly/errorbar.html#newErrorBar-procs-all proc 10 diff --git a/plotly/image_retrieve.html b/plotly/image_retrieve.html new file mode 100644 index 0000000..b195f94 --- /dev/null +++ b/plotly/image_retrieve.html @@ -0,0 +1,128 @@ + + + + + + + +plotly/image_retrieve + + + + + + + + + + + + +
+
+

plotly/image_retrieve

+
+
+
+ + +
+ +
+ Search: +
+
+ Group by: + +
+ + +
+
+ Source   +Edit   + +
+ +

+
+

Procs

+
+
+
+
proc listenForImage(filename: string) {....raises: [Exception, ValueError,
+    LibraryError, SslError, OSError], tags: [RootEffect, WriteIOEffect,
+    ReadIOEffect, TimeEffect], forbids: [].}
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc parseImageType(filename: string): string {....raises: [], tags: [],
+    forbids: [].}
+
+ + + Source   +Edit   + +
+
+ +
+ +
+
+ +
+
+ + +
+
+ + + + + + diff --git a/plotly/image_retrieve.idx b/plotly/image_retrieve.idx new file mode 100644 index 0000000..b029f49 --- /dev/null +++ b/plotly/image_retrieve.idx @@ -0,0 +1,3 @@ +nimTitle image_retrieve plotly/image_retrieve.html module plotly/image_retrieve 0 +nim parseImageType plotly/image_retrieve.html#parseImageType,string proc parseImageType(filename: string): string 23 +nim listenForImage plotly/image_retrieve.html#listenForImage,string proc listenForImage(filename: string) 127 diff --git a/plotly/plotly_display.html b/plotly/plotly_display.html new file mode 100644 index 0000000..fdfcc62 --- /dev/null +++ b/plotly/plotly_display.html @@ -0,0 +1,245 @@ + + + + + + + +plotly/plotly_display + + + + + + + + + + + + +
+
+

plotly/plotly_display

+
+ +
+ Source   +Edit   + +
+ +

+ +
+

Consts

+
+
+
hasThreadSupport = true
+
+ + + Source   +Edit   + +
+
+ +
+
+
+

Procs

+
+
+
+
proc parseTraces[T](traces: seq[Trace[T]]): string
+
+ + parses the traces of a Plot object to strings suitable for plotly by creating a JsonNode and converting to string repr + Source   +Edit   + +
+
+ +
+
+
+
proc save(p: SomePlot; htmlPath = ""; htmlTemplate = defaultTmplString;
+          filename = ""; autoResize = true): string
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc saveImage(p: SomePlot; filename: string; htmlPath = "";
+               htmlTemplate = defaultTmplString; removeTempFile = false;
+               autoResize = false)
+
+ + Saves the image under the given filename supported filetypes:
  • jpg, png, svg, webp
  • +
+

Note: only supported if compiled with --threads:on!

+

If the webview target is used, the plot is only saved and not shown (for long; webview closed after image saved correctly).

+

If htmlPath is given the file is stored in the given path and name. Else a suitable name will be generated based on the current time.

+

htmlTemplate allows to overwrite the default HTML template.

+

If removeTempFile is true, the temporary file will be deleted after a short while (not recommended).

+

If autoResize is true, the shown plot will automatically resize according to the browser window size. This overrides any possible custom sizes for the plot. By default it is disabled for plots that should be saved.

+ + Source   +Edit   + +
+
+ +
+
+
+
proc show(grid: Grid; filename = ""; htmlPath = "";
+          htmlTemplate = defaultTmplString; removeTempFile = false;
+          autoResize = true) {....raises: [ResourceExhaustedError, OSError,
+                                        IOError, ValueError, KeyError], tags: [
+    TimeEffect, WriteDirEffect, ReadDirEffect, ReadEnvEffect, ReadIOEffect,
+    RootEffect, WriteIOEffect, ExecIOEffect], forbids: [].}
+
+ +

Displays the Grid plot. Converts the grid to a call to combine and calls show on it.

+

If htmlPath is given the file is stored in the given path and name. Else a suitable name will be generated based on the current time.

+

htmlTemplate allows to overwrite the default HTML template.

+

If removeTempFile is true, the temporary file will be deleted after a short while (not recommended).

+

If autoResize is true, the shown plot will automatically resize according to the browser window size. This overrides any possible custom sizes for the plot. By default it is disabled for plots that should be saved.

+ + Source   +Edit   + +
+
+
+
proc show(p: SomePlot; filename = ""; htmlPath = "";
+          htmlTemplate = defaultTmplString; onlySave: static bool = false;
+          removeTempFile = false; autoResize = true)
+
+ +

Creates the temporary Html file using save, and opens the user's default browser.

+

If onlySave is true, the plot is only saved and "not shown". However this only works on the webview target. And a webview window has to be opened, but will be closed automatically the moment the plot is saved.

+

If htmlPath is given the file is stored in the given path and name. Else a suitable name will be generated based on the current time.

+

htmlTemplate allows to overwrite the default HTML template.

+

If removeTempFile is true, the temporary file will be deleted after a short while (not recommended).

+

If autoResize is true, the shown plot will automatically resize according to the browser window size. This overrides any possible custom sizes for the plot. By default it is disabled for plots that should be saved.

+ + Source   +Edit   + +
+
+ +
+ +
+
+ +
+
+ + +
+
+ + + + + + diff --git a/plotly/plotly_display.idx b/plotly/plotly_display.idx new file mode 100644 index 0000000..1dcc99d --- /dev/null +++ b/plotly/plotly_display.idx @@ -0,0 +1,8 @@ +nimTitle plotly_display plotly/plotly_display.html module plotly/plotly_display 0 +nim hasThreadSupport plotly/plotly_display.html#hasThreadSupport const hasThreadSupport 19 +nim parseTraces plotly/plotly_display.html#parseTraces,seq[Trace[T]] proc parseTraces[T](traces: seq[Trace[T]]): string 82 +nim save plotly/plotly_display.html#save,SomePlot,string,string proc save(p: SomePlot; htmlPath = ""; htmlTemplate = defaultTmplString;\n filename = ""; autoResize = true): string 157 +nim show plotly/plotly_display.html#show,SomePlot,string,string,staticbool proc show(p: SomePlot; filename = ""; htmlPath = "";\n htmlTemplate = defaultTmplString; onlySave: static bool = false;\n removeTempFile = false; autoResize = true) 256 +nim saveImage plotly/plotly_display.html#saveImage,SomePlot,string,string proc saveImage(p: SomePlot; filename: string; htmlPath = "";\n htmlTemplate = defaultTmplString; removeTempFile = false;\n autoResize = false) 298 +nim show plotly/plotly_display.html#show,Grid,string,string proc show(grid: Grid; filename = ""; htmlPath = ""; htmlTemplate = defaultTmplString;\n removeTempFile = false; autoResize = true) 332 +nimgrp show plotly/plotly_display.html#show-procs-all proc 256 diff --git a/plotly/plotly_subplots.html b/plotly/plotly_subplots.html new file mode 100644 index 0000000..4306b7e --- /dev/null +++ b/plotly/plotly_subplots.html @@ -0,0 +1,301 @@ + + + + + + + +plotly/plotly_subplots + + + + + + + + + + + + +
+
+

plotly/plotly_subplots

+
+ +
+ Source   +Edit   + +
+ +

+ +
+

Types

+
+
+
Grid = object
+  layout*: Layout
+  numPlotsPerRow*: int
+
+ + + Source   +Edit   + +
+
+ +
+
+
+

Procs

+
+
+
+
proc `[]`(grid: Grid; coord: tuple[row, col: int]): PlotJson {....raises: [],
+    tags: [], forbids: [].}
+
+ + returns the plot at (row, column) coordinate coord. NOTE: the plot is returned as a PlotJson object, not as the Plot[T] originally put in! + Source   +Edit   + +
+
+
+
proc `[]`(grid: Grid; idx: int): PlotJson {....raises: [], tags: [], forbids: [].}
+
+ + returns the plot at index idx. NOTE: the plot is returned as a PlotJson object, not as the Plot[T] originally put in! + Source   +Edit   + +
+
+ +
+
+
+
proc `[]=`[T](grid: var Grid; coord: tuple[row, col: int]; plt: Plot[T])
+
+ + converts the given Plot[T] to a PlotJson and assigns to specified (row, column) coordinate of the grid. + Source   +Edit   + +
+
+
+
proc `[]=`[T](grid: var Grid; idx: int; plt: Plot[T])
+
+ + converts the given Plot[T] to a PlotJson and assigns to the given index. + Source   +Edit   + +
+
+ +
+
+
+
proc add[T](grid: var Grid; plt: Plot[T])
+
+ + add a new plot to the grid. Extends the number of plots stored in the Grid by one. NOTE: the given Plot[T] object is converted to a PlotJson object upon assignment! + Source   +Edit   + +
+
+ +
+
+
+
proc convertDomain(d: Domain | DomainAlt): Domain
+
+ + proc to get a Domain from either a Domain or DomainAlt tuple. That is a tuple of: left, bottom, right, top notation to: left, bottom, width, height + Source   +Edit   + +
+
+ +
+
+
+
proc createGrid(numPlots: int; numPlotsPerRow = 0; layout = Layout()): Grid {.
+    ...raises: [], tags: [], forbids: [].}
+
+ + creates a Grid object with numPlots to which one can assign plots at runtime. Optionally the number of desired plots per row of the grid may be given. If left empty, the grid will attempt to produce a square, resorting to more columns than rows if not possible. Optionally a base layout can be given for the grid. + Source   +Edit   + +
+
+
+
proc createGrid(size: tuple[rows, cols: int]; layout = Layout()): Grid {.
+    ...raises: [], tags: [], forbids: [].}
+
+ + creates a Grid object with rows x cols plots to which one can assign plots at runtime. Optionally a base layout can be given for the grid. + Source   +Edit   + +
+
+ +
+
+
+
proc toPlotJson(grid: Grid): PlotJson {....raises: [KeyError], tags: [],
+                                        forbids: [].}
+
+ + converts the Grid object to a PlotJson object ready to be plotted via the normal show procedure. + Source   +Edit   + +
+
+ +
+ +
+
+
+

Macros

+
+
+
+
macro subplots(stmts: untyped): untyped
+
+ + macro to create subplots from several Plot[T] objects the macro needs to contain the blocks baseLayout and one or more plot blocks. A plot block has the Plot[T] object in line 1, followed by the domain description of the subplot, i.e. the location within the whole canvas.

let plt1 = scatterPlot(x, y) # x, y some seqT let plt2 = scatterPlot(x2, y2) # x2, y2 some other seqT let layout = Layout(...) # some layout for the whole canvas let subplt = subplots: baseLayout: layout plot: plt1 left: 0.0 bottom: 0.0 width: 0.45 height: 1.0 # alternatively use right, top instead of width, height # single letters also supported, e.g. l == left plot: plt2 # or just write a concise tuple, here the (0.55, 0.0, 0.45, 1.0)

+

will create a subplot of plt1 on the left and plt2 on the right. This simply creates the following call to combine. let subplt = combine(layout, plt1.toPlotJson, plt2.toPlotJson, (left: 0.0, bottom: 0.0, width: 0.45, height: 1.0), (left: 0.55, bottom: 0.0, width: 0.45, height: 1.0))

+ + Source   +Edit   + +
+
+ +
+ +
+
+ +
+
+ + +
+
+ + + + + + diff --git a/plotly/plotly_subplots.idx b/plotly/plotly_subplots.idx new file mode 100644 index 0000000..c4ac28f --- /dev/null +++ b/plotly/plotly_subplots.idx @@ -0,0 +1,15 @@ +nimTitle plotly_subplots plotly/plotly_subplots.html module plotly/plotly_subplots 0 +nim Grid plotly/plotly_subplots.html#Grid object Grid 12 +nim convertDomain plotly/plotly_subplots.html#convertDomain proc convertDomain(d: Domain | DomainAlt): Domain 18 +nim subplots plotly/plotly_subplots.html#subplots.m,untyped macro subplots(stmts: untyped): untyped 251 +nim createGrid plotly/plotly_subplots.html#createGrid,int,int proc createGrid(numPlots: int; numPlotsPerRow = 0; layout = Layout()): Grid 335 +nim createGrid plotly/plotly_subplots.html#createGrid,tuple[int,int] proc createGrid(size: tuple[rows, cols: int]; layout = Layout()): Grid 345 +nim add plotly/plotly_subplots.html#add,Grid,Plot[T] proc add[T](grid: var Grid; plt: Plot[T]) 352 +nim `[]=` plotly/plotly_subplots.html#[]=,Grid,int,Plot[T] proc `[]=`[T](grid: var Grid; idx: int; plt: Plot[T]) 359 +nim `[]=` plotly/plotly_subplots.html#[]=,Grid,tuple[int,int],Plot[T] proc `[]=`[T](grid: var Grid; coord: tuple[row, col: int]; plt: Plot[T]) 367 +nim `[]` plotly/plotly_subplots.html#[],Grid,int proc `[]`(grid: Grid; idx: int): PlotJson 379 +nim `[]` plotly/plotly_subplots.html#[],Grid,tuple[int,int] proc `[]`(grid: Grid; coord: tuple[row, col: int]): PlotJson 385 +nim toPlotJson plotly/plotly_subplots.html#toPlotJson,Grid proc toPlotJson(grid: Grid): PlotJson 392 +nimgrp creategrid plotly/plotly_subplots.html#createGrid-procs-all proc 335 +nimgrp []= plotly/plotly_subplots.html#[]=-procs-all proc 359 +nimgrp [] plotly/plotly_subplots.html#[]-procs-all proc 379 diff --git a/plotly/plotly_sugar.html b/plotly/plotly_sugar.html new file mode 100644 index 0000000..ba321e5 --- /dev/null +++ b/plotly/plotly_sugar.html @@ -0,0 +1,882 @@ + + + + + + + +plotly/plotly_sugar + + + + + + + + + + + + +
+
+

plotly/plotly_sugar

+
+
+
+ + +
+ +
+ Search: +
+
+ Group by: + +
+ + +
+
+ Source   +Edit   + +
+ +

+ +
+

Procs

+
+
+
+
proc addTrace[T](plt: Plot[T]; t: Trace[T]): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc backgroundColor[T](plt: Plot[T]; color: Color): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc binRange[T](plt: Plot[T]; start, stop: float; idx = 0): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc binSize[T](plt: Plot[T]; size: float; idx = 0): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc colormap[T; U: AllowedColorMap](plt: Plot[T]; colormap: U; idx = 0): Plot[T]
+
+ + assigns the given colormap to the trace of index idx A colormap can be given as one of the following:
  • ColorMap: enum
  • +
  • PredefinedCustomMaps: enum
  • +
  • CustomColorMap: ref object
  • +
  • colormapData: seq[tuple[r, g, b: float64]]
  • +
+ + Source   +Edit   + +
+
+ +
+
+
+
proc gridColor[T](plt: Plot[T]; color: Color): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc gridColorX[T](plt: Plot[T]; color: Color): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc gridColorY[T](plt: Plot[T]; color: Color): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc gridWidth[T](plt: Plot[T]; width: int): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc gridWidthX[T](plt: Plot[T]; width: int): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc gridWidthY[T](plt: Plot[T]; width: int): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc heatmapTrace[T](z: seq[seq[T]]): Trace[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc height[T, U: SomeNumber](plt: Plot[T]; height: U): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc histTrace[T](hist: seq[T]): Trace[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc legend[T](plt: Plot[T]; legend: Legend): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc legendBgColor[T](plt: Plot[T]; color: Color): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc legendBorderColor[T](plt: Plot[T]; color: Color): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc legendBorderWidth[T](plt: Plot[T]; width: int): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc legendLocation[T](plt: Plot[T]; x, y: float): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc legendOrientation[T](plt: Plot[T]; orientation: Orientation): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc lineWidth[T](plt: Plot[T]; val: SomeNumber; idx = 0): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc markerColor[T](plt: Plot[T]; colors: seq[Color] | seq[T] = @[];
+                    map: ColorMap = ColorMap.None; idx = 0): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc markerSize[T](plt: Plot[T]; val: SomeNumber; idx = 0): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc markerSizes[T](plt: Plot[T]; sizes: seq[T]; idx = 0): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc mode[T](plt: Plot[T]; m: PlotMode; idx = 0): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc name[T](plt: Plot[T]; name: string; idx = 0): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc nbins[T](plt: Plot[T]; nbins: int; idx = 0): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc newPlot(xlabel = ""; ylabel = ""; title = ""): Plot[float64] {....raises: [],
+    tags: [], forbids: [].}
+
+ + create a plot with sane default layout. + Source   +Edit   + +
+
+ +
+
+
+
proc paperColor[T](plt: Plot[T]; color: Color): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc roundOrIdent[T: SomeNumber](x: T): T
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc scatterTrace[T, U](x: seq[T]; y: seq[U]): Trace[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc text[T; U: string | seq[string]](plt: Plot[T]; val: U; idx = 0): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc title[T](plt: Plot[T]; t: string): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc width[T, U: SomeNumber](plt: Plot[T]; width: U): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc xlabel[T](plt: Plot[T]; label: string): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc ylabel[T](plt: Plot[T]; label: string): Plot[T]
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
proc zmax[T](plt: Plot[T]; val: float; idx = 0): Plot[T]
+
+ + Allows to set the maximum value of the colormap for a heatmap for trace of index idx + Source   +Edit   + +
+
+ +
+
+
+
proc zmin[T](plt: Plot[T]; val: float; idx = 0): Plot[T]
+
+ + Allows to set the minimum value of the colormap for a heatmap for trace of index idx + Source   +Edit   + +
+
+ +
+ +
+
+
+

Templates

+
+
+
+
template barPlot(x, y: untyped): untyped
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
template heatmap(x, y, z: untyped): untyped
+
+ + + Source   +Edit   + +
+
+
+
template heatmap[T](z: seq[seq[T]]): untyped
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
template histPlot(hist: untyped): untyped
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
template pltLabel(plt: untyped; axis: untyped; label: string): untyped
+
+ + + Source   +Edit   + +
+
+ +
+
+
+
template scatterColor(x, y, z: untyped): untyped
+
+ + adds a color dimension to the scatter plot in addition + Source   +Edit   + +
+
+ +
+
+
+
template scatterPlot(x, y: untyped): untyped
+
+ + + Source   +Edit   + +
+
+ +
+ +
+
+ +
+
+ + +
+
+ + + + + + diff --git a/plotly/plotly_sugar.idx b/plotly/plotly_sugar.idx new file mode 100644 index 0000000..b60cbf1 --- /dev/null +++ b/plotly/plotly_sugar.idx @@ -0,0 +1,47 @@ +nimTitle plotly_sugar plotly/plotly_sugar.html module plotly/plotly_sugar 0 +nim newPlot plotly/plotly_sugar.html#newPlot,string,string,string proc newPlot(xlabel = ""; ylabel = ""; title = ""): Plot[float64] 6 +nim roundOrIdent plotly/plotly_sugar.html#roundOrIdent,T proc roundOrIdent[T: SomeNumber](x: T): T 15 +nim barPlot plotly/plotly_sugar.html#barPlot.t,untyped,untyped template barPlot(x, y: untyped): untyped 21 +nim histTrace plotly/plotly_sugar.html#histTrace,seq[T] proc histTrace[T](hist: seq[T]): Trace[T] 44 +nim histPlot plotly/plotly_sugar.html#histPlot.t,untyped template histPlot(hist: untyped): untyped 49 +nim heatmap plotly/plotly_sugar.html#heatmap.t,untyped,untyped,untyped template heatmap(x, y, z: untyped): untyped 61 +nim heatmapTrace plotly/plotly_sugar.html#heatmapTrace,seq[seq[T]] proc heatmapTrace[T](z: seq[seq[T]]): Trace[T] 84 +nim heatmap plotly/plotly_sugar.html#heatmap.t,seq[seq[T]] template heatmap[T](z: seq[seq[T]]): untyped 90 +nim scatterTrace plotly/plotly_sugar.html#scatterTrace,seq[T],seq[U] proc scatterTrace[T, U](x: seq[T]; y: seq[U]): Trace[T] 105 +nim scatterPlot plotly/plotly_sugar.html#scatterPlot.t,untyped,untyped template scatterPlot(x, y: untyped): untyped 116 +nim scatterColor plotly/plotly_sugar.html#scatterColor.t,untyped,untyped,untyped template scatterColor(x, y, z: untyped): untyped 128 +nim addTrace plotly/plotly_sugar.html#addTrace,Plot[T],Trace[T] proc addTrace[T](plt: Plot[T]; t: Trace[T]): Plot[T] 142 +nim title plotly/plotly_sugar.html#title,Plot[T],string proc title[T](plt: Plot[T]; t: string): Plot[T] 146 +nim width plotly/plotly_sugar.html#width,Plot[T: SomeNumber],U proc width[T, U: SomeNumber](plt: Plot[T]; width: U): Plot[T] 150 +nim height plotly/plotly_sugar.html#height,Plot[T: SomeNumber],U proc height[T, U: SomeNumber](plt: Plot[T]; height: U): Plot[T] 154 +nim text plotly/plotly_sugar.html#text,Plot[T],U,int proc text[T; U: string | seq[string]](plt: Plot[T]; val: U; idx = 0): Plot[T] 158 +nim markerSize plotly/plotly_sugar.html#markerSize,Plot[T],SomeNumber,int proc markerSize[T](plt: Plot[T]; val: SomeNumber; idx = 0): Plot[T] 167 +nim markerSizes plotly/plotly_sugar.html#markerSizes,Plot[T],seq[T],int proc markerSizes[T](plt: Plot[T]; sizes: seq[T]; idx = 0): Plot[T] 175 +nim markerColor plotly/plotly_sugar.html#markerColor,Plot[T],ColorMap,int proc markerColor[T](plt: Plot[T]; colors: seq[Color] | seq[T] = @[];\n map: ColorMap = ColorMap.None; idx = 0): Plot[T] 183 +nim mode plotly/plotly_sugar.html#mode,Plot[T],PlotMode,int proc mode[T](plt: Plot[T]; m: PlotMode; idx = 0): Plot[T] 198 +nim lineWidth plotly/plotly_sugar.html#lineWidth,Plot[T],SomeNumber,int proc lineWidth[T](plt: Plot[T]; val: SomeNumber; idx = 0): Plot[T] 202 +nim pltLabel plotly/plotly_sugar.html#pltLabel.t,untyped,untyped,string template pltLabel(plt: untyped; axis: untyped; label: string): untyped 207 +nim xlabel plotly/plotly_sugar.html#xlabel,Plot[T],string proc xlabel[T](plt: Plot[T]; label: string): Plot[T] 214 +nim ylabel plotly/plotly_sugar.html#ylabel,Plot[T],string proc ylabel[T](plt: Plot[T]; label: string): Plot[T] 218 +nim name plotly/plotly_sugar.html#name,Plot[T],string,int proc name[T](plt: Plot[T]; name: string; idx = 0): Plot[T] 222 +nim nbins plotly/plotly_sugar.html#nbins,Plot[T],int,int proc nbins[T](plt: Plot[T]; nbins: int; idx = 0): Plot[T] 226 +nim binSize plotly/plotly_sugar.html#binSize,Plot[T],float,int proc binSize[T](plt: Plot[T]; size: float; idx = 0): Plot[T] 231 +nim binRange plotly/plotly_sugar.html#binRange,Plot[T],float,float,int proc binRange[T](plt: Plot[T]; start, stop: float; idx = 0): Plot[T] 236 +nim legend plotly/plotly_sugar.html#legend,Plot[T],Legend proc legend[T](plt: Plot[T]; legend: Legend): Plot[T] 241 +nim legendLocation plotly/plotly_sugar.html#legendLocation,Plot[T],float,float proc legendLocation[T](plt: Plot[T]; x, y: float): Plot[T] 246 +nim legendBgColor plotly/plotly_sugar.html#legendBgColor,Plot[T],Color proc legendBgColor[T](plt: Plot[T]; color: Color): Plot[T] 253 +nim legendBorderColor plotly/plotly_sugar.html#legendBorderColor,Plot[T],Color proc legendBorderColor[T](plt: Plot[T]; color: Color): Plot[T] 259 +nim legendBorderWidth plotly/plotly_sugar.html#legendBorderWidth,Plot[T],int proc legendBorderWidth[T](plt: Plot[T]; width: int): Plot[T] 265 +nim legendOrientation plotly/plotly_sugar.html#legendOrientation,Plot[T],Orientation proc legendOrientation[T](plt: Plot[T]; orientation: Orientation): Plot[T] 271 +nim gridWidthX plotly/plotly_sugar.html#gridWidthX,Plot[T],int proc gridWidthX[T](plt: Plot[T]; width: int): Plot[T] 277 +nim gridWidthY plotly/plotly_sugar.html#gridWidthY,Plot[T],int proc gridWidthY[T](plt: Plot[T]; width: int): Plot[T] 283 +nim gridWidth plotly/plotly_sugar.html#gridWidth,Plot[T],int proc gridWidth[T](plt: Plot[T]; width: int): Plot[T] 289 +nim gridColorX plotly/plotly_sugar.html#gridColorX,Plot[T],Color proc gridColorX[T](plt: Plot[T]; color: Color): Plot[T] 292 +nim gridColorY plotly/plotly_sugar.html#gridColorY,Plot[T],Color proc gridColorY[T](plt: Plot[T]; color: Color): Plot[T] 298 +nim gridColor plotly/plotly_sugar.html#gridColor,Plot[T],Color proc gridColor[T](plt: Plot[T]; color: Color): Plot[T] 304 +nim backgroundColor plotly/plotly_sugar.html#backgroundColor,Plot[T],Color proc backgroundColor[T](plt: Plot[T]; color: Color): Plot[T] 307 +nim paperColor plotly/plotly_sugar.html#paperColor,Plot[T],Color proc paperColor[T](plt: Plot[T]; color: Color): Plot[T] 311 +nim colormap plotly/plotly_sugar.html#colormap,Plot[T],U,int proc colormap[T; U: AllowedColorMap](plt: Plot[T]; colormap: U; idx = 0): Plot[T] 318 +nim zmin plotly/plotly_sugar.html#zmin,Plot[T],float,int proc zmin[T](plt: Plot[T]; val: float; idx = 0): Plot[T] 349 +nim zmax plotly/plotly_sugar.html#zmax,Plot[T],float,int proc zmax[T](plt: Plot[T]; val: float; idx = 0): Plot[T] 356 +nimgrp heatmap plotly/plotly_sugar.html#heatmap-templates-all template 61 diff --git a/plotly/plotly_types.html b/plotly/plotly_types.html new file mode 100644 index 0000000..26d1a98 --- /dev/null +++ b/plotly/plotly_types.html @@ -0,0 +1,704 @@ + + + + + + + +plotly/plotly_types + + + + + + + + + + + + +
+
+

plotly/plotly_types

+
+
+
+ + +
+ +
+ Search: +
+
+ Group by: + +
+ + +
+
+ Source   +Edit   + +
+ +

+
+

Types

+
+
+
Annotation = ref object
+  x*: float
+  xshift*: float
+  y*: float
+  yshift*: float
+  text*: string
+  showarrow*: bool
+
+ + + Source   +Edit   + +
+
+
+
Axis = ref object
+  title*: string
+  font*: Font
+  domain*: seq[float64]
+  side*: PlotSide
+  rangeslider*: RangeSlider
+  range*: tuple[start, stop: float]
+  hideticklabels*: bool
+  gridColor*: Color
+  gridWidth*: int
+  ty*: AxisType
+
+ + + Source   +Edit   + +
+
+
+
AxisType {.pure.} = enum
+  Default = "-", Log = "log"
+
+ + + Source   +Edit   + +
+
+
+
BarAlign {.pure.} = enum
+  None, Edge, Center
+
+ + + Source   +Edit   + +
+
+
+
BarMode {.pure.} = enum
+  Unset = "", Stack = "stack", Overlay = "overlay"
+
+ + + Source   +Edit   + +
+
+
+
ColorMap {.pure.} = enum
+  None = "", Custom = "Custom", Greys = "Greys", YlGnBu = "YlGnBu",
+  Greens = "Greens", YlOrRd = "YlOrRd", Bluered = "Bluered", RdBu = "RdBu",
+  Reds = "Reds", Blues = "Blues", Picnic = "Picnic", Rainbow = "Rainbow",
+  Portland = "Portland", Jet = "Jet", Hot = "Hot", Blackbody = "Blackbody",
+  Earth = "Earth", Electric = "Electric", Viridis = "Viridis",
+  Cividis = "Cividis"
+
+ + + Source   +Edit   + +
+
+
+
CustomColorMap = ref object
+  rawColors*: seq[tuple[r, g, b: float64]]
+  name*: string
+
+ + + Source   +Edit   + +
+
+
+
Domain = tuple[left, bottom, width, height: float]
+
+ + + Source   +Edit   + +
+
+
+
DomainAlt = tuple[left, bottom, right, top: float]
+
+ + + Source   +Edit   + +
+
+
+
ErrorBar[T] = ref object
+  visible*: bool
+  color*: Color
+  thickness*: float
+  width*: float
+  case kind*: ErrorBarKind
+  of ebkConstantSym:
+    value*: T
+  of ebkConstantAsym:
+    valueMinus*: T
+    valuePlus*: T
+  of ebkPercentSym:
+    percent*: T
+  of ebkPercentAsym:
+    percentMinus*: T
+    percentPlus*: T
+  of ebkSqrt:
+    nil
+  of ebkArraySym:
+    errors*: seq[T]
+  of ebkArrayAsym:
+    errorsMinus*: seq[T]
+    errorsPlus*: seq[T]
+
+ + + Source   +Edit   + +
+
+
+
ErrorBarKind = enum
+  ebkConstantSym, ebkConstantAsym, ebkPercentSym, ebkPercentAsym, ebkSqrt,
+  ebkArraySym, ebkArrayAsym
+
+ + + Source   +Edit   + +
+
+
+
Font = ref object
+  family*: string
+  size*: int
+  color*: Color
+
+ + + Source   +Edit   + +
+
+
+
HistFunc {.pure.} = enum
+  Count = "count", Sum = "sum", Avg = "avg", Min = "min", Max = "max"
+
+ + + Source   +Edit   + +
+
+
+
HistNorm {.pure.} = enum
+  None = "", Percent = "percent", Probability = "probability",
+  Density = "density", ProbabilityDensity = "probability density"
+
+ + + Source   +Edit   + +
+
+
+
HoverMode {.pure.} = enum
+  Closest = "closest", X = "x", Y = "y", False = "false"
+
+ + + Source   +Edit   + +
+
+
+
Layout = ref object
+  title*: string
+  width*: int
+  height*: int
+  hovermode*: HoverMode
+  annotations*: seq[Annotation]
+  autosize*: bool
+  showlegend*: bool
+  legend*: Legend
+  font*: Font
+  xaxis*: Axis
+  yaxis*: Axis
+  yaxis2*: Axis
+  barmode*: BarMode
+  backgroundColor*: Color
+  paperColor*: Color
+
+ + + Source   +Edit   + +
+
+
+
Legend = ref object
+  x*: float
+  y*: float
+  font*: Font
+  backgroundColor*: Color
+  borderColor*: Color
+  borderWidth*: int
+  orientation*: Orientation
+
+ + + Source   +Edit   + +
+
+
+
Marker[T] = ref object
+  size*: seq[T]
+  color*: seq[Color]
+  colorVals*: seq[T]
+  colormap*: ColorMap
+  customColormap*: CustomColorMap
+
+ + + Source   +Edit   + +
+
+
+
Orientation {.pure.} = enum
+  None = "", Vertical = "v", Horizontal = "h"
+
+ + + Source   +Edit   + +
+
+
+
Plot[T] = ref object
+  traces*: seq[Trace[T]]
+  layout*: Layout
+
+ + + Source   +Edit   + +
+
+
+
PlotFill {.pure.} = enum
+  Unset = "", ToNextY = "tonexty", ToZeroY = "tozeroy", ToSelf = "toself"
+
+ + + Source   +Edit   + +
+
+
+
PlotJson = ref object
+  traces*: JsonNode
+  layout*: JsonNode
+
+ + + Source   +Edit   + +
+
+
+
PlotMode {.pure.} = enum
+  Lines = "lines", Markers = "markers", LinesMarkers = "lines+markers"
+
+ + + Source   +Edit   + +
+
+
+
PlotSide {.pure.} = enum
+  Unset = "", Left = "left", Right = "right"
+
+ + + Source   +Edit   + +
+
+
+
PlotType {.pure.} = enum
+  Scatter = "scatter", ScatterGL = "scattergl", Bar = "bar",
+  Histogram = "histogram", Box = "box", HeatMap = "heatmap",
+  HeatMapGL = "heatmapgl", Candlestick = "candlestick", Contour = "contour"
+
+ + + Source   +Edit   + +
+
+
+
PredefinedCustomMaps = enum
+  Other, ViridisZeroWhite, Plasma, PlasmaZeroWhite, Magma, MagmaZeroWhite,
+  Inferno, InfernoZeroWhite, WhiteToBlack
+
+ + + Source   +Edit   + +
+
+
+
RangeSlider = ref object
+  visible*: bool
+
+ + + Source   +Edit   + +
+
+
+
SomePlot = Plot | PlotJson
+
+ + + Source   +Edit   + +
+
+
+
Trace[T] = ref object
+  xs*: seq[T]
+  ys*: seq[T]
+  zs*: seq[seq[T]]
+  xs_err*: ErrorBar[T]
+  ys_err*: ErrorBar[T]
+  marker*: Marker[T]
+  text*: seq[string]
+  opacity*: float
+  mode*: PlotMode
+  fill*: PlotFill
+  name*: string
+  xaxis*: string
+  yaxis*: string
+  case
+  of HeatMap, HeatMapGL:
+    colormap*: ColorMap
+    customColormap*: CustomColorMap
+    zmin*: float
+    zmax*: float
+  of Contour:
+    colorscale*: ColorMap
+    customColorscale*: CustomColorMap
+    contours*: tuple[start, stop, size: float]
+    heatmap*: bool
+    smoothing*: float
+  of Candlestick:
+    open*: seq[T]
+    high*: seq[T]
+    low*: seq[T]
+    close*: seq[T]
+  of Histogram:
+    histFunc*: HistFunc
+    histNorm*: HistNorm
+    cumulative*: bool
+    nBins*: int
+    bins*: tuple[start, stop: float]
+    binSize*: float
+  of Bar:
+    width*: T
+    widths*: seq[T]
+    autoWidth*: bool
+    align*: BarAlign
+    orientation*: Orientation
+  of Scatter, ScatterGL:
+    lineWidth*: int
+    hideLine*: bool
+  else:
+    nil
+
+ + + Source   +Edit   + +
+
+ +
+
+ +
+
+ + +
+
+ + + + + + diff --git a/plotly/plotly_types.idx b/plotly/plotly_types.idx new file mode 100644 index 0000000..853b12e --- /dev/null +++ b/plotly/plotly_types.idx @@ -0,0 +1,46 @@ +nimTitle plotly_types plotly/plotly_types.html module plotly/plotly_types 0 +nim Plot plotly/plotly_types.html#Plot type Plot 6 +nim PlotJson plotly/plotly_types.html#PlotJson type PlotJson 10 +nim SomePlot plotly/plotly_types.html#SomePlot type SomePlot 14 +nim PlotType plotly/plotly_types.html#PlotType enum PlotType 16 +nim HistFunc plotly/plotly_types.html#HistFunc enum HistFunc 27 +nim HistNorm plotly/plotly_types.html#HistNorm enum HistNorm 35 +nim PlotFill plotly/plotly_types.html#PlotFill enum PlotFill 42 +nim PlotMode plotly/plotly_types.html#PlotMode enum PlotMode 48 +nim BarMode plotly/plotly_types.html#BarMode enum BarMode 53 +nim BarAlign plotly/plotly_types.html#BarAlign enum BarAlign 58 +nim Orientation plotly/plotly_types.html#Orientation enum Orientation 63 +nim HoverMode plotly/plotly_types.html#HoverMode enum HoverMode 68 +nim PlotSide plotly/plotly_types.html#PlotSide enum PlotSide 74 +nim ColorMap plotly/plotly_types.html#ColorMap enum ColorMap 79 +nim Other plotly/plotly_types.html#Other PredefinedCustomMaps.Other 101 +nim ViridisZeroWhite plotly/plotly_types.html#ViridisZeroWhite PredefinedCustomMaps.ViridisZeroWhite 101 +nim Plasma plotly/plotly_types.html#Plasma PredefinedCustomMaps.Plasma 101 +nim PlasmaZeroWhite plotly/plotly_types.html#PlasmaZeroWhite PredefinedCustomMaps.PlasmaZeroWhite 101 +nim Magma plotly/plotly_types.html#Magma PredefinedCustomMaps.Magma 101 +nim MagmaZeroWhite plotly/plotly_types.html#MagmaZeroWhite PredefinedCustomMaps.MagmaZeroWhite 101 +nim Inferno plotly/plotly_types.html#Inferno PredefinedCustomMaps.Inferno 101 +nim InfernoZeroWhite plotly/plotly_types.html#InfernoZeroWhite PredefinedCustomMaps.InfernoZeroWhite 101 +nim WhiteToBlack plotly/plotly_types.html#WhiteToBlack PredefinedCustomMaps.WhiteToBlack 101 +nim PredefinedCustomMaps plotly/plotly_types.html#PredefinedCustomMaps enum PredefinedCustomMaps 101 +nim CustomColorMap plotly/plotly_types.html#CustomColorMap type CustomColorMap 109 +nim AxisType plotly/plotly_types.html#AxisType enum AxisType 115 +nim ebkConstantSym plotly/plotly_types.html#ebkConstantSym ErrorBarKind.ebkConstantSym 119 +nim ebkConstantAsym plotly/plotly_types.html#ebkConstantAsym ErrorBarKind.ebkConstantAsym 119 +nim ebkPercentSym plotly/plotly_types.html#ebkPercentSym ErrorBarKind.ebkPercentSym 119 +nim ebkPercentAsym plotly/plotly_types.html#ebkPercentAsym ErrorBarKind.ebkPercentAsym 119 +nim ebkSqrt plotly/plotly_types.html#ebkSqrt ErrorBarKind.ebkSqrt 119 +nim ebkArraySym plotly/plotly_types.html#ebkArraySym ErrorBarKind.ebkArraySym 119 +nim ebkArrayAsym plotly/plotly_types.html#ebkArrayAsym ErrorBarKind.ebkArrayAsym 119 +nim ErrorBarKind plotly/plotly_types.html#ErrorBarKind enum ErrorBarKind 119 +nim ErrorBar plotly/plotly_types.html#ErrorBar type ErrorBar 128 +nim Marker plotly/plotly_types.html#Marker type Marker 154 +nim Trace plotly/plotly_types.html#Trace type Trace 163 +nim Font plotly/plotly_types.html#Font type Font 227 +nim RangeSlider plotly/plotly_types.html#RangeSlider type RangeSlider 232 +nim Domain plotly/plotly_types.html#Domain tuple Domain 237 +nim DomainAlt plotly/plotly_types.html#DomainAlt tuple DomainAlt 241 +nim Axis plotly/plotly_types.html#Axis type Axis 244 +nim Annotation plotly/plotly_types.html#Annotation type Annotation 258 +nim Legend plotly/plotly_types.html#Legend type Legend 266 +nim Layout plotly/plotly_types.html#Layout type Layout 276 diff --git a/plotly/predefined_colormaps.html b/plotly/predefined_colormaps.html new file mode 100644 index 0000000..9352bab --- /dev/null +++ b/plotly/predefined_colormaps.html @@ -0,0 +1,2175 @@ + + + + + + + +plotly/predefined_colormaps + + + + + + + + + + + + +
+
+

plotly/predefined_colormaps

+
+
+
+ + +
+ +
+ Search: +
+
+ Group by: + +
+ + +
+
+ Source   +Edit   + +
+ +

+
+

Lets

+
+
+
InfernoRaw = @[(r: 0.00146159096, g: 0.000466127766, b: 0.01386552),
+               (r: 0.00226726368, g: 0.00126992553, b: 0.018570352),
+               (r: 0.00329899092, g: 0.00224934863, b: 0.0242390508),
+               (r: 0.00454690615, g: 0.00339180156, b: 0.0309092475),
+               (r: 0.00600552565, g: 0.00469194561, b: 0.038557898),
+               (r: 0.00767578856, g: 0.00613611626, b: 0.0468360336),
+               (r: 0.00956051094, g: 0.00771344131, b: 0.0551430756),
+               (r: 0.0116634769, g: 0.00941675403, b: 0.063459808),
+               (r: 0.0139950388, g: 0.0112247138, b: 0.071861689),
+               (r: 0.0165605595, g: 0.0131362262, b: 0.0802817951),
+               (r: 0.0193732295, g: 0.0151325789, b: 0.0887668094),
+               (r: 0.0224468865, g: 0.0171991484, b: 0.0973274383),
+               (r: 0.0257927373, g: 0.0193306298, b: 0.105929835),
+               (r: 0.0294324251, g: 0.0215030771, b: 0.114621328),
+               (r: 0.0333852235, g: 0.0237024271, b: 0.123397286),
+               (r: 0.0376684211, g: 0.0259207864, b: 0.132232108),
+               (r: 0.0422525554, g: 0.0281385015, b: 0.141140519),
+               (r: 0.0469146287, g: 0.0303236129, b: 0.150163867),
+               (r: 0.0516437624, g: 0.0324736172, b: 0.159254277),
+               (r: 0.0564491009, g: 0.0345691867, b: 0.168413539),
+               (r: 0.06133972, g: 0.0365900213, b: 0.177642172),
+               (r: 0.066331262, g: 0.0385036268, b: 0.186961588),
+               (r: 0.0714289181, g: 0.0402939095, b: 0.196353558),
+               (r: 0.076636756, g: 0.0419053329, b: 0.205798788),
+               (r: 0.0819620773, g: 0.0433278666, b: 0.215289113),
+               (r: 0.0874113897, g: 0.0445561662, b: 0.224813479),
+               (r: 0.0929901526, g: 0.0455829503, b: 0.234357604),
+               (r: 0.0987024972, g: 0.0464018731, b: 0.2439037),
+               (r: 0.104550936, g: 0.0470080541, b: 0.2534303),
+               (r: 0.110536084, g: 0.0473986708, b: 0.262912235),
+               (r: 0.116656423, g: 0.047573592, b: 0.272320803),
+               (r: 0.122908126, g: 0.0475360183, b: 0.28162417),
+               (r: 0.129284984, g: 0.0472930838, b: 0.290788012),
+               (r: 0.13577845, g: 0.0468563678, b: 0.299776404),
+               (r: 0.142377819, g: 0.0462422566, b: 0.30855291),
+               (r: 0.149072957, g: 0.0454676444, b: 0.317085139),
+               (r: 0.155849711, g: 0.0445588056, b: 0.325338414),
+               (r: 0.162688939, g: 0.0435542881, b: 0.333276678),
+               (r: 0.169575148, g: 0.0424893149, b: 0.340874188),
+               (r: 0.176493202, g: 0.0414017089, b: 0.348110606),
+               (r: 0.183428775, g: 0.0403288858, b: 0.354971391),
+               (r: 0.190367453, g: 0.0393088888, b: 0.361446945),
+               (r: 0.197297425, g: 0.0384001825, b: 0.367534629),
+               (r: 0.204209298, g: 0.0376322609, b: 0.373237557),
+               (r: 0.211095463, g: 0.0370296488, b: 0.378563264),
+               (r: 0.217948648, g: 0.0366146049, b: 0.383522415),
+               (r: 0.224762908, g: 0.0364049901, b: 0.388128944),
+               (r: 0.231538148, g: 0.0364052511, b: 0.39240015),
+               (r: 0.238272961, g: 0.0366209949, b: 0.396353388),
+               (r: 0.244966911, g: 0.0370545017, b: 0.400006615),
+               (r: 0.251620354, g: 0.0377052832, b: 0.403377897),
+               (r: 0.258234265, g: 0.0385706153, b: 0.406485031),
+               (r: 0.264809649, g: 0.0396468666, b: 0.409345373),
+               (r: 0.271346664, g: 0.0409215821, b: 0.411976086),
+               (r: 0.277849829, g: 0.0423528741, b: 0.414392106),
+               (r: 0.284321318, g: 0.0439325787, b: 0.416607861),
+               (r: 0.290763373, g: 0.0456437598, b: 0.418636756),
+               (r: 0.297178251, g: 0.0474700293, b: 0.420491164),
+               (r: 0.303568182, g: 0.0493958927, b: 0.422182449),
+               (r: 0.309935342, g: 0.0514069729, b: 0.423720999),
+               (r: 0.316281835, g: 0.0534901321, b: 0.425116277),
+               (r: 0.322609671, g: 0.0556335178, b: 0.426376869),
+               (r: 0.328920763, g: 0.0578265505, b: 0.427510546),
+               (r: 0.335216916, g: 0.0600598734, b: 0.42852432),
+               (r: 0.341499828, g: 0.0623252772, b: 0.429424503),
+               (r: 0.347771086, g: 0.06461561, b: 0.430216765),
+               (r: 0.354032169, g: 0.0669246832, b: 0.430906186),
+               (r: 0.360284449, g: 0.0692471753, b: 0.431497309),
+               (r: 0.366529195, g: 0.0715785403, b: 0.431994185),
+               (r: 0.372767575, g: 0.0739149211, b: 0.432400419),
+               (r: 0.379000659, g: 0.0762530701, b: 0.432719214),
+               (r: 0.385228383, g: 0.0785914864, b: 0.432954973),
+               (r: 0.391452659, g: 0.0809267058, b: 0.433108763),
+               (r: 0.397674379, g: 0.0832568129, b: 0.433182647),
+               (r: 0.403894278, g: 0.0855803445, b: 0.433178526),
+               (r: 0.410113015, g: 0.0878961593, b: 0.433098056),
+               (r: 0.416331169, g: 0.0902033992, b: 0.432942678),
+               (r: 0.422549249, g: 0.0925014543, b: 0.432713635),
+               (r: 0.428767696, g: 0.0947899342, b: 0.432411996),
+               (r: 0.434986885, g: 0.0970686417, b: 0.432038673),
+               (r: 0.441207124, g: 0.099337551, b: 0.431594438),
+               (r: 0.447428382, g: 0.101597079, b: 0.431080497),
+               (r: 0.453650614, g: 0.103847716, b: 0.430497898),
+               (r: 0.459874623, g: 0.106089165, b: 0.429845789),
+               (r: 0.466100494, g: 0.108321923, b: 0.429124507),
+               (r: 0.472328255, g: 0.110546584, b: 0.42833432),
+               (r: 0.478557889, g: 0.112763831, b: 0.427475431),
+               (r: 0.484789325, g: 0.11497443, b: 0.426547991),
+               (r: 0.491022448, g: 0.117179219, b: 0.425552106),
+               (r: 0.497257069, g: 0.119379132, b: 0.424487908),
+               (r: 0.503492698, g: 0.121575414, b: 0.42335611),
+               (r: 0.509729541, g: 0.123768654, b: 0.422155676),
+               (r: 0.515967304, g: 0.125959947, b: 0.420886594),
+               (r: 0.522205646, g: 0.128150439, b: 0.419548848),
+               (r: 0.528444192, g: 0.130341324, b: 0.418142411),
+               (r: 0.534682523, g: 0.132533845, b: 0.416667258),
+               (r: 0.540920186, g: 0.134729286, b: 0.415123366),
+               (r: 0.547156706, g: 0.136928959, b: 0.413510662),
+               (r: 0.553391649, g: 0.139134147, b: 0.411828882),
+               (r: 0.559624442, g: 0.141346265, b: 0.410078028),
+               (r: 0.565854477, g: 0.143566769, b: 0.408258132),
+               (r: 0.572081108, g: 0.14579715, b: 0.406369246),
+               (r: 0.578303656, g: 0.148038934, b: 0.404411444),
+               (r: 0.584521407, g: 0.150293679, b: 0.402384829),
+               (r: 0.590733615, g: 0.152562977, b: 0.400289528),
+               (r: 0.596939751, g: 0.154848232, b: 0.398124897),
+               (r: 0.60313893, g: 0.157151161, b: 0.395891308),
+               (r: 0.609330184, g: 0.159473549, b: 0.393589349),
+               (r: 0.615512627, g: 0.161817111, b: 0.391219295),
+               (r: 0.62168534, g: 0.164183582, b: 0.388781456),
+               (r: 0.627847374, g: 0.166574724, b: 0.38627618),
+               (r: 0.633997746, g: 0.168992314, b: 0.383703854),
+               (r: 0.640135447, g: 0.17143815, b: 0.381064906),
+               (r: 0.646259648, g: 0.173913876, b: 0.378358969),
+               (r: 0.652369348, g: 0.176421271, b: 0.375586209),
+               (r: 0.658463166, g: 0.178962399, b: 0.372748214),
+               (r: 0.664539964, g: 0.181539111, b: 0.369845599),
+               (r: 0.670598572, g: 0.184153268, b: 0.366879025),
+               (r: 0.676637795, g: 0.186806728, b: 0.363849195),
+               (r: 0.682656407, g: 0.189501352, b: 0.360756856),
+               (r: 0.688653158, g: 0.192238994, b: 0.357602797),
+               (r: 0.694626769, g: 0.1950215, b: 0.354387853),
+               (r: 0.700575937, g: 0.197850703, b: 0.3511129),
+               (r: 0.706499709, g: 0.200728196, b: 0.347776863),
+               (r: 0.712396345, g: 0.203656029, b: 0.344382594),
+               (r: 0.718264447, g: 0.206635993, b: 0.340931208),
+               (r: 0.724102613, g: 0.209669834, b: 0.337423766),
+               (r: 0.729909422, g: 0.21275927, b: 0.333861367),
+               (r: 0.735683432, g: 0.215905976, b: 0.330245147),
+               (r: 0.741423185, g: 0.219111589, b: 0.326576275),
+               (r: 0.747127207, g: 0.222377697, b: 0.322855952),
+               (r: 0.752794009, g: 0.225705837, b: 0.31908541),
+               (r: 0.75842209, g: 0.229097492, b: 0.31526591),
+               (r: 0.76400994, g: 0.232554083, b: 0.311398734),
+               (r: 0.769556038, g: 0.236076967, b: 0.307485188),
+               (r: 0.775058888, g: 0.239667435, b: 0.303526312),
+               (r: 0.780517023, g: 0.24332672, b: 0.299522665),
+               (r: 0.785928794, g: 0.247055968, b: 0.295476756),
+               (r: 0.791292674, g: 0.250856232, b: 0.291389943),
+               (r: 0.796607144, g: 0.254728485, b: 0.287263585),
+               (r: 0.801870689, g: 0.25867361, b: 0.283099033),
+               (r: 0.807081807, g: 0.262692401, b: 0.278897629),
+               (r: 0.812239008, g: 0.266785558, b: 0.274660698),
+               (r: 0.817340818, g: 0.270953688, b: 0.270389545),
+               (r: 0.822385784, g: 0.2751973, b: 0.266085445),
+               (r: 0.827372474, g: 0.279516805, b: 0.261749643),
+               (r: 0.832299481, g: 0.283912516, b: 0.257383341),
+               (r: 0.837165425, g: 0.288384647, b: 0.2529877),
+               (r: 0.841968959, g: 0.292933312, b: 0.248563825),
+               (r: 0.846708768, g: 0.297558528, b: 0.244112767),
+               (r: 0.851383572, g: 0.302260213, b: 0.239635512),
+               (r: 0.85599213, g: 0.307038188, b: 0.235132978),
+               (r: 0.860533241, g: 0.311892183, b: 0.230606009),
+               (r: 0.865005747, g: 0.316821833, b: 0.226055368),
+               (r: 0.869408534, g: 0.321826685, b: 0.221481734),
+               (r: 0.87374053, g: 0.326906201, b: 0.216885699),
+               (r: 0.878000715, g: 0.33205976, b: 0.212267762),
+               (r: 0.882188112, g: 0.337286663, b: 0.207628326),
+               (r: 0.886301795, g: 0.342586137, b: 0.202967696),
+               (r: 0.890340885, g: 0.34795734, b: 0.19828608),
+               (r: 0.894304553, g: 0.353399363, b: 0.193583583),
+               (r: 0.898192017, g: 0.35891124, b: 0.188860212),
+               (r: 0.902002544, g: 0.364491949, b: 0.184115876),
+               (r: 0.905735448, g: 0.370140419, b: 0.179350388),
+               (r: 0.90939009, g: 0.375855533, b: 0.174563472),
+               (r: 0.912965874, g: 0.381636138, b: 0.169754764),
+               (r: 0.916462251, g: 0.387481044, b: 0.164923826),
+               (r: 0.91987871, g: 0.393389034, b: 0.160070152),
+               (r: 0.923214783, g: 0.399358867, b: 0.155193185),
+               (r: 0.926470039, g: 0.405389282, b: 0.150292329),
+               (r: 0.929644083, g: 0.411479007, b: 0.145366973),
+               (r: 0.932736555, g: 0.417626756, b: 0.140416519),
+               (r: 0.935747126, g: 0.423831237, b: 0.135440416),
+               (r: 0.938675494, g: 0.430091162, b: 0.130438175),
+               (r: 0.941521384, g: 0.436405243, b: 0.12540944),
+               (r: 0.944284543, g: 0.442772199, b: 0.120354038),
+               (r: 0.946964741, g: 0.449190757, b: 0.115272059),
+               (r: 0.949561766, g: 0.455659658, b: 0.110163947),
+               (r: 0.952075421, g: 0.462177656, b: 0.105030614),
+               (r: 0.954505523, g: 0.468743522, b: 0.0998735931),
+               (r: 0.956851903, g: 0.475356048, b: 0.0946952268),
+               (r: 0.959114397, g: 0.482014044, b: 0.0894989073),
+               (r: 0.96129285, g: 0.488716345, b: 0.0842893891),
+               (r: 0.96338711, g: 0.495461806, b: 0.0790731907),
+               (r: 0.965397031, g: 0.502249309, b: 0.0738591143),
+               (r: 0.967322465, g: 0.509077761, b: 0.0686589199),
+               (r: 0.969163264, g: 0.515946092, b: 0.0634881971),
+               (r: 0.970919277, g: 0.522853259, b: 0.058367489),
+               (r: 0.972590351, g: 0.529798246, b: 0.0533237243),
+               (r: 0.974176327, g: 0.536780059, b: 0.048392009),
+               (r: 0.975677038, g: 0.543797733, b: 0.0436177922),
+               (r: 0.977092313, g: 0.550850323, b: 0.0390500131),
+               (r: 0.978421971, g: 0.557936911, b: 0.0349306227),
+               (r: 0.979665824, g: 0.5650566, b: 0.0314091591),
+               (r: 0.980823673, g: 0.572208516, b: 0.0285075931),
+               (r: 0.981895311, g: 0.579391803, b: 0.0262497353),
+               (r: 0.982880522, g: 0.586605627, b: 0.0246613416),
+               (r: 0.983779081, g: 0.593849168, b: 0.0237702263),
+               (r: 0.984590755, g: 0.601121626, b: 0.0236063833),
+               (r: 0.985315301, g: 0.608422211, b: 0.0242021174),
+               (r: 0.985952471, g: 0.615750147, b: 0.0255921853),
+               (r: 0.986502013, g: 0.623104667, b: 0.0278139496),
+               (r: 0.98696367, g: 0.630485011, b: 0.0309075459),
+               (r: 0.987337182, g: 0.637890424, b: 0.0349160639),
+               (r: 0.987622296, g: 0.645320152, b: 0.0398857472),
+               (r: 0.987818759, g: 0.652773439, b: 0.0455808037),
+               (r: 0.98792633, g: 0.660249526, b: 0.0517503867),
+               (r: 0.987944783, g: 0.667747641, b: 0.0583286889),
+               (r: 0.98787391, g: 0.675267, b: 0.0652570167),
+               (r: 0.987713535, g: 0.682806802, b: 0.072489233),
+               (r: 0.987463516, g: 0.690366218, b: 0.0799897176),
+               (r: 0.987123759, g: 0.697944391, b: 0.0877314215),
+               (r: 0.986694229, g: 0.705540424, b: 0.0956941797),
+               (r: 0.98617497, g: 0.713153375, b: 0.103863324),
+               (r: 0.985565739, g: 0.72078246, b: 0.112228756),
+               (r: 0.984865203, g: 0.728427497, b: 0.120784651),
+               (r: 0.984075129, g: 0.736086521, b: 0.129526579),
+               (r: 0.983195992, g: 0.743758326, b: 0.138453063),
+               (r: 0.982228463, g: 0.751441596, b: 0.147564573),
+               (r: 0.981173457, g: 0.759134892, b: 0.156863224),
+               (r: 0.980032178, g: 0.766836624, b: 0.166352544),
+               (r: 0.978806183, g: 0.774545028, b: 0.176037298),
+               (r: 0.977497453, g: 0.782258138, b: 0.185923357),
+               (r: 0.976108474, g: 0.789973753, b: 0.196017589),
+               (r: 0.974637842, g: 0.797691563, b: 0.206331925),
+               (r: 0.973087939, g: 0.805409333, b: 0.216876839),
+               (r: 0.971467822, g: 0.813121725, b: 0.227658046),
+               (r: 0.969783146, g: 0.820825143, b: 0.238685942),
+               (r: 0.968040817, g: 0.828515491, b: 0.249971582),
+               (r: 0.966242589, g: 0.836190976, b: 0.261533898),
+               (r: 0.964393924, g: 0.843848069, b: 0.273391112),
+               (r: 0.962516656, g: 0.85147634, b: 0.285545675),
+               (r: 0.960625545, g: 0.859068716, b: 0.298010219),
+               (r: 0.958720088, g: 0.866624355, b: 0.310820466),
+               (r: 0.956834075, g: 0.874128569, b: 0.323973947),
+               (r: 0.954997177, g: 0.881568926, b: 0.337475479),
+               (r: 0.953215092, g: 0.888942277, b: 0.351368713),
+               (r: 0.951546225, g: 0.896225909, b: 0.365627005),
+               (r: 0.950018481, g: 0.903409063, b: 0.380271225),
+               (r: 0.948683391, g: 0.910472964, b: 0.395289169),
+               (r: 0.947594362, g: 0.917399053, b: 0.410665194),
+               (r: 0.946809163, g: 0.924168246, b: 0.426373236),
+               (r: 0.946391536, g: 0.930760752, b: 0.442367495),
+               (r: 0.946402951, g: 0.937158971, b: 0.458591507),
+               (r: 0.946902568, g: 0.943347775, b: 0.474969778),
+               (r: 0.947936825, g: 0.949317522, b: 0.491426053),
+               (r: 0.94954483, g: 0.9550629, b: 0.507859649),
+               (r: 0.951740304, g: 0.960586693, b: 0.524203026),
+               (r: 0.954529281, g: 0.965895868, b: 0.540360752),
+               (r: 0.957896053, g: 0.97100333, b: 0.55627509),
+               (r: 0.96181202, g: 0.975924241, b: 0.571925382),
+               (r: 0.966248822, g: 0.980678193, b: 0.587205773),
+               (r: 0.971161622, g: 0.985282161, b: 0.60215433),
+               (r: 0.976510983, g: 0.989753437, b: 0.616760413),
+               (r: 0.982257307, g: 0.994108844, b: 0.631017009),
+               (r: 0.988362068, g: 0.998364143, b: 0.644924005)]
+
+ + + Source   +Edit   + +
+
+
+
MagmaRaw = @[(r: 0.00146159096, g: 0.000466127766, b: 0.01386552),
+             (r: 0.00225764007, g: 0.00129495431, b: 0.0183311461),
+             (r: 0.00327943222, g: 0.00230452991, b: 0.0237083291),
+             (r: 0.00451230222, g: 0.00349037666, b: 0.0299647059),
+             (r: 0.00594976987, g: 0.00484285, b: 0.0371296695),
+             (r: 0.0075879855, g: 0.00635613622, b: 0.0449730774),
+             (r: 0.0094260439, g: 0.00802185006, b: 0.0528443561),
+             (r: 0.0114654337, g: 0.00982831486, b: 0.060749638),
+             (r: 0.0137075706, g: 0.0117705913, b: 0.0686665843),
+             (r: 0.0161557566, g: 0.0138404966, b: 0.076602666),
+             (r: 0.018815367, g: 0.0160262753, b: 0.0845844897),
+             (r: 0.021691934, g: 0.0183201254, b: 0.092610105),
+             (r: 0.0247917814, g: 0.0207147875, b: 0.100675555),
+             (r: 0.0281228154, g: 0.0232009284, b: 0.108786954),
+             (r: 0.0316955304, g: 0.0257651161, b: 0.116964722),
+             (r: 0.0355204468, g: 0.028397457, b: 0.125209396),
+             (r: 0.0396084872, g: 0.0310895652, b: 0.133515085),
+             (r: 0.043829535, g: 0.0338299885, b: 0.141886249),
+             (r: 0.0480616391, g: 0.0366066101, b: 0.150326989),
+             (r: 0.0523204388, g: 0.039406602, b: 0.158841025),
+             (r: 0.0566148978, g: 0.0421598925, b: 0.167445592),
+             (r: 0.060949393, g: 0.0447944924, b: 0.176128834),
+             (r: 0.0653301801, g: 0.0473177796, b: 0.184891506),
+             (r: 0.0697637296, g: 0.0497264666, b: 0.193735088),
+             (r: 0.0742565152, g: 0.0520167766, b: 0.202660374),
+             (r: 0.0788150034, g: 0.0541844801, b: 0.211667355),
+             (r: 0.0834456313, g: 0.0562249365, b: 0.220755099),
+             (r: 0.088154773, g: 0.0581331465, b: 0.229921611),
+             (r: 0.0929486914, g: 0.0599038167, b: 0.239163669),
+             (r: 0.097833477, g: 0.0615314414, b: 0.248476662),
+             (r: 0.102814972, g: 0.0630104053, b: 0.2578544),
+             (r: 0.107898679, g: 0.0643351102, b: 0.267288933),
+             (r: 0.113094451, g: 0.0654920358, b: 0.276783978),
+             (r: 0.118405035, g: 0.0664791593, b: 0.286320656),
+             (r: 0.123832651, g: 0.0672946449, b: 0.295879431),
+             (r: 0.129380192, g: 0.0679349264, b: 0.305442931),
+             (r: 0.135053322, g: 0.0683912798, b: 0.31499989),
+             (r: 0.140857952, g: 0.068654071, b: 0.32453764),
+             (r: 0.146785234, g: 0.0687382323, b: 0.334011109),
+             (r: 0.152839217, g: 0.0686368599, b: 0.34340445),
+             (r: 0.159017511, g: 0.0683540225, b: 0.352688028),
+             (r: 0.165308131, g: 0.0679108689, b: 0.361816426),
+             (r: 0.171713033, g: 0.067305326, b: 0.370770827),
+             (r: 0.17821173, g: 0.0665758073, b: 0.379497161),
+             (r: 0.184800877, g: 0.0657324381, b: 0.387972507),
+             (r: 0.191459745, g: 0.0648183312, b: 0.396151969),
+             (r: 0.198176877, g: 0.0638624166, b: 0.404008953),
+             (r: 0.204934882, g: 0.0629066192, b: 0.411514273),
+             (r: 0.211718061, g: 0.0619917876, b: 0.418646741),
+             (r: 0.21851159, g: 0.0611584918, b: 0.425391816),
+             (r: 0.225302032, g: 0.0604451843, b: 0.431741767),
+             (r: 0.232076515, g: 0.0598886855, b: 0.437694665),
+             (r: 0.238825991, g: 0.0595170384, b: 0.443255999),
+             (r: 0.245543175, g: 0.0593524384, b: 0.448435938),
+             (r: 0.252220252, g: 0.0594147119, b: 0.453247729),
+             (r: 0.258857304, g: 0.0597055998, b: 0.457709924),
+             (r: 0.265446744, g: 0.0602368754, b: 0.461840297),
+             (r: 0.271994089, g: 0.0609935552, b: 0.465660375),
+             (r: 0.2784933, g: 0.0619778136, b: 0.469190328),
+             (r: 0.284951097, g: 0.0631676261, b: 0.472450879),
+             (r: 0.291365817, g: 0.0645534486, b: 0.475462193),
+             (r: 0.297740413, g: 0.0661170432, b: 0.478243482),
+             (r: 0.304080941, g: 0.0678353452, b: 0.480811572),
+             (r: 0.310382027, g: 0.0697024767, b: 0.48318634),
+             (r: 0.316654235, g: 0.0716895272, b: 0.485380429),
+             (r: 0.322899126, g: 0.0737819504, b: 0.487408399),
+             (r: 0.329114038, g: 0.0759715081, b: 0.489286796),
+             (r: 0.335307503, g: 0.0782361045, b: 0.491024144),
+             (r: 0.341481725, g: 0.0805635079, b: 0.492631321),
+             (r: 0.347635742, g: 0.0829463512, b: 0.494120923),
+             (r: 0.353773161, g: 0.0853726329, b: 0.495501096),
+             (r: 0.359897941, g: 0.0878311772, b: 0.496778331),
+             (r: 0.366011928, g: 0.0903143031, b: 0.497959963),
+             (r: 0.372116205, g: 0.0928159917, b: 0.499053326),
+             (r: 0.378210547, g: 0.0953322947, b: 0.500066568),
+             (r: 0.384299445, g: 0.0978549106, b: 0.501001964),
+             (r: 0.390384361, g: 0.100379466, b: 0.501864236),
+             (r: 0.39646667, g: 0.102902194, b: 0.50265759),
+             (r: 0.402547663, g: 0.105419865, b: 0.503385761),
+             (r: 0.408628505, g: 0.107929771, b: 0.504052118),
+             (r: 0.414708664, g: 0.110431177, b: 0.504661843),
+             (r: 0.420791157, g: 0.11292021, b: 0.505214935),
+             (r: 0.426876965, g: 0.115395258, b: 0.505713602),
+             (r: 0.432967001, g: 0.117854987, b: 0.506159754),
+             (r: 0.439062114, g: 0.120298314, b: 0.506555026),
+             (r: 0.445163096, g: 0.122724371, b: 0.506900806),
+             (r: 0.451270678, g: 0.125132484, b: 0.507198258),
+             (r: 0.457385535, g: 0.127522145, b: 0.507448336),
+             (r: 0.463508291, g: 0.129892998, b: 0.507651812),
+             (r: 0.469639514, g: 0.132244819, b: 0.507809282),
+             (r: 0.475779723, g: 0.1345775, b: 0.507921193),
+             (r: 0.481928997, g: 0.13689139, b: 0.507988509),
+             (r: 0.488088169, g: 0.139186217, b: 0.508010737),
+             (r: 0.494257673, g: 0.141462106, b: 0.507987836),
+             (r: 0.500437834, g: 0.143719323, b: 0.507919772),
+             (r: 0.506628929, g: 0.145958202, b: 0.50780642),
+             (r: 0.512831195, g: 0.148179144, b: 0.50764757),
+             (r: 0.519044825, g: 0.150382611, b: 0.507442938),
+             (r: 0.525269968, g: 0.152569121, b: 0.507192172),
+             (r: 0.531506735, g: 0.154739247, b: 0.50689486),
+             (r: 0.537755194, g: 0.156893613, b: 0.506550538),
+             (r: 0.544015371, g: 0.159032895, b: 0.506158696),
+             (r: 0.550287252, g: 0.161157816, b: 0.505718782),
+             (r: 0.556570783, g: 0.163269149, b: 0.50523021),
+             (r: 0.562865867, g: 0.165367714, b: 0.504692365),
+             (r: 0.569172368, g: 0.167454379, b: 0.504104606),
+             (r: 0.575490107, g: 0.169530062, b: 0.503466273),
+             (r: 0.581818864, g: 0.171595728, b: 0.50277669),
+             (r: 0.588158375, g: 0.173652392, b: 0.502035167),
+             (r: 0.594508337, g: 0.175701122, b: 0.501241011),
+             (r: 0.600868399, g: 0.177743036, b: 0.500393522),
+             (r: 0.607238169, g: 0.179779309, b: 0.499491999),
+             (r: 0.613617209, g: 0.18181117, b: 0.498535746),
+             (r: 0.620005032, g: 0.183839907, b: 0.497524075),
+             (r: 0.626401108, g: 0.185866869, b: 0.496456304),
+             (r: 0.632804854, g: 0.187893468, b: 0.495331769),
+             (r: 0.639215638, g: 0.189921182, b: 0.494149821),
+             (r: 0.645632778, g: 0.191951556, b: 0.492909832),
+             (r: 0.652055535, g: 0.19398621, b: 0.491611196),
+             (r: 0.658483116, g: 0.196026835, b: 0.490253338),
+             (r: 0.664914668, g: 0.198075202, b: 0.488835712),
+             (r: 0.671349279, g: 0.200133166, b: 0.487357807),
+             (r: 0.677785975, g: 0.202202663, b: 0.485819154),
+             (r: 0.684223712, g: 0.204285721, b: 0.484219325),
+             (r: 0.69066138, g: 0.206384461, b: 0.482557941),
+             (r: 0.697097796, g: 0.2085011, b: 0.480834678),
+             (r: 0.7035317, g: 0.210637956, b: 0.47904927),
+             (r: 0.709961888, g: 0.212797337, b: 0.477201121),
+             (r: 0.716387038, g: 0.214981693, b: 0.47528978),
+             (r: 0.722805451, g: 0.217193831, b: 0.473315708),
+             (r: 0.729215521, g: 0.219436516, b: 0.471278924),
+             (r: 0.735615545, g: 0.221712634, b: 0.469179541),
+             (r: 0.742003713, g: 0.224025196, b: 0.467017774),
+             (r: 0.748378107, g: 0.226377345, b: 0.464793954),
+             (r: 0.754736692, g: 0.228772352, b: 0.462508534),
+             (r: 0.761077312, g: 0.231213625, b: 0.460162106),
+             (r: 0.767397681, g: 0.233704708, b: 0.457755411),
+             (r: 0.77369538, g: 0.236249283, b: 0.455289354),
+             (r: 0.779967847, g: 0.23885117, b: 0.452765022),
+             (r: 0.786212372, g: 0.241514325, b: 0.450183695),
+             (r: 0.792426972, g: 0.24424225, b: 0.447543155),
+             (r: 0.79860776, g: 0.247039798, b: 0.444848441),
+             (r: 0.804751511, g: 0.24991135, b: 0.442101615),
+             (r: 0.810854841, g: 0.252861399, b: 0.439304963),
+             (r: 0.816914186, g: 0.25589455, b: 0.436461074),
+             (r: 0.822925797, g: 0.259015505, b: 0.433572874),
+             (r: 0.82888574, g: 0.262229049, b: 0.430643647),
+             (r: 0.834790818, g: 0.265539703, b: 0.427671352),
+             (r: 0.84063568, g: 0.268952874, b: 0.42466562),
+             (r: 0.846415804, g: 0.272473491, b: 0.421631064),
+             (r: 0.85212649, g: 0.276106469, b: 0.418572767),
+             (r: 0.85776287, g: 0.279856666, b: 0.415496319),
+             (r: 0.863320397, g: 0.283729003, b: 0.412402889),
+             (r: 0.868793368, g: 0.287728205, b: 0.409303002),
+             (r: 0.874176342, g: 0.291858679, b: 0.406205397),
+             (r: 0.879463944, g: 0.296124596, b: 0.403118034),
+             (r: 0.884650824, g: 0.30053009, b: 0.40004706),
+             (r: 0.889731418, g: 0.305078817, b: 0.397001559),
+             (r: 0.894700194, g: 0.309773445, b: 0.393994634),
+             (r: 0.899551884, g: 0.314616425, b: 0.391036674),
+             (r: 0.904281297, g: 0.319609981, b: 0.388136889),
+             (r: 0.908883524, g: 0.324755126, b: 0.385308008),
+             (r: 0.913354091, g: 0.330051947, b: 0.382563414),
+             (r: 0.917688852, g: 0.335500068, b: 0.379915138),
+             (r: 0.921884187, g: 0.341098112, b: 0.377375977),
+             (r: 0.925937102, g: 0.346843685, b: 0.374959077),
+             (r: 0.92984509, g: 0.352733817, b: 0.372676513),
+             (r: 0.933606454, g: 0.358764377, b: 0.370540883),
+             (r: 0.937220874, g: 0.364929312, b: 0.368566525),
+             (r: 0.940687443, g: 0.371224168, b: 0.366761699),
+             (r: 0.944006448, g: 0.377642889, b: 0.365136328),
+             (r: 0.947179528, g: 0.384177874, b: 0.36370113),
+             (r: 0.95021015, g: 0.390819546, b: 0.362467694),
+             (r: 0.953099077, g: 0.397562894, b: 0.361438431),
+             (r: 0.955849237, g: 0.404400213, b: 0.360619076),
+             (r: 0.958464079, g: 0.411323666, b: 0.360014232),
+             (r: 0.960949221, g: 0.418323245, b: 0.359629789),
+             (r: 0.963310281, g: 0.425389724, b: 0.35946902),
+             (r: 0.965549351, g: 0.432518707, b: 0.359529151),
+             (r: 0.967671128, g: 0.439702976, b: 0.359810172),
+             (r: 0.969680441, g: 0.446935635, b: 0.36031112),
+             (r: 0.971582181, g: 0.45421017, b: 0.361030156),
+             (r: 0.973381238, g: 0.461520484, b: 0.361964652),
+             (r: 0.975082439, g: 0.468860936, b: 0.363111292),
+             (r: 0.976690494, g: 0.47622635, b: 0.364466162),
+             (r: 0.978209957, g: 0.483612031, b: 0.366024854),
+             (r: 0.979645181, g: 0.491013764, b: 0.367782559),
+             (r: 0.981000291, g: 0.4984278, b: 0.369734157),
+             (r: 0.982279159, g: 0.505850848, b: 0.371874301),
+             (r: 0.983485387, g: 0.513280054, b: 0.374197501),
+             (r: 0.984622298, g: 0.520712972, b: 0.376698186),
+             (r: 0.985692925, g: 0.528147545, b: 0.379370774),
+             (r: 0.986700017, g: 0.53558207, b: 0.382209724),
+             (r: 0.987646038, g: 0.543015173, b: 0.385209578),
+             (r: 0.988533173, g: 0.550445778, b: 0.388365009),
+             (r: 0.989363341, g: 0.557873075, b: 0.391670846),
+             (r: 0.990138201, g: 0.565296495, b: 0.395122099),
+             (r: 0.990871208, g: 0.572706259, b: 0.398713971),
+             (r: 0.991558165, g: 0.580106828, b: 0.402441058),
+             (r: 0.992195728, g: 0.587501706, b: 0.406298792),
+             (r: 0.992784669, g: 0.594891088, b: 0.410282976),
+             (r: 0.993325561, g: 0.602275297, b: 0.414389658),
+             (r: 0.993834412, g: 0.60964354, b: 0.418613221),
+             (r: 0.994308514, g: 0.616998953, b: 0.422949672),
+             (r: 0.994737698, g: 0.624349657, b: 0.427396771),
+             (r: 0.995121854, g: 0.631696376, b: 0.431951492),
+             (r: 0.995480469, g: 0.639026596, b: 0.436607159),
+             (r: 0.995809924, g: 0.646343897, b: 0.441360951),
+             (r: 0.996095703, g: 0.653658756, b: 0.446213021),
+             (r: 0.996341406, g: 0.660969379, b: 0.451160201),
+             (r: 0.996579803, g: 0.668255621, b: 0.456191814),
+             (r: 0.996774784, g: 0.675541484, b: 0.461314158),
+             (r: 0.996925427, g: 0.682827953, b: 0.466525689),
+             (r: 0.997077185, g: 0.690087897, b: 0.471811461),
+             (r: 0.997186253, g: 0.697348991, b: 0.477181727),
+             (r: 0.997253982, g: 0.704610791, b: 0.482634651),
+             (r: 0.99732518, g: 0.711847714, b: 0.488154375),
+             (r: 0.997350983, g: 0.719089119, b: 0.493754665),
+             (r: 0.997350583, g: 0.726324415, b: 0.499427972),
+             (r: 0.997341259, g: 0.733544671, b: 0.505166839),
+             (r: 0.997284689, g: 0.740771893, b: 0.510983331),
+             (r: 0.997228367, g: 0.747980563, b: 0.516859378),
+             (r: 0.99713848, g: 0.755189852, b: 0.522805996),
+             (r: 0.997019342, g: 0.762397883, b: 0.528820775),
+             (r: 0.996898254, g: 0.769590975, b: 0.534892341),
+             (r: 0.996726862, g: 0.77679486, b: 0.541038571),
+             (r: 0.996570645, g: 0.783976508, b: 0.547232992),
+             (r: 0.996369065, g: 0.791167346, b: 0.553498939),
+             (r: 0.996162309, g: 0.798347709, b: 0.559819643),
+             (r: 0.995932448, g: 0.805527126, b: 0.566201824),
+             (r: 0.995680107, g: 0.812705773, b: 0.572644795),
+             (r: 0.995423973, g: 0.819875302, b: 0.57914013),
+             (r: 0.995131288, g: 0.827051773, b: 0.585701463),
+             (r: 0.994851089, g: 0.834212826, b: 0.592307093),
+             (r: 0.994523666, g: 0.841386618, b: 0.598982818),
+             (r: 0.9942219, g: 0.848540474, b: 0.605695903),
+             (r: 0.993865767, g: 0.855711038, b: 0.612481798),
+             (r: 0.993545285, g: 0.862858846, b: 0.6192993),
+             (r: 0.993169558, g: 0.870024467, b: 0.626189463),
+             (r: 0.992830963, g: 0.877168404, b: 0.633109148),
+             (r: 0.992439881, g: 0.884329694, b: 0.640099465),
+             (r: 0.992089454, g: 0.891469549, b: 0.647116021),
+             (r: 0.991687744, g: 0.89862705, b: 0.654201544),
+             (r: 0.991331929, g: 0.905762748, b: 0.661308839),
+             (r: 0.990929685, g: 0.91291501, b: 0.668481201),
+             (r: 0.990569914, g: 0.920048699, b: 0.675674592),
+             (r: 0.990174637, g: 0.927195612, b: 0.682925602),
+             (r: 0.989814839, g: 0.93432854, b: 0.690198194),
+             (r: 0.989433736, g: 0.941470354, b: 0.697518628),
+             (r: 0.989077438, g: 0.948604077, b: 0.704862519),
+             (r: 0.988717064, g: 0.95574152, b: 0.712242232),
+             (r: 0.988367028, g: 0.962878026, b: 0.719648627),
+             (r: 0.988032885, g: 0.970012413, b: 0.727076773),
+             (r: 0.987690702, g: 0.977154231, b: 0.734536205),
+             (r: 0.987386827, g: 0.984287561, b: 0.742001547),
+             (r: 0.987052509, g: 0.991437853, b: 0.749504188)]
+
+ + + Source   +Edit   + +
+
+
+
PlasmaRaw = @[(r: 0.0503832136, g: 0.0298028976, b: 0.527974883),
+              (r: 0.0635363639, g: 0.0284259729, b: 0.533123681),
+              (r: 0.0753531234, g: 0.0272063728, b: 0.538007001),
+              (r: 0.0862217979, g: 0.0261253206, b: 0.542657691),
+              (r: 0.0963786097, g: 0.0251650976, b: 0.547103487),
+              (r: 0.105979704, g: 0.0243092436, b: 0.551367851),
+              (r: 0.115123641, g: 0.02355625, b: 0.555467728),
+              (r: 0.123902903, g: 0.0228781011, b: 0.55942348),
+              (r: 0.13238072, g: 0.0222583774, b: 0.563250116),
+              (r: 0.140603076, g: 0.0216866674, b: 0.566959485),
+              (r: 0.148606527, g: 0.0211535876, b: 0.570561711),
+              (r: 0.156420649, g: 0.0206507174, b: 0.574065446),
+              (r: 0.164069722, g: 0.0201705326, b: 0.577478074),
+              (r: 0.171573925, g: 0.0197063415, b: 0.58080589),
+              (r: 0.178950212, g: 0.0192522243, b: 0.584054243),
+              (r: 0.186212958, g: 0.0188029767, b: 0.587227661),
+              (r: 0.193374449, g: 0.0183540593, b: 0.590329954),
+              (r: 0.20044526, g: 0.0179015512, b: 0.593364304),
+              (r: 0.207434551, g: 0.0174421086, b: 0.596333341),
+              (r: 0.214350298, g: 0.0169729276, b: 0.599239207),
+              (r: 0.22119675, g: 0.0164970484, b: 0.602083323),
+              (r: 0.227982971, g: 0.0160071509, b: 0.604867403),
+              (r: 0.234714537, g: 0.0155015065, b: 0.607592438),
+              (r: 0.241396253, g: 0.0149791041, b: 0.610259089),
+              (r: 0.248032377, g: 0.0144393586, b: 0.612867743),
+              (r: 0.25462669, g: 0.0138820918, b: 0.615418537),
+              (r: 0.261182562, g: 0.0133075156, b: 0.617911385),
+              (r: 0.267702993, g: 0.0127162163, b: 0.620345997),
+              (r: 0.274190665, g: 0.0121091423, b: 0.622721903),
+              (r: 0.280647969, g: 0.0114875915, b: 0.625038468),
+              (r: 0.287076059, g: 0.0108554862, b: 0.627294975),
+              (r: 0.293477695, g: 0.0102128849, b: 0.62949049),
+              (r: 0.299855122, g: 0.00956079551, b: 0.631623923),
+              (r: 0.306209825, g: 0.00890185346, b: 0.633694102),
+              (r: 0.312543124, g: 0.00823900704, b: 0.635699759),
+              (r: 0.318856183, g: 0.00757551051, b: 0.637639537),
+              (r: 0.325150025, g: 0.00691491734, b: 0.639512001),
+              (r: 0.331425547, g: 0.00626107379, b: 0.641315649),
+              (r: 0.337683446, g: 0.00561830889, b: 0.643048936),
+              (r: 0.343924591, g: 0.0049905308, b: 0.644710195),
+              (r: 0.350149699, g: 0.00438202557, b: 0.646297711),
+              (r: 0.356359209, g: 0.00379781761, b: 0.647809772),
+              (r: 0.362553473, g: 0.00324319591, b: 0.649244641),
+              (r: 0.368732762, g: 0.00272370721, b: 0.650600561),
+              (r: 0.37489727, g: 0.00224514897, b: 0.651875762),
+              (r: 0.381047116, g: 0.00181356205, b: 0.653068467),
+              (r: 0.387182639, g: 0.00143446923, b: 0.654176761),
+              (r: 0.39330401, g: 0.00111388259, b: 0.655198755),
+              (r: 0.399410821, g: 0.000859420809, b: 0.656132835),
+              (r: 0.405502914, g: 0.000678091517, b: 0.656977276),
+              (r: 0.411580082, g: 0.000577101735, b: 0.65773038),
+              (r: 0.417642063, g: 0.000563847476, b: 0.658390492),
+              (r: 0.423688549, g: 0.00064590278, b: 0.658956004),
+              (r: 0.429719186, g: 0.000831008207, b: 0.659425363),
+              (r: 0.435733575, g: 0.00112705875, b: 0.659797077),
+              (r: 0.441732123, g: 0.00153984779, b: 0.660069009),
+              (r: 0.4477136, g: 0.00207954744, b: 0.660240367),
+              (r: 0.453677394, g: 0.00275470302, b: 0.660309966),
+              (r: 0.459622938, g: 0.00357374415, b: 0.660276655),
+              (r: 0.465549631, g: 0.00454518084, b: 0.660139383),
+              (r: 0.471456847, g: 0.00567758762, b: 0.65989721),
+              (r: 0.477343929, g: 0.00697958743, b: 0.659549311),
+              (r: 0.483210198, g: 0.00845983494, b: 0.659094989),
+              (r: 0.489054951, g: 0.0101269996, b: 0.658533677),
+              (r: 0.494877466, g: 0.0119897486, b: 0.657864946),
+              (r: 0.500677687, g: 0.014055064, b: 0.657087561),
+              (r: 0.506454143, g: 0.0163333443, b: 0.656202294),
+              (r: 0.512206035, g: 0.0188332232, b: 0.655209222),
+              (r: 0.51793258, g: 0.0215631918, b: 0.654108545),
+              (r: 0.52363299, g: 0.0245316468, b: 0.652900629),
+              (r: 0.529306474, g: 0.0277468735, b: 0.65158601),
+              (r: 0.534952244, g: 0.03121703, b: 0.650165396),
+              (r: 0.54056951, g: 0.034950131, b: 0.648639668),
+              (r: 0.546157494, g: 0.0389540334, b: 0.647009884),
+              (r: 0.551715423, g: 0.0431364795, b: 0.645277275),
+              (r: 0.557242538, g: 0.0473307585, b: 0.64344325),
+              (r: 0.562738096, g: 0.0515448092, b: 0.641509389),
+              (r: 0.568201372, g: 0.0557776706, b: 0.63947744),
+              (r: 0.573631859, g: 0.0600281369, b: 0.637348841),
+              (r: 0.579028682, g: 0.0642955547, b: 0.635126108),
+              (r: 0.584391137, g: 0.0685790261, b: 0.632811608),
+              (r: 0.589718606, g: 0.0728775875, b: 0.630407727),
+              (r: 0.595010505, g: 0.0771902878, b: 0.627916992),
+              (r: 0.600266283, g: 0.0815161895, b: 0.625342058),
+              (r: 0.605485428, g: 0.0858543713, b: 0.622685703),
+              (r: 0.610667469, g: 0.0902039303, b: 0.619950811),
+              (r: 0.615811974, g: 0.0945639838, b: 0.617140367),
+              (r: 0.620918555, g: 0.0989336721, b: 0.61425744),
+              (r: 0.625986869, g: 0.10331216, b: 0.611305174),
+              (r: 0.631016615, g: 0.107698641, b: 0.608286774),
+              (r: 0.636007543, g: 0.112092335, b: 0.605205491),
+              (r: 0.640959444, g: 0.116492495, b: 0.602064611),
+              (r: 0.645872158, g: 0.120898405, b: 0.598867442),
+              (r: 0.650745571, g: 0.125309384, b: 0.5956173),
+              (r: 0.655579615, g: 0.129724785, b: 0.592317494),
+              (r: 0.660374266, g: 0.134143997, b: 0.588971318),
+              (r: 0.665129493, g: 0.138566428, b: 0.585582301),
+              (r: 0.669845385, g: 0.14299154, b: 0.582153572),
+              (r: 0.67452206, g: 0.147418835, b: 0.578688247),
+              (r: 0.679159664, g: 0.151847851, b: 0.575189431),
+              (r: 0.683758384, g: 0.156278163, b: 0.571660158),
+              (r: 0.68831844, g: 0.160709387, b: 0.56810338),
+              (r: 0.692840088, g: 0.165141174, b: 0.564521958),
+              (r: 0.697323615, g: 0.169573215, b: 0.560918659),
+              (r: 0.701769334, g: 0.174005236, b: 0.557296144),
+              (r: 0.70617759, g: 0.178437, b: 0.55365697),
+              (r: 0.710548747, g: 0.182868306, b: 0.550003579),
+              (r: 0.714883195, g: 0.187298986, b: 0.546338299),
+              (r: 0.719181339, g: 0.191728906, b: 0.542663338),
+              (r: 0.723443604, g: 0.196157962, b: 0.538980786),
+              (r: 0.727670428, g: 0.200586086, b: 0.535292612),
+              (r: 0.731862231, g: 0.205013174, b: 0.531600995),
+              (r: 0.736019424, g: 0.209439071, b: 0.527908434),
+              (r: 0.740142557, g: 0.213863965, b: 0.524215533),
+              (r: 0.744232102, g: 0.218287899, b: 0.520523766),
+              (r: 0.748288533, g: 0.222710942, b: 0.516834495),
+              (r: 0.752312321, g: 0.227133187, b: 0.513148963),
+              (r: 0.756303937, g: 0.231554749, b: 0.509468305),
+              (r: 0.760263849, g: 0.235975765, b: 0.505793543),
+              (r: 0.764192516, g: 0.240396394, b: 0.502125599),
+              (r: 0.768090391, g: 0.244816813, b: 0.49846529),
+              (r: 0.771957916, g: 0.24923722, b: 0.494813338),
+              (r: 0.775795522, g: 0.253657797, b: 0.491170517),
+              (r: 0.779603614, g: 0.258078397, b: 0.487539124),
+              (r: 0.783382636, g: 0.262499662, b: 0.483917732),
+              (r: 0.787132978, g: 0.266921859, b: 0.480306702),
+              (r: 0.790855015, g: 0.271345267, b: 0.476706319),
+              (r: 0.794549101, g: 0.275770179, b: 0.473116798),
+              (r: 0.798215577, g: 0.280196901, b: 0.469538286),
+              (r: 0.801854758, g: 0.28462575, b: 0.465970871),
+              (r: 0.805466945, g: 0.289057057, b: 0.46241458),
+              (r: 0.809052419, g: 0.293491117, b: 0.458869577),
+              (r: 0.812611506, g: 0.297927865, b: 0.455337565),
+              (r: 0.816144382, g: 0.30236813, b: 0.451816385),
+              (r: 0.819651255, g: 0.306812282, b: 0.448305861),
+              (r: 0.823132309, g: 0.311260703, b: 0.444805781),
+              (r: 0.826587706, g: 0.315713782, b: 0.441315901),
+              (r: 0.830017584, g: 0.320171913, b: 0.437835947),
+              (r: 0.833422053, g: 0.324635499, b: 0.434365616),
+              (r: 0.836801237, g: 0.329104836, b: 0.430905052),
+              (r: 0.840155276, g: 0.333580106, b: 0.427454836),
+              (r: 0.843484103, g: 0.338062109, b: 0.424013059),
+              (r: 0.846787726, g: 0.342551272, b: 0.420579333),
+              (r: 0.850066132, g: 0.347048028, b: 0.417153264),
+              (r: 0.853319279, g: 0.351552815, b: 0.413734445),
+              (r: 0.856547103, g: 0.356066072, b: 0.410322469),
+              (r: 0.85974952, g: 0.360588229, b: 0.406916975),
+              (r: 0.862926559, g: 0.365119408, b: 0.403518809),
+              (r: 0.86607792, g: 0.369660446, b: 0.400126027),
+              (r: 0.869203436, g: 0.374211795, b: 0.396738211),
+              (r: 0.872302917, g: 0.37877391, b: 0.393354947),
+              (r: 0.875376149, g: 0.383347243, b: 0.389975832),
+              (r: 0.878422895, g: 0.387932249, b: 0.386600468),
+              (r: 0.881442916, g: 0.392529339, b: 0.383228622),
+              (r: 0.884435982, g: 0.397138877, b: 0.379860246),
+              (r: 0.887401682, g: 0.401761511, b: 0.376494232),
+              (r: 0.890339687, g: 0.406397694, b: 0.373130228),
+              (r: 0.893249647, g: 0.411047871, b: 0.369767893),
+              (r: 0.896131191, g: 0.415712489, b: 0.366406907),
+              (r: 0.898983931, g: 0.420391986, b: 0.363046965),
+              (r: 0.901807455, g: 0.425086807, b: 0.359687758),
+              (r: 0.904601295, g: 0.429797442, b: 0.356328796),
+              (r: 0.907364995, g: 0.434524335, b: 0.352969777),
+              (r: 0.910098088, g: 0.439267908, b: 0.349610469),
+              (r: 0.912800095, g: 0.444028574, b: 0.346250656),
+              (r: 0.915470518, g: 0.448806744, b: 0.342890148),
+              (r: 0.918108848, g: 0.453602818, b: 0.339528771),
+              (r: 0.920714383, g: 0.45841742, b: 0.336165582),
+              (r: 0.92328666, g: 0.463250828, b: 0.332800827),
+              (r: 0.925825146, g: 0.468103387, b: 0.329434512),
+              (r: 0.928329275, g: 0.472975465, b: 0.32606655),
+              (r: 0.930798469, g: 0.47786742, b: 0.322696876),
+              (r: 0.93323214, g: 0.482779603, b: 0.319325444),
+              (r: 0.935629684, g: 0.487712357, b: 0.315952211),
+              (r: 0.937990034, g: 0.492666544, b: 0.31257544),
+              (r: 0.940312939, g: 0.497642038, b: 0.309196628),
+              (r: 0.942597771, g: 0.502639147, b: 0.305815824),
+              (r: 0.944843893, g: 0.507658169, b: 0.302433101),
+              (r: 0.947050662, g: 0.51269939, b: 0.299048555),
+              (r: 0.949217427, g: 0.517763087, b: 0.295662308),
+              (r: 0.95134353, g: 0.522849522, b: 0.292274506),
+              (r: 0.953427725, g: 0.52795955, b: 0.288883445),
+              (r: 0.95546964, g: 0.533093083, b: 0.285490391),
+              (r: 0.95746877, g: 0.538250172, b: 0.282096149),
+              (r: 0.95942443, g: 0.543431038, b: 0.27870099),
+              (r: 0.96133593, g: 0.54863589, b: 0.275305214),
+              (r: 0.963202573, g: 0.553864931, b: 0.271909159),
+              (r: 0.965023656, g: 0.559118349, b: 0.2685132),
+              (r: 0.96679847, g: 0.564396327, b: 0.265117752),
+              (r: 0.968525639, g: 0.569699633, b: 0.261721488),
+              (r: 0.970204593, g: 0.57502827, b: 0.258325424),
+              (r: 0.971835007, g: 0.580382015, b: 0.254931256),
+              (r: 0.973416145, g: 0.585761012, b: 0.251539615),
+              (r: 0.974947262, g: 0.591165394, b: 0.2481512),
+              (r: 0.976427606, g: 0.596595287, b: 0.244766775),
+              (r: 0.977856416, g: 0.602050811, b: 0.241387186),
+              (r: 0.979232922, g: 0.607532077, b: 0.238013359),
+              (r: 0.980556344, g: 0.61303919, b: 0.234646316),
+              (r: 0.98182589, g: 0.61857225, b: 0.231287178),
+              (r: 0.983040742, g: 0.624131362, b: 0.227937141),
+              (r: 0.984198924, g: 0.629717516, b: 0.224595006),
+              (r: 0.98530076, g: 0.635329876, b: 0.221264889),
+              (r: 0.986345421, g: 0.640968508, b: 0.217948456),
+              (r: 0.987332067, g: 0.646633475, b: 0.214647532),
+              (r: 0.988259846, g: 0.652324832, b: 0.211364122),
+              (r: 0.989127893, g: 0.65804263, b: 0.208100426),
+              (r: 0.989935328, g: 0.663786914, b: 0.204858855),
+              (r: 0.990681261, g: 0.66955772, b: 0.201642049),
+              (r: 0.991364787, g: 0.675355082, b: 0.1984529),
+              (r: 0.99198499, g: 0.681179025, b: 0.195294567),
+              (r: 0.992540939, g: 0.687029567, b: 0.1921705),
+              (r: 0.993031693, g: 0.692906719, b: 0.189084459),
+              (r: 0.993456302, g: 0.698810484, b: 0.186040537),
+              (r: 0.993813802, g: 0.704740854, b: 0.18304318),
+              (r: 0.994103226, g: 0.710697814, b: 0.180097207),
+              (r: 0.994323596, g: 0.716681336, b: 0.177207826),
+              (r: 0.994473934, g: 0.722691379, b: 0.174380656),
+              (r: 0.99455326, g: 0.72872789, b: 0.171621733),
+              (r: 0.994560594, g: 0.734790799, b: 0.168937522),
+              (r: 0.994494964, g: 0.74088002, b: 0.166334918),
+              (r: 0.994355411, g: 0.746995448, b: 0.163821243),
+              (r: 0.994140989, g: 0.753136955, b: 0.161404226),
+              (r: 0.993850778, g: 0.75930439, b: 0.159091984),
+              (r: 0.99348219, g: 0.765498551, b: 0.156890625),
+              (r: 0.993033251, g: 0.771719833, b: 0.154807583),
+              (r: 0.992505214, g: 0.777966775, b: 0.152854862),
+              (r: 0.99189727, g: 0.78423912, b: 0.151041581),
+              (r: 0.99120868, g: 0.790536569, b: 0.149376885),
+              (r: 0.990438793, g: 0.796858775, b: 0.14786981),
+              (r: 0.989587065, g: 0.803205337, b: 0.146529128),
+              (r: 0.988647741, g: 0.809578605, b: 0.145357284),
+              (r: 0.987620557, g: 0.815977942, b: 0.144362644),
+              (r: 0.986509366, g: 0.82240062, b: 0.143556679),
+              (r: 0.985314198, g: 0.82884598, b: 0.142945116),
+              (r: 0.984031139, g: 0.83531536, b: 0.142528388),
+              (r: 0.98265282, g: 0.84181173, b: 0.142302653),
+              (r: 0.981190389, g: 0.848328902, b: 0.142278607),
+              (r: 0.979643637, g: 0.854866468, b: 0.142453425),
+              (r: 0.977994918, g: 0.861432314, b: 0.142808191),
+              (r: 0.976264977, g: 0.868015998, b: 0.143350944),
+              (r: 0.974443038, g: 0.874622194, b: 0.144061156),
+              (r: 0.972530009, g: 0.881250063, b: 0.144922913),
+              (r: 0.970532932, g: 0.887896125, b: 0.145918663),
+              (r: 0.968443477, g: 0.894563989, b: 0.147014438),
+              (r: 0.966271225, g: 0.901249365, b: 0.148179639),
+              (r: 0.964021057, g: 0.907950379, b: 0.149370428),
+              (r: 0.961681481, g: 0.914672479, b: 0.150520343),
+              (r: 0.959275646, g: 0.921406537, b: 0.151566019),
+              (r: 0.956808068, g: 0.928152065, b: 0.152409489),
+              (r: 0.954286813, g: 0.93490773, b: 0.152921158),
+              (r: 0.951726083, g: 0.941670605, b: 0.152925363),
+              (r: 0.949150533, g: 0.9484349, b: 0.152177604),
+              (r: 0.94660227, g: 0.95518986, b: 0.150327944),
+              (r: 0.944151742, g: 0.961916487, b: 0.146860789),
+              (r: 0.94189612, g: 0.968589814, b: 0.140955606),
+              (r: 0.940015097, g: 0.975158357, b: 0.131325517)]
+
+ + + Source   +Edit   + +
+
+
+
ViridisRaw = @[(r: 0.26700401, g: 0.00487433, b: 0.32941519),
+               (r: 0.26851048, g: 0.00960483, b: 0.33542652),
+               (r: 0.26994384, g: 0.01462494, b: 0.34137895),
+               (r: 0.27130489, g: 0.01994186, b: 0.34726862),
+               (r: 0.27259384, g: 0.02556309, b: 0.35309303),
+               (r: 0.27380934, g: 0.03149748, b: 0.35885256),
+               (r: 0.27495242, g: 0.03775181, b: 0.36454323),
+               (r: 0.27602238, g: 0.04416723, b: 0.37016418),
+               (r: 0.2770184, g: 0.05034437, b: 0.37571452),
+               (r: 0.27794143, g: 0.05632444, b: 0.38119074),
+               (r: 0.27879067, g: 0.06214536, b: 0.38659204),
+               (r: 0.2795655, g: 0.06783587, b: 0.39191723),
+               (r: 0.28026658, g: 0.07341724, b: 0.39716349),
+               (r: 0.28089358, g: 0.07890703, b: 0.40232944),
+               (r: 0.28144581, g: 0.0843197, b: 0.40741404),
+               (r: 0.28192358, g: 0.08966622, b: 0.41241521),
+               (r: 0.28232739, g: 0.09495545, b: 0.41733086),
+               (r: 0.28265633, g: 0.10019576, b: 0.42216032),
+               (r: 0.28291049, g: 0.10539345, b: 0.42690202),
+               (r: 0.28309095, g: 0.11055307, b: 0.43155375),
+               (r: 0.28319704, g: 0.11567966, b: 0.43611482),
+               (r: 0.28322882, g: 0.12077701, b: 0.44058404),
+               (r: 0.28318684, g: 0.12584799, b: 0.44496),
+               (r: 0.283072, g: 0.13089477, b: 0.44924127),
+               (r: 0.28288389, g: 0.13592005, b: 0.45342734),
+               (r: 0.28262297, g: 0.14092556, b: 0.45751726),
+               (r: 0.28229037, g: 0.14591233, b: 0.46150995),
+               (r: 0.28188676, g: 0.15088147, b: 0.46540474),
+               (r: 0.28141228, g: 0.15583425, b: 0.46920128),
+               (r: 0.28086773, g: 0.16077132, b: 0.47289909),
+               (r: 0.28025468, g: 0.16569272, b: 0.47649762),
+               (r: 0.27957399, g: 0.17059884, b: 0.47999675),
+               (r: 0.27882618, g: 0.1754902, b: 0.48339654),
+               (r: 0.27801236, g: 0.18036684, b: 0.48669702),
+               (r: 0.27713437, g: 0.18522836, b: 0.48989831),
+               (r: 0.27619376, g: 0.19007447, b: 0.49300074),
+               (r: 0.27519116, g: 0.1949054, b: 0.49600488),
+               (r: 0.27412802, g: 0.19972086, b: 0.49891131),
+               (r: 0.27300596, g: 0.20452049, b: 0.50172076),
+               (r: 0.27182812, g: 0.20930306, b: 0.50443413),
+               (r: 0.27059473, g: 0.21406899, b: 0.50705243),
+               (r: 0.26930756, g: 0.21881782, b: 0.50957678),
+               (r: 0.26796846, g: 0.22354911, b: 0.5120084),
+               (r: 0.26657984, g: 0.2282621, b: 0.5143487),
+               (r: 0.2651445, g: 0.23295593, b: 0.5165993),
+               (r: 0.2636632, g: 0.23763078, b: 0.51876163),
+               (r: 0.26213801, g: 0.24228619, b: 0.52083736),
+               (r: 0.26057103, g: 0.2469217, b: 0.52282822),
+               (r: 0.25896451, g: 0.25153685, b: 0.52473609),
+               (r: 0.25732244, g: 0.2561304, b: 0.52656332),
+               (r: 0.25564519, g: 0.26070284, b: 0.52831152),
+               (r: 0.25393498, g: 0.26525384, b: 0.52998273),
+               (r: 0.25219404, g: 0.26978306, b: 0.53157905),
+               (r: 0.25042462, g: 0.27429024, b: 0.53310261),
+               (r: 0.24862899, g: 0.27877509, b: 0.53455561),
+               (r: 0.2468114, g: 0.28323662, b: 0.53594093),
+               (r: 0.24497208, g: 0.28767547, b: 0.53726018),
+               (r: 0.24311324, g: 0.29209154, b: 0.53851561),
+               (r: 0.24123708, g: 0.29648471, b: 0.53970946),
+               (r: 0.23934575, g: 0.30085494, b: 0.54084398),
+               (r: 0.23744138, g: 0.30520222, b: 0.5419214),
+               (r: 0.23552606, g: 0.30952657, b: 0.54294396),
+               (r: 0.23360277, g: 0.31382773, b: 0.54391424),
+               (r: 0.2316735, g: 0.3181058, b: 0.54483444),
+               (r: 0.22973926, g: 0.32236127, b: 0.54570633),
+               (r: 0.22780192, g: 0.32659432, b: 0.546532),
+               (r: 0.2258633, g: 0.33080515, b: 0.54731353),
+               (r: 0.22392515, g: 0.334994, b: 0.54805291),
+               (r: 0.22198915, g: 0.33916114, b: 0.54875211),
+               (r: 0.22005691, g: 0.34330688, b: 0.54941304),
+               (r: 0.21812995, g: 0.34743154, b: 0.55003755),
+               (r: 0.21620971, g: 0.35153548, b: 0.55062743),
+               (r: 0.21429757, g: 0.35561907, b: 0.5511844),
+               (r: 0.21239477, g: 0.35968273, b: 0.55171011),
+               (r: 0.2105031, g: 0.36372671, b: 0.55220646),
+               (r: 0.20862342, g: 0.36775151, b: 0.55267486),
+               (r: 0.20675628, g: 0.37175775, b: 0.55311653),
+               (r: 0.20490257, g: 0.37574589, b: 0.55353282),
+               (r: 0.20306309, g: 0.37971644, b: 0.55392505),
+               (r: 0.20123854, g: 0.38366989, b: 0.55429441),
+               (r: 0.1994295, g: 0.38760678, b: 0.55464205),
+               (r: 0.1976365, g: 0.39152762, b: 0.55496905),
+               (r: 0.19585993, g: 0.39543297, b: 0.55527637),
+               (r: 0.19410009, g: 0.39932336, b: 0.55556494),
+               (r: 0.19235719, g: 0.40319934, b: 0.55583559),
+               (r: 0.19063135, g: 0.40706148, b: 0.55608907),
+               (r: 0.18892259, g: 0.41091033, b: 0.55632606),
+               (r: 0.18723083, g: 0.41474645, b: 0.55654717),
+               (r: 0.18555593, g: 0.4185704, b: 0.55675292),
+               (r: 0.18389763, g: 0.42238275, b: 0.55694377),
+               (r: 0.18225561, g: 0.42618405, b: 0.5571201),
+               (r: 0.18062949, g: 0.42997486, b: 0.55728221),
+               (r: 0.17901879, g: 0.43375572, b: 0.55743035),
+               (r: 0.17742298, g: 0.4375272, b: 0.55756466),
+               (r: 0.17584148, g: 0.44128981, b: 0.55768526),
+               (r: 0.17427363, g: 0.4450441, b: 0.55779216),
+               (r: 0.17271876, g: 0.4487906, b: 0.55788532),
+               (r: 0.17117615, g: 0.4525298, b: 0.55796464),
+               (r: 0.16964573, g: 0.45626209, b: 0.55803034),
+               (r: 0.16812641, g: 0.45998802, b: 0.55808199),
+               (r: 0.1666171, g: 0.46370813, b: 0.55811913),
+               (r: 0.16511703, g: 0.4674229, b: 0.55814141),
+               (r: 0.16362543, g: 0.47113278, b: 0.55814842),
+               (r: 0.16214155, g: 0.47483821, b: 0.55813967),
+               (r: 0.16066467, g: 0.47853961, b: 0.55811466),
+               (r: 0.15919413, g: 0.4822374, b: 0.5580728),
+               (r: 0.15772933, g: 0.48593197, b: 0.55801347),
+               (r: 0.15626973, g: 0.4896237, b: 0.557936),
+               (r: 0.15481488, g: 0.49331293, b: 0.55783967),
+               (r: 0.15336445, g: 0.49700003, b: 0.55772371),
+               (r: 0.1519182, g: 0.50068529, b: 0.55758733),
+               (r: 0.15047605, g: 0.50436904, b: 0.55742968),
+               (r: 0.14903918, g: 0.50805136, b: 0.5572505),
+               (r: 0.14760731, g: 0.51173263, b: 0.55704861),
+               (r: 0.14618026, g: 0.51541316, b: 0.55682271),
+               (r: 0.14475863, g: 0.51909319, b: 0.55657181),
+               (r: 0.14334327, g: 0.52277292, b: 0.55629491),
+               (r: 0.14193527, g: 0.52645254, b: 0.55599097),
+               (r: 0.14053599, g: 0.53013219, b: 0.55565893),
+               (r: 0.13914708, g: 0.53381201, b: 0.55529773),
+               (r: 0.13777048, g: 0.53749213, b: 0.55490625),
+               (r: 0.1364085, g: 0.54117264, b: 0.55448339),
+               (r: 0.13506561, g: 0.54485335, b: 0.55402906),
+               (r: 0.13374299, g: 0.54853458, b: 0.55354108),
+               (r: 0.13244401, g: 0.55221637, b: 0.55301828),
+               (r: 0.13117249, g: 0.55589872, b: 0.55245948),
+               (r: 0.1299327, g: 0.55958162, b: 0.55186354),
+               (r: 0.12872938, g: 0.56326503, b: 0.55122927),
+               (r: 0.12756771, g: 0.56694891, b: 0.55055551),
+               (r: 0.12645338, g: 0.57063316, b: 0.5498411),
+               (r: 0.12539383, g: 0.57431754, b: 0.54908564),
+               (r: 0.12439474, g: 0.57800205, b: 0.5482874),
+               (r: 0.12346281, g: 0.58168661, b: 0.54744498),
+               (r: 0.12260562, g: 0.58537105, b: 0.54655722),
+               (r: 0.12183122, g: 0.58905521, b: 0.54562298),
+               (r: 0.12114807, g: 0.59273889, b: 0.54464114),
+               (r: 0.12056501, g: 0.59642187, b: 0.54361058),
+               (r: 0.12009154, g: 0.60010387, b: 0.54253043),
+               (r: 0.11973756, g: 0.60378459, b: 0.54139999),
+               (r: 0.11951163, g: 0.60746388, b: 0.54021751),
+               (r: 0.11942341, g: 0.61114146, b: 0.53898192),
+               (r: 0.11948255, g: 0.61481702, b: 0.53769219),
+               (r: 0.11969858, g: 0.61849025, b: 0.53634733),
+               (r: 0.12008079, g: 0.62216081, b: 0.53494633),
+               (r: 0.12063824, g: 0.62582833, b: 0.53348834),
+               (r: 0.12137972, g: 0.62949242, b: 0.53197275),
+               (r: 0.12231244, g: 0.63315277, b: 0.53039808),
+               (r: 0.12344358, g: 0.63680899, b: 0.52876343),
+               (r: 0.12477953, g: 0.64046069, b: 0.52706792),
+               (r: 0.12632581, g: 0.64410744, b: 0.52531069),
+               (r: 0.12808703, g: 0.64774881, b: 0.52349092),
+               (r: 0.13006688, g: 0.65138436, b: 0.52160791),
+               (r: 0.13226797, g: 0.65501363, b: 0.51966086),
+               (r: 0.13469183, g: 0.65863619, b: 0.5176488),
+               (r: 0.13733921, g: 0.66225157, b: 0.51557101),
+               (r: 0.14020991, g: 0.66585927, b: 0.5134268),
+               (r: 0.14330291, g: 0.66945881, b: 0.51121549),
+               (r: 0.1466164, g: 0.67304968, b: 0.50893644),
+               (r: 0.15014782, g: 0.67663139, b: 0.5065889),
+               (r: 0.15389405, g: 0.68020343, b: 0.50417217),
+               (r: 0.15785146, g: 0.68376525, b: 0.50168574),
+               (r: 0.16201598, g: 0.68731632, b: 0.49912906),
+               (r: 0.1663832, g: 0.69085611, b: 0.49650163),
+               (r: 0.1709484, g: 0.69438405, b: 0.49380294),
+               (r: 0.17570671, g: 0.6978996, b: 0.49103252),
+               (r: 0.18065314, g: 0.70140222, b: 0.48818938),
+               (r: 0.18578266, g: 0.70489133, b: 0.48527326),
+               (r: 0.19109018, g: 0.70836635, b: 0.48228395),
+               (r: 0.19657063, g: 0.71182668, b: 0.47922108),
+               (r: 0.20221902, g: 0.71527175, b: 0.47608431),
+               (r: 0.20803045, g: 0.71870095, b: 0.4728733),
+               (r: 0.21400015, g: 0.72211371, b: 0.46958774),
+               (r: 0.22012381, g: 0.72550945, b: 0.46622638),
+               (r: 0.2263969, g: 0.72888753, b: 0.46278934),
+               (r: 0.23281498, g: 0.73224735, b: 0.45927675),
+               (r: 0.2393739, g: 0.73558828, b: 0.45568838),
+               (r: 0.24606968, g: 0.73890972, b: 0.45202405),
+               (r: 0.25289851, g: 0.74221104, b: 0.44828355),
+               (r: 0.25985676, g: 0.74549162, b: 0.44446673),
+               (r: 0.26694127, g: 0.74875084, b: 0.44057284),
+               (r: 0.27414922, g: 0.75198807, b: 0.4366009),
+               (r: 0.28147681, g: 0.75520266, b: 0.43255207),
+               (r: 0.28892102, g: 0.75839399, b: 0.42842626),
+               (r: 0.29647899, g: 0.76156142, b: 0.42422341),
+               (r: 0.30414796, g: 0.76470433, b: 0.41994346),
+               (r: 0.31192534, g: 0.76782207, b: 0.41558638),
+               (r: 0.3198086, g: 0.77091403, b: 0.41115215),
+               (r: 0.3277958, g: 0.77397953, b: 0.40664011),
+               (r: 0.33588539, g: 0.7770179, b: 0.40204917),
+               (r: 0.34407411, g: 0.78002855, b: 0.39738103),
+               (r: 0.35235985, g: 0.78301086, b: 0.39263579),
+               (r: 0.36074053, g: 0.78596419, b: 0.38781353),
+               (r: 0.3692142, g: 0.78888793, b: 0.38291438),
+               (r: 0.37777892, g: 0.79178146, b: 0.3779385),
+               (r: 0.38643282, g: 0.79464415, b: 0.37288606),
+               (r: 0.39517408, g: 0.79747541, b: 0.36775726),
+               (r: 0.40400101, g: 0.80027461, b: 0.36255223),
+               (r: 0.4129135, g: 0.80304099, b: 0.35726893),
+               (r: 0.42190813, g: 0.80577412, b: 0.35191009),
+               (r: 0.43098317, g: 0.80847343, b: 0.34647607),
+               (r: 0.44013691, g: 0.81113836, b: 0.3409673),
+               (r: 0.44936763, g: 0.81376835, b: 0.33538426),
+               (r: 0.45867362, g: 0.81636288, b: 0.32972749),
+               (r: 0.46805314, g: 0.81892143, b: 0.32399761),
+               (r: 0.47750446, g: 0.82144351, b: 0.31819529),
+               (r: 0.4870258, g: 0.82392862, b: 0.31232133),
+               (r: 0.49661536, g: 0.82637633, b: 0.30637661),
+               (r: 0.5062713, g: 0.82878621, b: 0.30036211),
+               (r: 0.51599182, g: 0.83115784, b: 0.29427888),
+               (r: 0.52577622, g: 0.83349064, b: 0.2881265),
+               (r: 0.5356211, g: 0.83578452, b: 0.28190832),
+               (r: 0.5455244, g: 0.83803918, b: 0.27562602),
+               (r: 0.55548397, g: 0.84025437, b: 0.26928147),
+               (r: 0.5654976, g: 0.8424299, b: 0.26287683),
+               (r: 0.57556297, g: 0.84456561, b: 0.25641457),
+               (r: 0.58567772, g: 0.84666139, b: 0.24989748),
+               (r: 0.59583934, g: 0.84871722, b: 0.24332878),
+               (r: 0.60604528, g: 0.8507331, b: 0.23671214),
+               (r: 0.61629283, g: 0.85270912, b: 0.23005179),
+               (r: 0.62657923, g: 0.85464543, b: 0.22335258),
+               (r: 0.63690157, g: 0.85654226, b: 0.21662012),
+               (r: 0.64725685, g: 0.85839991, b: 0.20986086),
+               (r: 0.65764197, g: 0.86021878, b: 0.20308229),
+               (r: 0.66805369, g: 0.86199932, b: 0.19629307),
+               (r: 0.67848868, g: 0.86374211, b: 0.18950326),
+               (r: 0.68894351, g: 0.86544779, b: 0.18272455),
+               (r: 0.69941463, g: 0.86711711, b: 0.17597055),
+               (r: 0.70989842, g: 0.86875092, b: 0.16925712),
+               (r: 0.72039115, g: 0.87035015, b: 0.16260273),
+               (r: 0.73088902, g: 0.87191584, b: 0.15602894),
+               (r: 0.74138803, g: 0.87344918, b: 0.14956101),
+               (r: 0.75188414, g: 0.87495143, b: 0.14322828),
+               (r: 0.76237342, g: 0.87642392, b: 0.13706449),
+               (r: 0.77285183, g: 0.87786808, b: 0.13110864),
+               (r: 0.78331535, g: 0.87928545, b: 0.12540538),
+               (r: 0.79375994, g: 0.88067763, b: 0.12000532),
+               (r: 0.80418159, g: 0.88204632, b: 0.11496505),
+               (r: 0.81457634, g: 0.88339329, b: 0.11034678),
+               (r: 0.82494028, g: 0.88472036, b: 0.10621724),
+               (r: 0.83526959, g: 0.88602943, b: 0.1026459),
+               (r: 0.84556056, g: 0.88732243, b: 0.09970219),
+               (r: 0.8558096, g: 0.88860134, b: 0.09745186),
+               (r: 0.86601325, g: 0.88986815, b: 0.09595277),
+               (r: 0.87616824, g: 0.89112487, b: 0.09525046),
+               (r: 0.88627146, g: 0.89237353, b: 0.09537439),
+               (r: 0.89632002, g: 0.89361614, b: 0.09633538),
+               (r: 0.90631121, g: 0.89485467, b: 0.09812496),
+               (r: 0.91624212, g: 0.89609127, b: 0.1007168),
+               (r: 0.92610579, g: 0.89732977, b: 0.10407067),
+               (r: 0.93590444, g: 0.8985704, b: 0.10813094),
+               (r: 0.94563626, g: 0.899815, b: 0.11283773),
+               (r: 0.95529972, g: 0.90106534, b: 0.11812832),
+               (r: 0.96489353, g: 0.90232311, b: 0.12394051),
+               (r: 0.97441665, g: 0.90358991, b: 0.13021494),
+               (r: 0.98386829, g: 0.90486726, b: 0.13689671),
+               (r: 0.99324789, g: 0.90615657, b: 0.1439326)]
+
+ + + Source   +Edit   + +
+
+ +
+
+ +
+
+ + +
+
+ + + + + + diff --git a/plotly/predefined_colormaps.idx b/plotly/predefined_colormaps.idx new file mode 100644 index 0000000..497f8fb --- /dev/null +++ b/plotly/predefined_colormaps.idx @@ -0,0 +1,5 @@ +nimTitle predefined_colormaps plotly/predefined_colormaps.html module plotly/predefined_colormaps 0 +nim MagmaRaw plotly/predefined_colormaps.html#MagmaRaw let MagmaRaw 12 +nim InfernoRaw plotly/predefined_colormaps.html#InfernoRaw let InfernoRaw 271 +nim PlasmaRaw plotly/predefined_colormaps.html#PlasmaRaw let PlasmaRaw 530 +nim ViridisRaw plotly/predefined_colormaps.html#ViridisRaw let ViridisRaw 789 diff --git a/theindex.html b/theindex.html new file mode 100644 index 0000000..5ca282e --- /dev/null +++ b/theindex.html @@ -0,0 +1,576 @@ + + + + + + + +Index + + + + + + + + + + + + +
+
+

Index

+ Modules: plotly, plotly/api, plotly/color, plotly/errorbar, plotly/image_retrieve, plotly/plotly_display, plotly/plotly_subplots, plotly/plotly_sugar, plotly/plotly_types, plotly/predefined_colormaps.

API symbols

+
`$`:
+
`%`:
+
`[]=`:
+
`[]`:
+
add:
+
addTrace:
+
Annotation:
+
Axis:
+
AxisType:
+
backgroundColor:
+
BarAlign:
+
BarMode:
+
barPlot:
+
binRange:
+
binSize:
+
colormap:
+
ColorMap:
+
convertDomain:
+
createGrid:
+
CustomColorMap:
+
Domain:
+
DomainAlt:
+
ebkArrayAsym:
+
ebkArraySym:
+
ebkConstantAsym:
+
ebkConstantSym:
+
ebkPercentAsym:
+
ebkPercentSym:
+
ebkSqrt:
+
empty:
+
ErrorBar:
+
ErrorBarKind:
+
Font:
+
getCustomMap:
+
Grid:
+
gridColor:
+
gridColorX:
+
gridColorY:
+
gridWidth:
+
gridWidthX:
+
gridWidthY:
+
hasThreadSupport:
+
heatmap:
+
heatmapTrace:
+
height:
+
HistFunc:
+
HistNorm:
+
histPlot:
+
histTrace:
+
HoverMode:
+
Inferno:
+
InfernoRaw:
+
InfernoZeroWhite:
+
isEmpty:
+
json:
+
Layout:
+
legend:
+
Legend:
+
legendBgColor:
+
legendBorderColor:
+
legendBorderWidth:
+
legendLocation:
+
legendOrientation:
+
lineWidth:
+
listenForImage:
+
Magma:
+
MagmaRaw:
+
MagmaZeroWhite:
+
makePlotlyCustomMap:
+
makeZeroWhite:
+
Marker:
+
markerColor:
+
markerSize:
+
markerSizes:
+
mode:
+
name:
+
nbins:
+
newErrorBar:
+
newPlot:
+
Orientation:
+
Other:
+
paperColor:
+
parseImageType:
+
parseTraces:
+
Plasma:
+
PlasmaRaw:
+
PlasmaZeroWhite:
+
Plot:
+
PlotFill:
+
PlotJson:
+
PlotMode:
+
PlotSide:
+
PlotType:
+
pltLabel:
+
PredefinedCustomMaps:
+
RangeSlider:
+
roundOrIdent:
+
save:
+
saveImage:
+
scatterColor:
+
scatterPlot:
+
scatterTrace:
+
show:
+
SomePlot:
+
subplots:
+
text:
+
title:
+
toHtmlHex:
+
toPlotJson:
+
Trace:
+
ViridisRaw:
+
ViridisZeroWhite:
+
WhiteToBlack:
+
width:
+
xlabel:
+
ylabel:
+
zmax:
+
zmin:
+
+ +
+
+ + + + + +