Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

js backend - std/bitops/bitsliced throws compile error in typeMasked as of nim 2.0 #22687

Closed
ftsf opened this issue Sep 11, 2023 · 5 comments · Fixed by #22722
Closed

js backend - std/bitops/bitsliced throws compile error in typeMasked as of nim 2.0 #22687

ftsf opened this issue Sep 11, 2023 · 5 comments · Fixed by #22722

Comments

@ftsf
Copy link
Contributor

ftsf commented Sep 11, 2023

Description

import std/bitops

var a: uint8 = 0b1111_1111

echo a.bitsliced(4..7).int

expected result:

15

result when using js backend on nim 2.0.0:

$ nim js -r bitslicedtest.nim
Hint: used config file 'C:\Users\user\.choosenim\toolchains\nim-2.0.0\config\nim.cfg' [Conf]
Hint: used config file 'C:\Users\user\.choosenim\toolchains\nim-2.0.0\config\config.nims' [Conf]
............................................
C:\Users\user\git\matey\bitslicedtest.nim(5, 7) template/generic instantiation of `bitsliced` from here
C:\Users\user\.choosenim\toolchains\nim-2.0.0\lib\pure\bitops.nim(82, 31) template/generic instantiation of `typeMasked` from here
C:\Users\user\.choosenim\toolchains\nim-2.0.0\lib\pure\bitops.nim(68, 7) Error: type mismatch: got 'uint' for 'uv shl (upmost - slice.b) and 255'u' but expected 'uint8'

this worked as expected on nim 1.6.12

$ nim js -r bitslicedtest.nim
Hint: used config file 'C:\Users\user\.choosenim\toolchains\nim-1.6.12\config\nim.cfg' [Conf]
Hint: used config file 'C:\Users\user\.choosenim\toolchains\nim-1.6.12\config\config.nims' [Conf]
.......................................
Hint: opt: none (DEBUG BUILD, `-d:release` generates faster code)
24007 lines; 0.269s; 25.52MiB peakmem; proj: C:\Users\user\git\matey\bitslicedtest.nim; out: C:\Users\user\git\matey\bitslicedtest.js [SuccessX]
Hint: "C:\Program Files\nodejs\node.exe" --unhandled-rejections=strict C:\Users\user\git\matey\bitslicedtest.js  [Exec]
15

Nim Version

$ nim -v
Nim Compiler Version 2.0.0 [Windows: amd64]
Compiled at 2023-08-01
Copyright (c) 2006-2023 by Andreas Rumpf

active boot switches: -d:release

Current Output

$ nim js -r bitslicedtest.nim
Hint: used config file 'C:\Users\user\.choosenim\toolchains\nim-2.0.0\config\nim.cfg' [Conf]
Hint: used config file 'C:\Users\user\.choosenim\toolchains\nim-2.0.0\config\config.nims' [Conf]
............................................
C:\Users\user\git\matey\bitslicedtest.nim(5, 7) template/generic instantiation of `bitsliced` from here
C:\Users\user\.choosenim\toolchains\nim-2.0.0\lib\pure\bitops.nim(82, 31) template/generic instantiation of `typeMasked` from here
C:\Users\user\.choosenim\toolchains\nim-2.0.0\lib\pure\bitops.nim(68, 7) Error: type mismatch: got 'uint' for 'uv shl (upmost - slice.b) and 255'u' but expected 'uint8'

Expected Output

$ nim js -r bitslicedtest.nim
Hint: used config file 'C:\Users\user\.choosenim\toolchains\nim-1.6.12\config\nim.cfg' [Conf]
Hint: used config file 'C:\Users\user\.choosenim\toolchains\nim-1.6.12\config\config.nims' [Conf]
.......................................
Hint: opt: none (DEBUG BUILD, `-d:release` generates faster code)
24007 lines; 0.269s; 25.52MiB peakmem; proj: C:\Users\user\git\matey\bitslicedtest.nim; out: C:\Users\user\git\matey\bitslicedtest.js [SuccessX]
Hint: "C:\Program Files\nodejs\node.exe" --unhandled-rejections=strict C:\Users\user\git\matey\bitslicedtest.js  [Exec]
15

Possible Solution

No response

Additional Information

No response

@ftsf
Copy link
Contributor Author

ftsf commented Sep 11, 2023

was previously broken on older versions but fixed in #21564 but now hitting a different error since 2.0

@ringabout
Copy link
Member

!nim js

import std/bitops

var a: uint8 = 0b1111_1111

echo a.bitsliced(4..7).int

@juancarlospaco
Copy link
Collaborator

https://github.com/nim-lang/Nim/actions/runs/6142241350
" IOException: No space left on device. " 🤔

juancarlospaco added a commit to juancarlospaco/nimrun-action that referenced this issue Sep 11, 2023
@ringabout
Copy link
Member

!nim js

import std/bitops

var a: uint8 = 0b1111_1111

echo a.bitsliced(4..7).int

@github-actions
Copy link
Contributor

@ringabout (member)

devel 👎 FAIL

Output

Error: Command failed: nim js -d:nodejs -d:nimExperimentalAsyncjsThen -d:nimExperimentalJsfetch  --run  -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --warnings:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(3, 7) template/generic instantiation of `bitsliced` from here
/home/runner/.choosenim/toolchains/nim-#devel/lib/pure/bitops.nim(82, 31) template/generic instantiation of `typeMasked` from here
/home/runner/.choosenim/toolchains/nim-#devel/lib/pure/bitops.nim(68, 7) Error: type mismatch: got 'uint' for 'uv shl (upmost - slice.b) and 255'u' but expected 'uint8'

Stats

  • Started 2023-09-18T13:26:38
  • Finished 2023-09-18T13:26:38
  • Duration

IR

Compiled filesize 0 bytes (0 bytes)

AST

nnkStmtList.newTree(
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      newIdentNode("bitops")
    )
  ),
  nnkVarSection.newTree(
    nnkIdentDefs.newTree(
      newIdentNode("a"),
      newIdentNode("uint8"),
      newLit(255)
    )
  ),
  nnkCommand.newTree(
    newIdentNode("echo"),
    nnkDotExpr.newTree(
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("a"),
          newIdentNode("bitsliced")
        ),
        nnkInfix.newTree(
          newIdentNode(".."),
          newLit(4),
          newLit(7)
        )
      ),
      newIdentNode("int")
    )
  )
)
stable 👎 FAIL

Output

Error: Command failed: nim js -d:nodejs -d:nimExperimentalAsyncjsThen -d:nimExperimentalJsfetch  --run  -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --warnings:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(3, 7) template/generic instantiation of `bitsliced` from here
/home/runner/.choosenim/toolchains/nim-2.0.0/lib/pure/bitops.nim(82, 31) template/generic instantiation of `typeMasked` from here
/home/runner/.choosenim/toolchains/nim-2.0.0/lib/pure/bitops.nim(68, 7) Error: type mismatch: got 'uint' for 'uv shl (upmost - slice.b) and 255'u' but expected 'uint8'

Stats

  • Started 2023-09-18T13:26:39
  • Finished 2023-09-18T13:26:39
  • Duration

IR

Compiled filesize 0 bytes (0 bytes)

AST

nnkStmtList.newTree(
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      newIdentNode("bitops")
    )
  ),
  nnkVarSection.newTree(
    nnkIdentDefs.newTree(
      newIdentNode("a"),
      newIdentNode("uint8"),
      newLit(255)
    )
  ),
  nnkCommand.newTree(
    newIdentNode("echo"),
    nnkDotExpr.newTree(
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("a"),
          newIdentNode("bitsliced")
        ),
        nnkInfix.newTree(
          newIdentNode(".."),
          newLit(4),
          newLit(7)
        )
      ),
      newIdentNode("int")
    )
  )
)
2.0.0 👎 FAIL

Output

Error: Command failed: nim js -d:nodejs -d:nimExperimentalAsyncjsThen -d:nimExperimentalJsfetch  --run  -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --warnings:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(3, 7) template/generic instantiation of `bitsliced` from here
/home/runner/.choosenim/toolchains/nim-2.0.0/lib/pure/bitops.nim(82, 31) template/generic instantiation of `typeMasked` from here
/home/runner/.choosenim/toolchains/nim-2.0.0/lib/pure/bitops.nim(68, 7) Error: type mismatch: got 'uint' for 'uv shl (upmost - slice.b) and 255'u' but expected 'uint8'

Stats

  • Started 2023-09-18T13:26:39
  • Finished 2023-09-18T13:26:39
  • Duration

IR

Compiled filesize 0 bytes (0 bytes)

AST

nnkStmtList.newTree(
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      newIdentNode("bitops")
    )
  ),
  nnkVarSection.newTree(
    nnkIdentDefs.newTree(
      newIdentNode("a"),
      newIdentNode("uint8"),
      newLit(255)
    )
  ),
  nnkCommand.newTree(
    newIdentNode("echo"),
    nnkDotExpr.newTree(
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("a"),
          newIdentNode("bitsliced")
        ),
        nnkInfix.newTree(
          newIdentNode(".."),
          newLit(4),
          newLit(7)
        )
      ),
      newIdentNode("int")
    )
  )
)
1.6.14 👍 $\color{green}\textbf{\large OK}$

Output

15

Stats

  • Started 2023-09-18T13:26:42
  • Finished 2023-09-18T13:26:43
  • Duration
1.4.8 👍 $\color{green}\textbf{\large OK}$

Output

15

Stats

  • Started 2023-09-18T13:26:45
  • Finished 2023-09-18T13:26:45
  • Duration
1.2.18 👎 FAIL

Output

Error: Command failed: nim js -d:nodejs -d:nimExperimentalAsyncjsThen -d:nimExperimentalJsfetch  --run  -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --warnings:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(3, 7) Error: attempting to call undeclared routine: 'bitsliced'

Stats

  • Started 2023-09-18T13:26:48
  • Finished 2023-09-18T13:26:48
  • Duration

IR

Compiled filesize 53.96 Kb (55,259 bytes)
var framePtr = null;
var excHandler = 0;
var lastJSError = null;
var NTI2090020 = {size: 0, kind: 18, base: null, node: null, finalizer: null};
var NTI1188044 = {size: 0,kind: 31,base: null,node: null,finalizer: null};
var NTI1380043 = {size: 0, kind: 18, base: null, node: null, finalizer: null};
var NTI1194408 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI1194728 = {size: 0,kind: 22,base: null,node: null,finalizer: null};
var NTI1188013 = {size: 0,kind: 28,base: null,node: null,finalizer: null};
var NTI1188015 = {size: 0,kind: 29,base: null,node: null,finalizer: null};
var NTI1194723 = {size: 0,kind: 22,base: null,node: null,finalizer: null};
var NTI1194617 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI1194619 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI1194633 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI1194637 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NNI1194637 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI1194637.node = NNI1194637;
var NNI1194633 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI1194633.node = NNI1194633;
var NNI1194619 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI1194619.node = NNI1194619;
NTI1194723.base = NTI1194617;
NTI1194728.base = NTI1194617;
var NNI1194617 = {kind: 2, len: 5, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "parent", len: 0, typ: NTI1194723, name: "parent", sons: null}, 
{kind: 1, offset: "name", len: 0, typ: NTI1188015, name: "name", sons: null}, 
{kind: 1, offset: "message", len: 0, typ: NTI1188013, name: "msg", sons: null}, 
{kind: 1, offset: "trace", len: 0, typ: NTI1188013, name: "trace", sons: null}, 
{kind: 1, offset: "up", len: 0, typ: NTI1194728, name: "up", sons: null}]};
NTI1194617.node = NNI1194617;
var NNI1194408 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI1194408.node = NNI1194408;
NTI1194617.base = NTI1194408;
NTI1194619.base = NTI1194617;
NTI1194633.base = NTI1194619;
NTI1194637.base = NTI1194633;
var NNI1380043 = {kind: 2, len: 3, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "Field0", len: 0, typ: NTI1188015, name: "Field0", sons: null}, 
{kind: 1, offset: "Field1", len: 0, typ: NTI1188044, name: "Field1", sons: null}, 
{kind: 1, offset: "Field2", len: 0, typ: NTI1188015, name: "Field2", sons: null}]};
NTI1380043.node = NNI1380043;
var NNI2090020 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "a", len: 0, typ: NTI1188044, name: "a", sons: null}, 
{kind: 1, offset: "b", len: 0, typ: NTI1188044, name: "b", sons: null}]};
NTI2090020.node = NNI2090020;
function toJSStr(s_1455096) {
                    var Tmp5;
            var Tmp7;
  var result_1455097 = null;
    var res_1455170 = newSeq_1455128((s_1455096).length);
    var i_1455172 = 0;
    var j_1455174 = 0;
    L1: do {
        L2: while (true) {
        if (!(i_1455172 < (s_1455096).length)) break L2;
          var c_1455175 = s_1455096[i_1455172];
          if ((c_1455175 < 128)) {
          res_1455170[j_1455174] = String.fromCharCode(c_1455175);
          i_1455172 += 1;
          }
          else {
            var helper_1455198 = newSeq_1455128(0);
            L3: do {
                L4: while (true) {
                if (!true) break L4;
                  var code_1455199 = c_1455175.toString(16);
                  if ((((code_1455199) == null ? 0 : (code_1455199).length) == 1)) {
                  helper_1455198.push("%0");;
                  }
                  else {
                  helper_1455198.push("%");;
                  }
                  helper_1455198.push(code_1455199);;
                  i_1455172 += 1;
                    if (((s_1455096).length <= i_1455172)) Tmp5 = true; else {                      Tmp5 = (s_1455096[i_1455172] < 128);                    }                  if (Tmp5) {
                  break L3;
                  }
                  c_1455175 = s_1455096[i_1455172];
                }
            } while(false);
++excHandler;
            Tmp7 = framePtr;
            try {
            res_1455170[j_1455174] = decodeURIComponent(helper_1455198.join(""));
--excHandler;
} catch (EXC) {
 var prevJSError = lastJSError;
 lastJSError = EXC;
 --excHandler;
            framePtr = Tmp7;
            res_1455170[j_1455174] = helper_1455198.join("");
            lastJSError = prevJSError;
            } finally {
            framePtr = Tmp7;
            }
          }
          j_1455174 += 1;
        }
    } while(false);
    if (res_1455170.length < j_1455174) { for (var i=res_1455170.length;i<j_1455174;++i) res_1455170.push(null); }
               else { res_1455170.length = j_1455174; };
    result_1455097 = res_1455170.join("");
  return result_1455097;
}
function rawEcho() {
          var buf = "";
      for (var i = 0; i < arguments.length; ++i) {
        buf += toJSStr(arguments[i]);
      }
      console.log(buf);
}
function cstrToNimstr(c_1455079) {
      var ln = c_1455079.length;
  var result = new Array(ln);
  var r = 0;
  for (var i = 0; i < ln; ++i) {
    var ch = c_1455079.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_1455079.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;
}
function makeNimstrLit(c_1455062) {
      var ln = c_1455062.length;
  var result = new Array(ln);
  for (var i = 0; i < ln; ++i) {
    result[i] = c_1455062.charCodeAt(i);
  }
  return result;
}
function arrayConstr(len_1480067, value_1480068, typ_1480069) {
        var result = new Array(len_1480067);
    for (var i = 0; i < len_1480067; ++i) result[i] = nimCopy(null, value_1480068, typ_1480069);
    return result;
}
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_1470023, src_1470024, ti_1470025) {
  var result_1475219 = null;
    switch (ti_1470025.kind) {
    case 21:
    case 22:
    case 23:
    case 5:
      if (!(isFatPointer_1465401(ti_1470025))) {
      result_1475219 = src_1470024;
      }
      else {
        result_1475219 = [src_1470024[0], src_1470024[1]];
      }
      break;
    case 19:
            if (dest_1470023 === null || dest_1470023 === undefined) {
        dest_1470023 = {};
      }
      else {
        for (var key in dest_1470023) { delete dest_1470023[key]; }
      }
      for (var key in src_1470024) { dest_1470023[key] = src_1470024[key]; }
      result_1475219 = dest_1470023;
      break;
    case 18:
    case 17:
      if (!((ti_1470025.base == null))) {
      result_1475219 = nimCopy(dest_1470023, src_1470024, ti_1470025.base);
      }
      else {
      if ((ti_1470025.kind == 17)) {
      result_1475219 = (dest_1470023 === null || dest_1470023 === undefined) ? {m_type: ti_1470025} : dest_1470023;
      }
      else {
        result_1475219 = (dest_1470023 === null || dest_1470023 === undefined) ? {} : dest_1470023;
      }
      }
      nimCopyAux(result_1475219, src_1470024, ti_1470025.node);
      break;
    case 24:
    case 4:
    case 27:
    case 16:
            if (src_1470024 === null) {
        result_1475219 = null;
      }
      else {
        if (dest_1470023 === null || dest_1470023 === undefined) {
          dest_1470023 = new Array(src_1470024.length);
        }
        else {
          dest_1470023.length = src_1470024.length;
        }
        result_1475219 = dest_1470023;
        for (var i = 0; i < src_1470024.length; ++i) {
          result_1475219[i] = nimCopy(result_1475219[i], src_1470024[i], ti_1470025.base);
        }
      }
      break;
    case 28:
            if (src_1470024 !== null) {
        result_1475219 = src_1470024.slice(0);
      }
      break;
    default: 
      result_1475219 = src_1470024;
      break;
    }
  return result_1475219;
}
function raiseException(e_1420218, ename_1420219) {
    e_1420218.name = ename_1420219;
    if ((excHandler == 0)) {
    unhandledException(e_1420218);
    }
    e_1420218.trace = nimCopy(null, rawWriteStackTrace_1410260(), NTI1188013);
    throw e_1420218;
}
function subInt(a_1460437, b_1460438) {
        var result = a_1460437 - b_1460438;
    checkOverflowInt(result);
    return result;
}
function addInt(a_1460419, b_1460420) {
        var result = a_1460419 + b_1460420;
    checkOverflowInt(result);
    return result;
}
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module temp",prev:framePtr,filename:"/home/runner/work/Nim/Nim/temp.nim",line:0};
framePtr = F;
framePtr = F.prev;
function newSeq_1455128(len_1455131) {
  var result_1455133 = [];
    result_1455133 = new Array(len_1455131); for (var i=0;i<len_1455131;++i) {result_1455133[i]=null;}
  return result_1455133;
}
function add_1357211(x_1357214, x_1357214_Idx, y_1357215) {
          if (x_1357214[x_1357214_Idx] === null) { x_1357214[x_1357214_Idx] = []; }
      var off = x_1357214[x_1357214_Idx].length;
      x_1357214[x_1357214_Idx].length += y_1357215.length;
      for (var i = 0; i < y_1357215.length; ++i) {
        x_1357214[x_1357214_Idx][off+i] = y_1357215.charCodeAt(i);
      }
}
function isFatPointer_1465401(ti_1465403) {
  var result_1465404 = false;
  BeforeRet: do {
    result_1465404 = !((ConstSet1[ti_1465403.base.kind] != undefined));
    break BeforeRet;
  } while (false);
  return result_1465404;
}
function nimCopyAux(dest_1470028, src_1470029, n_1470031) {
    switch (n_1470031.kind) {
    case 0:
      break;
    case 1:
            dest_1470028[n_1470031.offset] = nimCopy(dest_1470028[n_1470031.offset], src_1470029[n_1470031.offset], n_1470031.typ);
      break;
    case 2:
          for (var i = 0; i < n_1470031.sons.length; i++) {
      nimCopyAux(dest_1470028, src_1470029, n_1470031.sons[i]);
    }
      break;
    case 3:
            dest_1470028[n_1470031.offset] = nimCopy(dest_1470028[n_1470031.offset], src_1470029[n_1470031.offset], n_1470031.typ);
      for (var i = 0; i < n_1470031.sons.length; ++i) {
        nimCopyAux(dest_1470028, src_1470029, n_1470031.sons[i][1]);
      }
      break;
    }
}
function auxWriteStackTrace_1380038(f_1380040) {
          var Tmp3;
  var result_1380041 = [[]];
    var it_1380051 = f_1380040;
    var i_1380053 = 0;
    var total_1380055 = 0;
    var tempFrames_1380062 = arrayConstr(64, {Field0: null, Field1: 0, Field2: null}, NTI1380043);
    L1: do {
        L2: while (true) {
          if (!!((it_1380051 == null))) Tmp3 = false; else {            Tmp3 = (i_1380053 <= 63);          }        if (!Tmp3) break L2;
          tempFrames_1380062[i_1380053].Field0 = it_1380051.procname;
          tempFrames_1380062[i_1380053].Field1 = it_1380051.line;
          tempFrames_1380062[i_1380053].Field2 = it_1380051.filename;
          i_1380053 += 1;
          total_1380055 += 1;
          it_1380051 = it_1380051.prev;
        }
    } while(false);
    L4: do {
        L5: while (true) {
        if (!!((it_1380051 == null))) break L5;
          total_1380055 += 1;
          it_1380051 = it_1380051.prev;
        }
    } while(false);
    result_1380041[0] = nimCopy(null, [], NTI1188013);
    if (!((total_1380055 == i_1380053))) {
    result_1380041[0].push.apply(result_1380041[0], makeNimstrLit("("));;
    result_1380041[0].push.apply(result_1380041[0], cstrToNimstr(((total_1380055 - i_1380053))+""));;
    result_1380041[0].push.apply(result_1380041[0], makeNimstrLit(" calls omitted) ...\x0A"));;
    }
    L6: do {
      var j_1395236 = 0;
      var colontmp__2242248 = 0;
      colontmp__2242248 = (i_1380053 - 1);
      var res_2242253 = colontmp__2242248;
      L7: do {
          L8: while (true) {
          if (!(0 <= res_2242253)) break L8;
            j_1395236 = res_2242253;
            result_1380041[0].push.apply(result_1380041[0], cstrToNimstr(tempFrames_1380062[j_1395236].Field2));;
            if ((0 < tempFrames_1380062[j_1395236].Field1)) {
            result_1380041[0].push.apply(result_1380041[0], makeNimstrLit("("));;
            result_1380041[0].push.apply(result_1380041[0], cstrToNimstr((tempFrames_1380062[j_1395236].Field1)+""));;
            if (false) {
            result_1380041[0].push.apply(result_1380041[0], makeNimstrLit(", "));;
            result_1380041[0].push.apply(result_1380041[0], makeNimstrLit("0"));;
            }
            result_1380041[0].push.apply(result_1380041[0], makeNimstrLit(")"));;
            }
            result_1380041[0].push.apply(result_1380041[0], makeNimstrLit(" at "));;
            add_1357211(result_1380041, 0, tempFrames_1380062[j_1395236].Field0);
            result_1380041[0].push.apply(result_1380041[0], makeNimstrLit("\x0A"));;
            res_2242253 -= 1;
          }
      } while(false);
    } while(false);
  return result_1380041[0];
}
function rawWriteStackTrace_1410260() {
  var result_1410262 = [];
    if (!((framePtr == null))) {
    result_1410262 = nimCopy(null, (makeNimstrLit("Traceback (most recent call last)\x0A") || []).concat(auxWriteStackTrace_1380038(framePtr) || []), NTI1188013);
    }
    else {
      result_1410262 = nimCopy(null, makeNimstrLit("No stack traceback available\x0A"), NTI1188013);
    }
  return result_1410262;
}
function unhandledException(e_1415059) {
    var buf_1415060 = [[]];
    if (!(((e_1415059.message).length == 0))) {
    buf_1415060[0].push.apply(buf_1415060[0], makeNimstrLit("Error: unhandled exception: "));;
    buf_1415060[0].push.apply(buf_1415060[0], e_1415059.message);;
    }
    else {
    buf_1415060[0].push.apply(buf_1415060[0], makeNimstrLit("Error: unhandled exception"));;
    }
    buf_1415060[0].push.apply(buf_1415060[0], makeNimstrLit(" ["));;
    add_1357211(buf_1415060, 0, e_1415059.name);
    buf_1415060[0].push.apply(buf_1415060[0], makeNimstrLit("]\x0A"));;
    buf_1415060[0].push.apply(buf_1415060[0], rawWriteStackTrace_1410260());;
    var cbuf_1420201 = toJSStr(buf_1415060[0]);
    framePtr = null;
      if (typeof(Error) !== "undefined") {
    throw new Error(cbuf_1420201);
  }
  else {
    throw cbuf_1420201;
  }
}
function raiseOverflow() {
    raiseException({message: makeNimstrLit("over- or underflow"), parent: null, m_type: NTI1194637, name: null, trace: [], up: null}, "OverflowDefect");
}
function checkOverflowInt(a_1460403) {
        if (a_1460403 > 2147483647 || a_1460403 < -2147483648) raiseOverflow();
}
function bitsliced_2242079(v_2242082, slice_2242085) {
  var result_2242086 = 0;
    var upmost_2242093 = 7;
    var uv_2242201 = v_2242082;
    result_2242086 = (((uv_2242201 << subInt(upmost_2242093, slice_2242085.b)) & 0xff) >>> addInt(subInt(upmost_2242093, slice_2242085.b), slice_2242085.a));
  return result_2242086;
}
function HEX2EHEX2E_2242019(a_2242024, b_2242026) {
  var result_2242028 = ({a: 0, b: 0});
    nimCopy(result_2242028, {a: a_2242024, b: b_2242026}, NTI2090020);
  return result_2242028;
}
var F={procname:"module temp",prev:framePtr,filename:"/home/runner/work/Nim/Nim/temp.nim",line:0};
framePtr = F;
var a_2242015 = [255];
rawEcho(cstrToNimstr((((bitsliced_2242079(a_2242015[0], HEX2EHEX2E_2242019(4, 7)))|0))+""));
framePtr = F.prev;
var F={procname:"module temp",prev:framePtr,filename:"/home/runner/work/Nim/Nim/temp.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module temp",prev:framePtr,filename:"/home/runner/work/Nim/Nim/temp.nim",line:0};
framePtr = F;
framePtr = F.prev;

AST

nnkStmtList.newTree(
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      newIdentNode("bitops")
    )
  ),
  nnkVarSection.newTree(
    nnkIdentDefs.newTree(
      newIdentNode("a"),
      newIdentNode("uint8"),
      newLit(255)
    )
  ),
  nnkCommand.newTree(
    newIdentNode("echo"),
    nnkDotExpr.newTree(
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("a"),
          newIdentNode("bitsliced")
        ),
        nnkInfix.newTree(
          newIdentNode(".."),
          newLit(4),
          newLit(7)
        )
      ),
      newIdentNode("int")
    )
  )
)
1.0.10 👎 FAIL

Output

Error: Command failed: nim js -d:nodejs -d:nimExperimentalAsyncjsThen -d:nimExperimentalJsfetch  --run  -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --warnings:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(3, 7) Error: attempting to call undeclared routine: 'bitsliced'

Stats

  • Started 2023-09-18T13:26:51
  • Finished 2023-09-18T13:26:51
  • Duration

IR

Compiled filesize 53.96 Kb (55,259 bytes)
var framePtr = null;
var excHandler = 0;
var lastJSError = null;
var NTI2090020 = {size: 0, kind: 18, base: null, node: null, finalizer: null};
var NTI1188044 = {size: 0,kind: 31,base: null,node: null,finalizer: null};
var NTI1380043 = {size: 0, kind: 18, base: null, node: null, finalizer: null};
var NTI1194408 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI1194728 = {size: 0,kind: 22,base: null,node: null,finalizer: null};
var NTI1188013 = {size: 0,kind: 28,base: null,node: null,finalizer: null};
var NTI1188015 = {size: 0,kind: 29,base: null,node: null,finalizer: null};
var NTI1194723 = {size: 0,kind: 22,base: null,node: null,finalizer: null};
var NTI1194617 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI1194619 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI1194633 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI1194637 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NNI1194637 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI1194637.node = NNI1194637;
var NNI1194633 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI1194633.node = NNI1194633;
var NNI1194619 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI1194619.node = NNI1194619;
NTI1194723.base = NTI1194617;
NTI1194728.base = NTI1194617;
var NNI1194617 = {kind: 2, len: 5, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "parent", len: 0, typ: NTI1194723, name: "parent", sons: null}, 
{kind: 1, offset: "name", len: 0, typ: NTI1188015, name: "name", sons: null}, 
{kind: 1, offset: "message", len: 0, typ: NTI1188013, name: "msg", sons: null}, 
{kind: 1, offset: "trace", len: 0, typ: NTI1188013, name: "trace", sons: null}, 
{kind: 1, offset: "up", len: 0, typ: NTI1194728, name: "up", sons: null}]};
NTI1194617.node = NNI1194617;
var NNI1194408 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI1194408.node = NNI1194408;
NTI1194617.base = NTI1194408;
NTI1194619.base = NTI1194617;
NTI1194633.base = NTI1194619;
NTI1194637.base = NTI1194633;
var NNI1380043 = {kind: 2, len: 3, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "Field0", len: 0, typ: NTI1188015, name: "Field0", sons: null}, 
{kind: 1, offset: "Field1", len: 0, typ: NTI1188044, name: "Field1", sons: null}, 
{kind: 1, offset: "Field2", len: 0, typ: NTI1188015, name: "Field2", sons: null}]};
NTI1380043.node = NNI1380043;
var NNI2090020 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "a", len: 0, typ: NTI1188044, name: "a", sons: null}, 
{kind: 1, offset: "b", len: 0, typ: NTI1188044, name: "b", sons: null}]};
NTI2090020.node = NNI2090020;
function toJSStr(s_1455096) {
                    var Tmp5;
            var Tmp7;
  var result_1455097 = null;
    var res_1455170 = newSeq_1455128((s_1455096).length);
    var i_1455172 = 0;
    var j_1455174 = 0;
    L1: do {
        L2: while (true) {
        if (!(i_1455172 < (s_1455096).length)) break L2;
          var c_1455175 = s_1455096[i_1455172];
          if ((c_1455175 < 128)) {
          res_1455170[j_1455174] = String.fromCharCode(c_1455175);
          i_1455172 += 1;
          }
          else {
            var helper_1455198 = newSeq_1455128(0);
            L3: do {
                L4: while (true) {
                if (!true) break L4;
                  var code_1455199 = c_1455175.toString(16);
                  if ((((code_1455199) == null ? 0 : (code_1455199).length) == 1)) {
                  helper_1455198.push("%0");;
                  }
                  else {
                  helper_1455198.push("%");;
                  }
                  helper_1455198.push(code_1455199);;
                  i_1455172 += 1;
                    if (((s_1455096).length <= i_1455172)) Tmp5 = true; else {                      Tmp5 = (s_1455096[i_1455172] < 128);                    }                  if (Tmp5) {
                  break L3;
                  }
                  c_1455175 = s_1455096[i_1455172];
                }
            } while(false);
++excHandler;
            Tmp7 = framePtr;
            try {
            res_1455170[j_1455174] = decodeURIComponent(helper_1455198.join(""));
--excHandler;
} catch (EXC) {
 var prevJSError = lastJSError;
 lastJSError = EXC;
 --excHandler;
            framePtr = Tmp7;
            res_1455170[j_1455174] = helper_1455198.join("");
            lastJSError = prevJSError;
            } finally {
            framePtr = Tmp7;
            }
          }
          j_1455174 += 1;
        }
    } while(false);
    if (res_1455170.length < j_1455174) { for (var i=res_1455170.length;i<j_1455174;++i) res_1455170.push(null); }
               else { res_1455170.length = j_1455174; };
    result_1455097 = res_1455170.join("");
  return result_1455097;
}
function rawEcho() {
          var buf = "";
      for (var i = 0; i < arguments.length; ++i) {
        buf += toJSStr(arguments[i]);
      }
      console.log(buf);
}
function cstrToNimstr(c_1455079) {
      var ln = c_1455079.length;
  var result = new Array(ln);
  var r = 0;
  for (var i = 0; i < ln; ++i) {
    var ch = c_1455079.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_1455079.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;
}
function makeNimstrLit(c_1455062) {
      var ln = c_1455062.length;
  var result = new Array(ln);
  for (var i = 0; i < ln; ++i) {
    result[i] = c_1455062.charCodeAt(i);
  }
  return result;
}
function arrayConstr(len_1480067, value_1480068, typ_1480069) {
        var result = new Array(len_1480067);
    for (var i = 0; i < len_1480067; ++i) result[i] = nimCopy(null, value_1480068, typ_1480069);
    return result;
}
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_1470023, src_1470024, ti_1470025) {
  var result_1475219 = null;
    switch (ti_1470025.kind) {
    case 21:
    case 22:
    case 23:
    case 5:
      if (!(isFatPointer_1465401(ti_1470025))) {
      result_1475219 = src_1470024;
      }
      else {
        result_1475219 = [src_1470024[0], src_1470024[1]];
      }
      break;
    case 19:
            if (dest_1470023 === null || dest_1470023 === undefined) {
        dest_1470023 = {};
      }
      else {
        for (var key in dest_1470023) { delete dest_1470023[key]; }
      }
      for (var key in src_1470024) { dest_1470023[key] = src_1470024[key]; }
      result_1475219 = dest_1470023;
      break;
    case 18:
    case 17:
      if (!((ti_1470025.base == null))) {
      result_1475219 = nimCopy(dest_1470023, src_1470024, ti_1470025.base);
      }
      else {
      if ((ti_1470025.kind == 17)) {
      result_1475219 = (dest_1470023 === null || dest_1470023 === undefined) ? {m_type: ti_1470025} : dest_1470023;
      }
      else {
        result_1475219 = (dest_1470023 === null || dest_1470023 === undefined) ? {} : dest_1470023;
      }
      }
      nimCopyAux(result_1475219, src_1470024, ti_1470025.node);
      break;
    case 24:
    case 4:
    case 27:
    case 16:
            if (src_1470024 === null) {
        result_1475219 = null;
      }
      else {
        if (dest_1470023 === null || dest_1470023 === undefined) {
          dest_1470023 = new Array(src_1470024.length);
        }
        else {
          dest_1470023.length = src_1470024.length;
        }
        result_1475219 = dest_1470023;
        for (var i = 0; i < src_1470024.length; ++i) {
          result_1475219[i] = nimCopy(result_1475219[i], src_1470024[i], ti_1470025.base);
        }
      }
      break;
    case 28:
            if (src_1470024 !== null) {
        result_1475219 = src_1470024.slice(0);
      }
      break;
    default: 
      result_1475219 = src_1470024;
      break;
    }
  return result_1475219;
}
function raiseException(e_1420218, ename_1420219) {
    e_1420218.name = ename_1420219;
    if ((excHandler == 0)) {
    unhandledException(e_1420218);
    }
    e_1420218.trace = nimCopy(null, rawWriteStackTrace_1410260(), NTI1188013);
    throw e_1420218;
}
function subInt(a_1460437, b_1460438) {
        var result = a_1460437 - b_1460438;
    checkOverflowInt(result);
    return result;
}
function addInt(a_1460419, b_1460420) {
        var result = a_1460419 + b_1460420;
    checkOverflowInt(result);
    return result;
}
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module macros",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/core/macros.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module bitops",prev:framePtr,filename:"/home/runner/.choosenim/toolchains/nim-1.4.8/lib/pure/bitops.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module temp",prev:framePtr,filename:"/home/runner/work/Nim/Nim/temp.nim",line:0};
framePtr = F;
framePtr = F.prev;
function newSeq_1455128(len_1455131) {
  var result_1455133 = [];
    result_1455133 = new Array(len_1455131); for (var i=0;i<len_1455131;++i) {result_1455133[i]=null;}
  return result_1455133;
}
function add_1357211(x_1357214, x_1357214_Idx, y_1357215) {
          if (x_1357214[x_1357214_Idx] === null) { x_1357214[x_1357214_Idx] = []; }
      var off = x_1357214[x_1357214_Idx].length;
      x_1357214[x_1357214_Idx].length += y_1357215.length;
      for (var i = 0; i < y_1357215.length; ++i) {
        x_1357214[x_1357214_Idx][off+i] = y_1357215.charCodeAt(i);
      }
}
function isFatPointer_1465401(ti_1465403) {
  var result_1465404 = false;
  BeforeRet: do {
    result_1465404 = !((ConstSet1[ti_1465403.base.kind] != undefined));
    break BeforeRet;
  } while (false);
  return result_1465404;
}
function nimCopyAux(dest_1470028, src_1470029, n_1470031) {
    switch (n_1470031.kind) {
    case 0:
      break;
    case 1:
            dest_1470028[n_1470031.offset] = nimCopy(dest_1470028[n_1470031.offset], src_1470029[n_1470031.offset], n_1470031.typ);
      break;
    case 2:
          for (var i = 0; i < n_1470031.sons.length; i++) {
      nimCopyAux(dest_1470028, src_1470029, n_1470031.sons[i]);
    }
      break;
    case 3:
            dest_1470028[n_1470031.offset] = nimCopy(dest_1470028[n_1470031.offset], src_1470029[n_1470031.offset], n_1470031.typ);
      for (var i = 0; i < n_1470031.sons.length; ++i) {
        nimCopyAux(dest_1470028, src_1470029, n_1470031.sons[i][1]);
      }
      break;
    }
}
function auxWriteStackTrace_1380038(f_1380040) {
          var Tmp3;
  var result_1380041 = [[]];
    var it_1380051 = f_1380040;
    var i_1380053 = 0;
    var total_1380055 = 0;
    var tempFrames_1380062 = arrayConstr(64, {Field0: null, Field1: 0, Field2: null}, NTI1380043);
    L1: do {
        L2: while (true) {
          if (!!((it_1380051 == null))) Tmp3 = false; else {            Tmp3 = (i_1380053 <= 63);          }        if (!Tmp3) break L2;
          tempFrames_1380062[i_1380053].Field0 = it_1380051.procname;
          tempFrames_1380062[i_1380053].Field1 = it_1380051.line;
          tempFrames_1380062[i_1380053].Field2 = it_1380051.filename;
          i_1380053 += 1;
          total_1380055 += 1;
          it_1380051 = it_1380051.prev;
        }
    } while(false);
    L4: do {
        L5: while (true) {
        if (!!((it_1380051 == null))) break L5;
          total_1380055 += 1;
          it_1380051 = it_1380051.prev;
        }
    } while(false);
    result_1380041[0] = nimCopy(null, [], NTI1188013);
    if (!((total_1380055 == i_1380053))) {
    result_1380041[0].push.apply(result_1380041[0], makeNimstrLit("("));;
    result_1380041[0].push.apply(result_1380041[0], cstrToNimstr(((total_1380055 - i_1380053))+""));;
    result_1380041[0].push.apply(result_1380041[0], makeNimstrLit(" calls omitted) ...\x0A"));;
    }
    L6: do {
      var j_1395236 = 0;
      var colontmp__2242248 = 0;
      colontmp__2242248 = (i_1380053 - 1);
      var res_2242253 = colontmp__2242248;
      L7: do {
          L8: while (true) {
          if (!(0 <= res_2242253)) break L8;
            j_1395236 = res_2242253;
            result_1380041[0].push.apply(result_1380041[0], cstrToNimstr(tempFrames_1380062[j_1395236].Field2));;
            if ((0 < tempFrames_1380062[j_1395236].Field1)) {
            result_1380041[0].push.apply(result_1380041[0], makeNimstrLit("("));;
            result_1380041[0].push.apply(result_1380041[0], cstrToNimstr((tempFrames_1380062[j_1395236].Field1)+""));;
            if (false) {
            result_1380041[0].push.apply(result_1380041[0], makeNimstrLit(", "));;
            result_1380041[0].push.apply(result_1380041[0], makeNimstrLit("0"));;
            }
            result_1380041[0].push.apply(result_1380041[0], makeNimstrLit(")"));;
            }
            result_1380041[0].push.apply(result_1380041[0], makeNimstrLit(" at "));;
            add_1357211(result_1380041, 0, tempFrames_1380062[j_1395236].Field0);
            result_1380041[0].push.apply(result_1380041[0], makeNimstrLit("\x0A"));;
            res_2242253 -= 1;
          }
      } while(false);
    } while(false);
  return result_1380041[0];
}
function rawWriteStackTrace_1410260() {
  var result_1410262 = [];
    if (!((framePtr == null))) {
    result_1410262 = nimCopy(null, (makeNimstrLit("Traceback (most recent call last)\x0A") || []).concat(auxWriteStackTrace_1380038(framePtr) || []), NTI1188013);
    }
    else {
      result_1410262 = nimCopy(null, makeNimstrLit("No stack traceback available\x0A"), NTI1188013);
    }
  return result_1410262;
}
function unhandledException(e_1415059) {
    var buf_1415060 = [[]];
    if (!(((e_1415059.message).length == 0))) {
    buf_1415060[0].push.apply(buf_1415060[0], makeNimstrLit("Error: unhandled exception: "));;
    buf_1415060[0].push.apply(buf_1415060[0], e_1415059.message);;
    }
    else {
    buf_1415060[0].push.apply(buf_1415060[0], makeNimstrLit("Error: unhandled exception"));;
    }
    buf_1415060[0].push.apply(buf_1415060[0], makeNimstrLit(" ["));;
    add_1357211(buf_1415060, 0, e_1415059.name);
    buf_1415060[0].push.apply(buf_1415060[0], makeNimstrLit("]\x0A"));;
    buf_1415060[0].push.apply(buf_1415060[0], rawWriteStackTrace_1410260());;
    var cbuf_1420201 = toJSStr(buf_1415060[0]);
    framePtr = null;
      if (typeof(Error) !== "undefined") {
    throw new Error(cbuf_1420201);
  }
  else {
    throw cbuf_1420201;
  }
}
function raiseOverflow() {
    raiseException({message: makeNimstrLit("over- or underflow"), parent: null, m_type: NTI1194637, name: null, trace: [], up: null}, "OverflowDefect");
}
function checkOverflowInt(a_1460403) {
        if (a_1460403 > 2147483647 || a_1460403 < -2147483648) raiseOverflow();
}
function bitsliced_2242079(v_2242082, slice_2242085) {
  var result_2242086 = 0;
    var upmost_2242093 = 7;
    var uv_2242201 = v_2242082;
    result_2242086 = (((uv_2242201 << subInt(upmost_2242093, slice_2242085.b)) & 0xff) >>> addInt(subInt(upmost_2242093, slice_2242085.b), slice_2242085.a));
  return result_2242086;
}
function HEX2EHEX2E_2242019(a_2242024, b_2242026) {
  var result_2242028 = ({a: 0, b: 0});
    nimCopy(result_2242028, {a: a_2242024, b: b_2242026}, NTI2090020);
  return result_2242028;
}
var F={procname:"module temp",prev:framePtr,filename:"/home/runner/work/Nim/Nim/temp.nim",line:0};
framePtr = F;
var a_2242015 = [255];
rawEcho(cstrToNimstr((((bitsliced_2242079(a_2242015[0], HEX2EHEX2E_2242019(4, 7)))|0))+""));
framePtr = F.prev;
var F={procname:"module temp",prev:framePtr,filename:"/home/runner/work/Nim/Nim/temp.nim",line:0};
framePtr = F;
framePtr = F.prev;
var F={procname:"module temp",prev:framePtr,filename:"/home/runner/work/Nim/Nim/temp.nim",line:0};
framePtr = F;
framePtr = F.prev;

AST

nnkStmtList.newTree(
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      newIdentNode("bitops")
    )
  ),
  nnkVarSection.newTree(
    nnkIdentDefs.newTree(
      newIdentNode("a"),
      newIdentNode("uint8"),
      newLit(255)
    )
  ),
  nnkCommand.newTree(
    newIdentNode("echo"),
    nnkDotExpr.newTree(
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("a"),
          newIdentNode("bitsliced")
        ),
        nnkInfix.newTree(
          newIdentNode(".."),
          newLit(4),
          newLit(7)
        )
      ),
      newIdentNode("int")
    )
  )
)
??? ➡️ 🐛

Diagnostics

The commit that introduced the bug can not be found, but the bug is in the commits:

(Can not find the commit because Nim can not be re-built commit-by-commit to bisect).

Stats
  • GCC 11.4.0
  • LibC 2.35
  • Valgrind 3.18.1
  • NodeJS 17.1
  • Linux 6.2.0
  • Created 2023-09-18T13:25:49Z
  • Comments 4
  • Commands nim js -d:nodejs -d:nimExperimentalAsyncjsThen -d:nimExperimentalJsfetch --run -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --warnings:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim

🤖 Bug found in 6 minutes bisecting 1807 commits at 259 commits per second.

Araq pushed a commit that referenced this issue Sep 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants