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 @@ + + + + +
+ + +func `%`(a: Annotation): JsonNode {....raises: [], tags: [], forbids: [].}
proc toPlotJson[T](plt: Plot[T]): PlotJson
proc getCustomMap(customMap: PredefinedCustomMaps): CustomColorMap {....raises: [], + tags: [], forbids: [].}
proc makePlotlyCustomMap(map: CustomColorMap): JsonNode {....raises: [], tags: [], + forbids: [].}
proc makeZeroWhite(cmap: CmapData): CmapData {....raises: [], tags: [], forbids: [].}
func newErrorBar[T: SomeNumber](color: Color = empty(); thickness = 0.0; + width = 0.0; visible = true): ErrorBar[T]
func newErrorBar[T: SomeNumber](err: T; color: Color = empty(); thickness = 0.0; + width = 0.0; visible = true; percent = false): ErrorBar[ + T]
func newErrorBar[T: SomeNumber](err: tuple[m, p: seq[T]]; + color: Color = empty(); thickness = 0.0; + width = 0.0; visible = true): ErrorBar[T]
func newErrorBar[T: SomeNumber](err: tuple[m, p: T]; color: Color = empty(); + thickness = 0.0; width = 0.0; visible = true; + percent = false): ErrorBar[T]
func newErrorBar[T](err: seq[T]; color: Color = empty(); thickness = 0.0; + width = 0.0; visible = true): ErrorBar[T]
proc listenForImage(filename: string) {....raises: [Exception, ValueError, + LibraryError, SslError, OSError], tags: [RootEffect, WriteIOEffect, + ReadIOEffect, TimeEffect], forbids: [].}
proc parseImageType(filename: string): string {....raises: [], tags: [], + forbids: [].}
hasThreadSupport = true
proc parseTraces[T](traces: seq[Trace[T]]): string
proc saveImage(p: SomePlot; filename: string; htmlPath = ""; + htmlTemplate = defaultTmplString; removeTempFile = false; + autoResize = false)
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 + +proc createGrid(numPlots: int; numPlotsPerRow = 0; layout = Layout()): Grid {. + ...raises: [], tags: [], forbids: [].}
proc createGrid(size: tuple[rows, cols: int]; layout = Layout()): Grid {. + ...raises: [], tags: [], forbids: [].}
proc toPlotJson(grid: Grid): PlotJson {....raises: [KeyError], tags: [], + forbids: [].}
macro subplots(stmts: untyped): untyped
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 + +proc backgroundColor[T](plt: Plot[T]; color: Color): Plot[T]
proc colormap[T; U: AllowedColorMap](plt: Plot[T]; colormap: U; idx = 0): Plot[T]
proc gridColorX[T](plt: Plot[T]; color: Color): Plot[T]
proc gridColorY[T](plt: Plot[T]; color: Color): Plot[T]
proc gridWidthX[T](plt: Plot[T]; width: int): Plot[T]
proc gridWidthY[T](plt: Plot[T]; width: int): Plot[T]
proc heatmapTrace[T](z: seq[seq[T]]): Trace[T]
proc legendBgColor[T](plt: Plot[T]; color: Color): Plot[T]
proc legendBorderColor[T](plt: Plot[T]; color: Color): Plot[T]
proc legendBorderWidth[T](plt: Plot[T]; width: int): Plot[T]
proc legendLocation[T](plt: Plot[T]; x, y: float): Plot[T]
proc legendOrientation[T](plt: Plot[T]; orientation: Orientation): Plot[T]
proc markerSize[T](plt: Plot[T]; val: SomeNumber; idx = 0): Plot[T]
proc markerSizes[T](plt: Plot[T]; sizes: seq[T]; idx = 0): Plot[T]
proc paperColor[T](plt: Plot[T]; color: Color): Plot[T]
proc roundOrIdent[T: SomeNumber](x: T): T
proc scatterTrace[T, U](x: seq[T]; y: seq[U]): Trace[T]
template scatterColor(x, y, z: untyped): untyped
template scatterPlot(x, y: untyped): untyped
Annotation = ref object + x*: float + xshift*: float + y*: float + yshift*: float + text*: string + showarrow*: bool
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
BarMode {.pure.} = enum + Unset = "", Stack = "stack", Overlay = "overlay"
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"
CustomColorMap = ref object + rawColors*: seq[tuple[r, g, b: float64]] + name*: string
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]
ErrorBarKind = enum + ebkConstantSym, ebkConstantAsym, ebkPercentSym, ebkPercentAsym, ebkSqrt, + ebkArraySym, ebkArrayAsym
HistFunc {.pure.} = enum + Count = "count", Sum = "sum", Avg = "avg", Min = "min", Max = "max"
HistNorm {.pure.} = enum + None = "", Percent = "percent", Probability = "probability", + Density = "density", ProbabilityDensity = "probability density"
HoverMode {.pure.} = enum + Closest = "closest", X = "x", Y = "y", False = "false"
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
Legend = ref object + x*: float + y*: float + font*: Font + backgroundColor*: Color + borderColor*: Color + borderWidth*: int + orientation*: Orientation
Marker[T] = ref object + size*: seq[T] + color*: seq[Color] + colorVals*: seq[T] + colormap*: ColorMap + customColormap*: CustomColorMap
Orientation {.pure.} = enum + None = "", Vertical = "v", Horizontal = "h"
PlotFill {.pure.} = enum + Unset = "", ToNextY = "tonexty", ToZeroY = "tozeroy", ToSelf = "toself"
PlotMode {.pure.} = enum + Lines = "lines", Markers = "markers", LinesMarkers = "lines+markers"
PlotType {.pure.} = enum + Scatter = "scatter", ScatterGL = "scattergl", Bar = "bar", + Histogram = "histogram", Box = "box", HeatMap = "heatmap", + HeatMapGL = "heatmapgl", Candlestick = "candlestick", Contour = "contour"
PredefinedCustomMaps = enum + Other, ViridisZeroWhite, Plasma, PlasmaZeroWhite, Magma, MagmaZeroWhite, + Inferno, InfernoZeroWhite, WhiteToBlack
RangeSlider = ref object + visible*: bool
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
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)]
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)]
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)]
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)]