/* Generated by the Nim Compiler v2.2.10 */
var framePtr = null;
var excHandler = 0;
var lastJSError = null;
var NTI8388629 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI8388621 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI8388623 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI2097155 = {size: 0,kind: 31,base: null,node: null,finalizer: null};
var NTI2098590 = {size: 0, kind: 18, base: null, node: null, finalizer: null};
var NTI2097899 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI2097907 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI2097170 = {size: 0,kind: 29,base: null,node: null,finalizer: null};
var NTI2097906 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI2097903 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI2097904 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI8388625 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI2097169 = {size: 0,kind: 28,base: null,node: null,finalizer: null};
var NNI8388625 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI8388625.node = NNI8388625;
var NNI2097904 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI2097904.node = NNI2097904;
NTI2097906.base = NTI2097903;
NTI2097907.base = NTI2097903;
var NNI2097903 = {kind: 2, len: 5, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "parent", len: 0, typ: NTI2097906, name: "parent", sons: null}, 
{kind: 1, offset: "name", len: 0, typ: NTI2097170, name: "name", sons: null}, 
{kind: 1, offset: "message", len: 0, typ: NTI2097169, name: "msg", sons: null}, 
{kind: 1, offset: "trace", len: 0, typ: NTI2097169, name: "trace", sons: null}, 
{kind: 1, offset: "up", len: 0, typ: NTI2097907, name: "up", sons: null}]};
NTI2097903.node = NNI2097903;
var NNI2097899 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI2097899.node = NNI2097899;
NTI2097903.base = NTI2097899;
NTI2097904.base = NTI2097903;
NTI8388625.base = NTI2097904;
var NNI2098590 = {kind: 2, len: 3, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "Field0", len: 0, typ: NTI2097170, name: "Field0", sons: null}, 
{kind: 1, offset: "Field1", len: 0, typ: NTI2097155, name: "Field1", sons: null}, 
{kind: 1, offset: "Field2", len: 0, typ: NTI2097170, name: "Field2", sons: null}]};
NTI2098590.node = NNI2098590;
var NNI8388623 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI8388623.node = NNI8388623;
var NNI8388621 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI8388621.node = NNI8388621;
NTI8388621.base = NTI2097904;
NTI8388623.base = NTI8388621;
var NNI8388629 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI8388629.node = NNI8388629;
NTI8388629.base = NTI2097904;

function setConstr() {
        var result = {};
    for (var i = 0; i < arguments.length; ++i) {
      var x = arguments[i];
      if (typeof(x) == "object") {
        for (var j = x[0]; j <= x[1]; ++j) {
          result[j] = true;
        }
      } else {
        result[x] = true;
      }
    }
    return result;
  

  
}
var ConstSet1 = setConstr(17, 16, 4, 18, 27, 19, 23, 22, 21);

function nimCopy(dest_p0, src_p1, ti_p2) {
  var result_2100096 = null;

    switch (ti_p2.kind) {
    case 21:
    case 22:
    case 23:
    case 5:
      if (!(isFatPointer__system_u2924(ti_p2))) {
      result_2100096 = src_p1;
      }
      else {
        result_2100096 = [src_p1[0], src_p1[1]];
      }
      
      break;
    case 19:
            if (dest_p0 === null || dest_p0 === undefined) {
        dest_p0 = {};
      }
      else {
        for (var key in dest_p0) { delete dest_p0[key]; }
      }
      for (var key in src_p1) { dest_p0[key] = src_p1[key]; }
      result_2100096 = dest_p0;
    
      break;
    case 18:
    case 17:
      if (!((ti_p2.base == null))) {
      result_2100096 = nimCopy(dest_p0, src_p1, ti_p2.base);
      }
      else {
      if ((ti_p2.kind == 17)) {
      result_2100096 = (dest_p0 === null || dest_p0 === undefined) ? {m_type: ti_p2} : dest_p0;
      }
      else {
        result_2100096 = (dest_p0 === null || dest_p0 === undefined) ? {} : dest_p0;
      }
      }
      nimCopyAux(result_2100096, src_p1, ti_p2.node);
      break;
    case 4:
    case 16:
            if(ArrayBuffer.isView(src_p1)) { 
        if(dest_p0 === null || dest_p0 === undefined || dest_p0.length != src_p1.length) {
          dest_p0 = new src_p1.constructor(src_p1);
        } else {
          dest_p0.set(src_p1, 0);
        }
        result_2100096 = dest_p0;
      } else {
        if (src_p1 === null) {
          result_2100096 = null;
        }
        else {
          if (dest_p0 === null || dest_p0 === undefined || dest_p0.length != src_p1.length) {
            dest_p0 = new Array(src_p1.length);
          }
          result_2100096 = dest_p0;
          for (var i = 0; i < src_p1.length; ++i) {
            result_2100096[i] = nimCopy(result_2100096[i], src_p1[i], ti_p2.base);
          }
        }
      }
    
      break;
    case 24:
    case 27:
            if (src_p1 === null) {
        result_2100096 = null;
      }
      else {
        if (dest_p0 === null || dest_p0 === undefined || dest_p0.length != src_p1.length) {
          dest_p0 = new Array(src_p1.length);
        }
        result_2100096 = dest_p0;
        for (var i = 0; i < src_p1.length; ++i) {
          result_2100096[i] = nimCopy(result_2100096[i], src_p1[i], ti_p2.base);
        }
      }
    
      break;
    case 28:
            if (src_p1 !== null) {
        result_2100096 = src_p1.slice(0);
      }
    
      break;
    default: 
      result_2100096 = src_p1;
      break;
    }

  return result_2100096;

}

function nimAddStrStr(x_p0, y_p1) {
      var L = y_p1.length;
  for (var i = 0; i < L; ++i) {
    x_p0.push(y_p1[i]);
  }
  

  
}

function arrayConstr(len_p0, value_p1, typ_p2) {
        var result = new Array(len_p0);
    for (var i = 0; i < len_p0; ++i) result[i] = nimCopy(null, value_p1, typ_p2);
    return result;
  

  
}

function mnewString(len_p0) {
        var result = new Array(len_p0);
    for (var i = 0; i < len_p0; i++) {result[i] = 0;}
    return result;
  

  
}

function cstrToNimstr(c_p0) {
      var ln = c_p0.length;
  var result = new Array(ln);
  var r = 0;
  for (var i = 0; i < ln; ++i) {
    var ch = c_p0.charCodeAt(i);

    if (ch < 128) {
      result[r] = ch;
    }
    else {
      if (ch < 2048) {
        result[r] = (ch >> 6) | 192;
      }
      else {
        if (ch < 55296 || ch >= 57344) {
          result[r] = (ch >> 12) | 224;
        }
        else {
            ++i;
            ch = 65536 + (((ch & 1023) << 10) | (c_p0.charCodeAt(i) & 1023));
            result[r] = (ch >> 18) | 240;
            ++r;
            result[r] = ((ch >> 12) & 63) | 128;
        }
        ++r;
        result[r] = ((ch >> 6) & 63) | 128;
      }
      ++r;
      result[r] = (ch & 63) | 128;
    }
    ++r;
  }
  return result;
  

  
}

function isObj(obj_p0, subclass_p1) {
  var result_2100209 = false;

  BeforeRet: {
    var x_2100210 = obj_p0;
    if ((x_2100210 == subclass_p1)) {
    result_2100209 = true;
    break BeforeRet;
    }
    
    Label1: {
        Label2: while (true) {
        if (!!((x_2100210 == subclass_p1))) break Label2;
          if ((x_2100210 == null)) {
          result_2100209 = false;
          break BeforeRet;
          }
          
          x_2100210 = x_2100210.base;
        }
    };
    result_2100209 = true;
    break BeforeRet;
  };

  return result_2100209;

}

function toJSStr(s_p0) {
  var result_2099673 = null;

    var res_2099739 = newSeq__system_u2562((s_p0).length);
    var i_2099740 = 0;
    var j_2099741 = 0;
    Label1: {
        Label2: while (true) {
        if (!(i_2099740 < (s_p0).length)) break Label2;
          var c_2099742 = s_p0[i_2099740];
          if ((c_2099742 < 128)) {
          res_2099739[j_2099741] = String.fromCharCode(c_2099742);
          i_2099740 += 1;
          }
          else {
            var helper_2099768 = newSeq__system_u2562(0);
            Label3: {
                Label4: while (true) {
                if (!true) break Label4;
                  var code_2099769 = c_2099742.toString(16);
                  if ((((code_2099769) == null ? 0 : (code_2099769).length) == 1)) {
                  helper_2099768.push("%0");;
                  }
                  else {
                  helper_2099768.push("%");;
                  }
                  
                  helper_2099768.push(code_2099769);;
                  i_2099740 += 1;
                  if ((((s_p0).length <= i_2099740) || (s_p0[i_2099740] < 128))) {
                  break Label3;
                  }
                  
                  c_2099742 = s_p0[i_2099740];
                }
            };
++excHandler;
            try {
            res_2099739[j_2099741] = decodeURIComponent(helper_2099768.join(""));
--excHandler;
} catch (EXCEPTION) {
 var prevJSError = lastJSError;
 lastJSError = EXCEPTION;
 --excHandler;
            raiseDefect();
            res_2099739[j_2099741] = helper_2099768.join("");
            lastJSError = prevJSError;
            } finally {
            }
          }
          
          j_2099741 += 1;
        }
    };
    if (res_2099739.length < j_2099741) { for (var i = res_2099739.length ; i < j_2099741 ; ++i) res_2099739.push(null); }
               else { res_2099739.length = j_2099741; };
    result_2099673 = res_2099739.join("");

  return result_2099673;

}

function raiseException(e_p0, ename_p1) {
    e_p0.name = ename_p1;
    if ((excHandler == 0)) {
    unhandledException(e_p0);
    }
    
    e_p0.trace = nimCopy(null, rawWriteStackTrace__system_u2214(), NTI2097169);
    throw e_p0;

  
}

function makeNimstrLit(c_p0) {
      var result = [];
  for (var i = 0; i < c_p0.length; ++i) {
    result[i] = c_p0.charCodeAt(i);
  }
  return result;
  

  
}

function eqStrings(a_p0, b_p1) {
        if (a_p0 == b_p1) return true;
    if (a_p0 === null && b_p1.length == 0) return true;
    if (b_p1 === null && a_p0.length == 0) return true;
    if ((!a_p0) || (!b_p1)) return false;
    var alen = a_p0.length;
    if (alen != b_p1.length) return false;
    for (var i = 0; i < alen; ++i)
      if (a_p0[i] != b_p1[i]) return false;
    return true;
  

  
}

function subInt(a_p0, b_p1) {
        var result = a_p0 - b_p1;
    checkOverflowInt(result);
    return result;
  

  
}

function chckIndx(i_p0, a_p1, b_p2) {
  var result_2100131 = 0;

  BeforeRet: {
    if (((a_p1 <= i_p0) && (i_p0 <= b_p2))) {
    result_2100131 = i_p0;
    break BeforeRet;
    }
    else {
    raiseIndexError(i_p0, a_p1, b_p2);
    }
    
  };

  return result_2100131;

}

function addInt(a_p0, b_p1) {
        var result = a_p0 + b_p1;
    checkOverflowInt(result);
    return result;
  

  
}
var F = {procname: "module jsbigints", prev: framePtr, filename: "/build/nim/src/nim/lib/std/jsbigints.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints", prev: framePtr, filename: "/build/nim/src/nim/lib/std/jsbigints.nim", line: 0};
framePtr = F;
framePtr = F.prev;

function isFatPointer__system_u2924(ti_p0) {
  var result_2100078 = false;

  BeforeRet: {
    result_2100078 = !((ConstSet1[ti_p0.base.kind] != undefined));
    break BeforeRet;
  };

  return result_2100078;

}

function nimCopyAux(dest_p0, src_p1, n_p2) {
    switch (n_p2.kind) {
    case 0:
      break;
    case 1:
            dest_p0[n_p2.offset] = nimCopy(dest_p0[n_p2.offset], src_p1[n_p2.offset], n_p2.typ);
    
      break;
    case 2:
          for (var i = 0; i < n_p2.sons.length; i++) {
      nimCopyAux(dest_p0, src_p1, n_p2.sons[i]);
    }
    
      break;
    case 3:
            dest_p0[n_p2.offset] = nimCopy(dest_p0[n_p2.offset], src_p1[n_p2.offset], n_p2.typ);
      for (var i = 0; i < n_p2.sons.length; ++i) {
        nimCopyAux(dest_p0, src_p1, n_p2.sons[i][1]);
      }
    
      break;
    }

  
}

function add__system_u1972(x_p0, x_p0_Idx, y_p1) {
          if (x_p0[x_p0_Idx] === null) { x_p0[x_p0_Idx] = []; }
      var off = x_p0[x_p0_Idx].length;
      x_p0[x_p0_Idx].length += y_p1.length;
      for (var i = 0; i < y_p1.length; ++i) {
        x_p0[x_p0_Idx][off+i] = y_p1.charCodeAt(i);
      }
    

  
}

function addChars__stdZprivateZdigitsutils_u202(result_p0, result_p0_Idx, x_p1, start_p2, n_p3) {
    var Temporary1;

    var old_20971728 = (result_p0[result_p0_Idx]).length;
    if (result_p0[result_p0_Idx].length < (Temporary1 = (old_20971728 + n_p3), Temporary1)) { for (var i = result_p0[result_p0_Idx].length; i < Temporary1; ++i) result_p0[result_p0_Idx].push(0); }
         else {result_p0[result_p0_Idx].length = Temporary1; };
    Label2: {
      var iHEX60gensym4_20971742 = 0;
      var i_42991687 = 0;
      Label3: {
          Label4: while (true) {
          if (!(i_42991687 < n_p3)) break Label4;
            iHEX60gensym4_20971742 = i_42991687;
            result_p0[result_p0_Idx][(old_20971728 + iHEX60gensym4_20971742)] = x_p1.charCodeAt((start_p2 + iHEX60gensym4_20971742));
            i_42991687 += 1;
          }
      };
    };

  
}

function addChars__stdZprivateZdigitsutils_u198(result_p0, result_p0_Idx, x_p1) {
    addChars__stdZprivateZdigitsutils_u202(result_p0, result_p0_Idx, x_p1, 0, ((x_p1) == null ? 0 : (x_p1).length));

  
}

function addInt__stdZprivateZdigitsutils_u223(result_p0, result_p0_Idx, x_p1) {
    addChars__stdZprivateZdigitsutils_u198(result_p0, result_p0_Idx, ((x_p1) + ""));

  
}

function addInt__stdZprivateZdigitsutils_u241(result_p0, result_p0_Idx, x_p1) {
    addInt__stdZprivateZdigitsutils_u223(result_p0, result_p0_Idx, BigInt(x_p1));

  
}

function HEX24__systemZdollars_u14(xHEX60gensym0_p0) {
  var result_24117264 = [[]];

  var F = {procname: "dollars.$", prev: framePtr, filename: "/build/nim/src/nim/lib/system/dollars.nim", line: 0};
  framePtr = F;
    F.line = 20;
    F.filename = "dollars.nim";
    result_24117264[0] = nimCopy(null, [], NTI2097169);
    F.line = 21;
    addInt__stdZprivateZdigitsutils_u241(result_24117264, 0, xHEX60gensym0_p0);
  framePtr = F.prev;

  return result_24117264[0];

}

function auxWriteStackTrace__system_u2116(f_p0) {
  var result_2099270 = [[]];

    var it_2099278 = f_p0;
    var i_2099279 = 0;
    var total_2099280 = 0;
    var tempFrames_2099281 = arrayConstr(64, {Field0: null, Field1: 0, Field2: null}, NTI2098590);
    Label1: {
        Label2: while (true) {
        if (!(!((it_2099278 == null)) && (i_2099279 <= 63))) break Label2;
          tempFrames_2099281[i_2099279].Field0 = it_2099278.procname;
          tempFrames_2099281[i_2099279].Field1 = it_2099278.line;
          tempFrames_2099281[i_2099279].Field2 = it_2099278.filename;
          i_2099279 += 1;
          total_2099280 += 1;
          it_2099278 = it_2099278.prev;
        }
    };
    Label3: {
        Label4: while (true) {
        if (!!((it_2099278 == null))) break Label4;
          total_2099280 += 1;
          it_2099278 = it_2099278.prev;
        }
    };
    result_2099270[0] = nimCopy(null, [], NTI2097169);
    if (!((total_2099280 == i_2099279))) {
    nimAddStrStr(result_2099270[0], [40]);;
    nimAddStrStr(result_2099270[0], HEX24__systemZdollars_u14((total_2099280 - i_2099279)));;
    nimAddStrStr(result_2099270[0], [32,99,97,108,108,115,32,111,109,105,116,116,101,100,41,32,46,46,46,10]);;
    }
    
    Label5: {
      var j_2099314 = 0;
      var colontmp__42991679 = 0;
      colontmp__42991679 = (i_2099279 - 1);
      var res_42991681 = colontmp__42991679;
      Label6: {
          Label7: while (true) {
          if (!(0 <= res_42991681)) break Label7;
            j_2099314 = res_42991681;
            nimAddStrStr(result_2099270[0], cstrToNimstr(tempFrames_2099281[j_2099314].Field2));;
            if ((0 < tempFrames_2099281[j_2099314].Field1)) {
            nimAddStrStr(result_2099270[0], [40]);;
            addInt__stdZprivateZdigitsutils_u241(result_2099270, 0, tempFrames_2099281[j_2099314].Field1);
            if (false) {
            nimAddStrStr(result_2099270[0], [44,32]);;
            addInt__stdZprivateZdigitsutils_u241(result_2099270, 0, 0);
            }
            
            nimAddStrStr(result_2099270[0], [41]);;
            }
            
            nimAddStrStr(result_2099270[0], [32,97,116,32]);;
            add__system_u1972(result_2099270, 0, tempFrames_2099281[j_2099314].Field0);
            nimAddStrStr(result_2099270[0], [10]);;
            res_42991681 -= 1;
          }
      };
    };

  return result_2099270[0];

}

function rawWriteStackTrace__system_u2214() {
  var result_2099367 = [];

    if (!((framePtr == null))) {
    result_2099367 = nimCopy(null, ([84,114,97,99,101,98,97,99,107,32,40,109,111,115,116,32,114,101,99,101,110,116,32,99,97,108,108,32,108,97,115,116,41,10]).concat(auxWriteStackTrace__system_u2116(framePtr)), NTI2097169);
    }
    else {
      result_2099367 = nimCopy(null, [78,111,32,115,116,97,99,107,32,116,114,97,99,101,98,97,99,107,32,97,118,97,105,108,97,98,108,101,10], NTI2097169);
    }
    

  return result_2099367;

}

function newSeq__system_u2562(len_p0) {
  var result_2099718 = [];

  var F = {procname: "newSeq.newSeq", prev: framePtr, filename: "/build/nim/src/nim/lib/system.nim", line: 0};
  framePtr = F;
    F.line = 651;
    F.filename = "system.nim";
    result_2099718 = new Array(len_p0); for (var i = 0 ; i < len_p0 ; ++i) { result_2099718[i] = null; }  framePtr = F.prev;

  return result_2099718;

}

function isNimException__system_u2047() {
    return lastJSError && lastJSError.m_type;

  
}

function getCurrentException() {
  var result_2099202 = null;

    if (isNimException__system_u2047()) {
    result_2099202 = lastJSError;
    }
    

  return result_2099202;

}

function raiseDefect() {
    if (isNimException__system_u2047()) {
    var e_2099418 = getCurrentException();
    if (isObj(e_2099418.m_type, NTI2097904)) {
    if ((excHandler == 0)) {
    unhandledException(e_2099418);
    }
    
    e_2099418.trace = nimCopy(null, rawWriteStackTrace__system_u2214(), NTI2097169);
    throw e_2099418;
    }
    
    }
    

  
}

function unhandledException(e_p0) {
    var buf_2099412 = [[]];
    if (!(((e_p0.message).length == 0))) {
    nimAddStrStr(buf_2099412[0], [69,114,114,111,114,58,32,117,110,104,97,110,100,108,101,100,32,101,120,99,101,112,116,105,111,110,58,32]);;
    nimAddStrStr(buf_2099412[0], e_p0.message);;
    }
    else {
    nimAddStrStr(buf_2099412[0], [69,114,114,111,114,58,32,117,110,104,97,110,100,108,101,100,32,101,120,99,101,112,116,105,111,110]);;
    }
    
    nimAddStrStr(buf_2099412[0], [32,91]);;
    add__system_u1972(buf_2099412, 0, e_p0.name);
    nimAddStrStr(buf_2099412[0], [93,10]);;
    nimAddStrStr(buf_2099412[0], rawWriteStackTrace__system_u2214());;
    var cbuf_2099413 = toJSStr(buf_2099412[0]);
    framePtr = null;
      if (typeof(Error) !== "undefined") {
    throw new Error(cbuf_2099413);
  }
  else {
    throw cbuf_2099413;
  }
  

  
}

function sysFatal__stdZassertions_u46(message_p1) {
  var F = {procname: "sysFatal.sysFatal", prev: framePtr, filename: "/build/nim/src/nim/lib/system/fatal.nim", line: 0};
  framePtr = F;
    F.line = 62;
    F.filename = "fatal.nim";
    raiseException({message: nimCopy(null, message_p1, NTI2097169), m_type: NTI8388625, parent: null, name: null, trace: [], up: null}, "AssertionDefect");
  framePtr = F.prev;

  
}

function raiseAssert__stdZassertions_u44(msg_p0) {
  var F = {procname: "assertions.raiseAssert", prev: framePtr, filename: "/build/nim/src/nim/lib/std/assertions.nim", line: 0};
  framePtr = F;
    F.line = 40;
    F.filename = "assertions.nim";
    sysFatal__stdZassertions_u46(msg_p0);
  framePtr = F.prev;

  
}

function failedAssertImpl__stdZassertions_u86(msg_p0) {
  var F = {procname: "assertions.failedAssertImpl", prev: framePtr, filename: "/build/nim/src/nim/lib/std/assertions.nim", line: 0};
  framePtr = F;
    F.line = 45;
    F.filename = "assertions.nim";
    raiseAssert__stdZassertions_u44(msg_p0);
  framePtr = F.prev;

  
}
var F = {procname: "module jsbigints_examples_1", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_1.nim", line: 0};
framePtr = F;
if (!((BigInt(1234567890) == BigInt("1234567890")))) {
F.line = 14;
F.filename = "jsbigints.nim";
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_1.nim(9, 3) `big(1234567890) == big\"1234567890\"` "));
}

if (!(((BigInt(999) == BigInt(999)) && (BigInt(999) == BigInt(999))))) {
F.line = 14;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_1.nim(10, 3) `0b00000000000000000000001111100111.big == 0o000000001747.big and\x0A    0o000000001747.big == 999.big` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_1", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_1.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_2", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_2.nim", line: 0};
framePtr = F;
if (!((BigInt("-1") == (BigInt("1") - BigInt("2"))))) {
F.line = 21;
F.filename = "jsbigints.nim";
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_2.nim(9, 3) `-1\'big == 1\'big - 2\'big` "));
}

if (!((BigInt("-12") == BigInt("-12")))) {
F.line = 21;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_2.nim(11, 3) `-12\'big == big\"-12\"` "));
}

if (!((BigInt("12") == BigInt(12)))) {
F.line = 21;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_2.nim(12, 3) `12\'big == 12.big` "));
}

if (!((BigInt("0b101") == BigInt(5)))) {
F.line = 21;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_2.nim(13, 3) `0b101\'big == 0b00000000000000000000000000000101.big` "));
}

if (!((BigInt("0o701") == BigInt(449)))) {
F.line = 21;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_2.nim(14, 3) `0o701\'big == 0o000000000701.big` "));
}

if (!((BigInt("0xdeadbeaf") == BigInt(3735928495n)))) {
F.line = 21;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_2.nim(15, 3) `0xdeadbeaf\'big == 0x00000000DEADBEAF\'i64.big` "));
}

if (!((BigInt("0xffffffffffffffff") == ((BigInt("1") << BigInt("64")) - BigInt("1"))))) {
F.line = 21;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_2.nim(16, 3) `0xffffffffffffffff\'big == (1\'big shl 64\'big) - 1\'big` "));
}

if (false) {
F.line = 21;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_2.nim(17, 3) `not compiles(static(12\'big))` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_2", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_2.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_3", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_3.nim", line: 0};
framePtr = F;
if (!((BigInt("2147483647").toString(2) == "1111111111111111111111111111111"))) {
F.line = 41;
F.filename = "jsbigints.nim";
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_3.nim(9, 3) `big\"2147483647\".toCstring(2) == \"1111111111111111111111111111111\".cstring` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_3", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_3.nim", line: 0};
framePtr = F;
framePtr = F.prev;

function HEX24__stdZjsbigints_u19(this_p0) {
  var result_44040213 = [];

  var F = {procname: "jsbigints.$", prev: framePtr, filename: "/build/nim/src/nim/lib/std/jsbigints.nim", line: 0};
  framePtr = F;
    F.line = 49;
    F.filename = "jsbigints.nim";
    result_44040213 = nimCopy(null, (cstrToNimstr(this_p0.toString())).concat([110]), NTI2097169);
  framePtr = F.prev;

  return result_44040213;

}
var F = {procname: "module jsbigints_examples_4", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_4.nim", line: 0};
framePtr = F;
if (!(eqStrings(HEX24__stdZjsbigints_u19(BigInt("1024")), [49,48,50,52,110]))) {
F.line = 50;
F.filename = "jsbigints.nim";
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_4.nim(9, 3) `$big\"1024\" == \"1024n\"` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_4", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_4.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_5", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_5.nim", line: 0};
framePtr = F;
if (!(((() => { const i = (BigInt("3") + ((BigInt("2")) ** BigInt("66"))), b = 13; return BigInt.asIntN(b, i) })() == BigInt("3")))) {
F.line = 57;
F.filename = "jsbigints.nim";
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_5.nim(9, 3) `(big(\"3\") + big(\"2\") ** big(\"66\")).wrapToInt(13) == big(\"3\")` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_5", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_5.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_6", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_6.nim", line: 0};
framePtr = F;
if (!(((() => { const i = (BigInt("3") + ((BigInt("2")) ** BigInt("66"))), b = 66; return BigInt.asUintN(b, i) })() == BigInt("3")))) {
F.line = 64;
F.filename = "jsbigints.nim";
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_6.nim(9, 3) `(big(\"3\") + big(\"2\") ** big(\"66\")).wrapToUint(66) == big(\"3\")` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_6", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_6.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_7", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_7.nim", line: 0};
framePtr = F;
if (!((Number(BigInt("2147483647")) == 2147483647))) {
F.line = 69;
F.filename = "jsbigints.nim";
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_7.nim(9, 3) `toNumber(big\"2147483647\") == 2147483647.int` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_7", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_7.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_8", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_8.nim", line: 0};
framePtr = F;
if (!(((BigInt("9") + BigInt("1")) == BigInt("10")))) {
F.line = 73;
F.filename = "jsbigints.nim";
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_8.nim(9, 3) `(big\"9\" + big\"1\") == big\"10\"` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_8", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_8.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_9", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_9.nim", line: 0};
framePtr = F;
if (!(((BigInt("9") - BigInt("1")) == BigInt("8")))) {
F.line = 77;
F.filename = "jsbigints.nim";
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_9.nim(9, 3) `(big\"9\" - big\"1\") == big\"8\"` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_9", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_9.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_10", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_10.nim", line: 0};
framePtr = F;
if (!(((BigInt("42") * BigInt("9")) == BigInt("378")))) {
F.line = 81;
F.filename = "jsbigints.nim";
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_10.nim(9, 3) `(big\"42\" * big\"9\") == big\"378\"` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_10", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_10.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_11", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_11.nim", line: 0};
framePtr = F;
if (!(((BigInt("13") / BigInt("3")) == BigInt("4")))) {
F.line = 86;
F.filename = "jsbigints.nim";
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_11.nim(9, 3) `big\"13\" div big\"3\" == big\"4\"` "));
}

if (!(((BigInt("-13") / BigInt("3")) == BigInt("-4")))) {
F.line = 86;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_11.nim(10, 3) `big\"-13\" div big\"3\" == big\"-4\"` "));
}

if (!(((BigInt("13") / BigInt("-3")) == BigInt("-4")))) {
F.line = 86;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_11.nim(11, 3) `big\"13\" div big\"-3\" == big\"-4\"` "));
}

if (!(((BigInt("-13") / BigInt("-3")) == BigInt("4")))) {
F.line = 86;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_11.nim(12, 3) `big\"-13\" div big\"-3\" == big\"4\"` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_11", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_11.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_12", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_12.nim", line: 0};
framePtr = F;
if (!(((BigInt("13") % BigInt("3")) == BigInt("1")))) {
F.line = 94;
F.filename = "jsbigints.nim";
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_12.nim(9, 3) `big\"13\" mod big\"3\" == big\"1\"` "));
}

if (!(((BigInt("-13") % BigInt("3")) == BigInt("-1")))) {
F.line = 94;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_12.nim(10, 3) `big\"-13\" mod big\"3\" == big\"-1\"` "));
}

if (!(((BigInt("13") % BigInt("-3")) == BigInt("1")))) {
F.line = 94;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_12.nim(11, 3) `big\"13\" mod big\"-3\" == big\"1\"` "));
}

if (!(((BigInt("-13") % BigInt("-3")) == BigInt("-1")))) {
F.line = 94;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_12.nim(12, 3) `big\"-13\" mod big\"-3\" == big\"-1\"` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_12", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_12.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_13", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_13.nim", line: 0};
framePtr = F;
if (!((BigInt("2") < BigInt("9")))) {
F.line = 101;
F.filename = "jsbigints.nim";
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_13.nim(9, 3) `big\"2\" < big\"9\"` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_13", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_13.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_14", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_14.nim", line: 0};
framePtr = F;
if (!((BigInt("1") <= BigInt("5")))) {
F.line = 105;
F.filename = "jsbigints.nim";
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_14.nim(9, 3) `big\"1\" <= big\"5\"` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_14", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_14.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_15", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_15.nim", line: 0};
framePtr = F;
if (!((BigInt("42") == BigInt("42")))) {
F.line = 109;
F.filename = "jsbigints.nim";
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_15.nim(9, 3) `big\"42\" == big\"42\"` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_15", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_15.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_16", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_16.nim", line: 0};
framePtr = F;
if (!((((BigInt("2")) ** BigInt("64")) == BigInt("18446744073709551616")))) {
F.line = 114;
F.filename = "jsbigints.nim";
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_16.nim(9, 3) `big\"2\" ** big\"64\" == big\"18446744073709551616\"` "));
}

if (!((((BigInt("-2")) ** BigInt("3")) == BigInt("-8")))) {
F.line = 114;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_16.nim(10, 3) `big\"-2\" ** big\"3\" == big\"-8\"` "));
}

if (!(((((-BigInt("2"))) ** BigInt("2")) == BigInt("4")))) {
F.line = 114;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_16.nim(11, 3) `-big\"2\" ** big\"2\" == big\"4\"` "));
}

if (!((((BigInt("0")) ** BigInt("0")) == BigInt("1")))) {
F.line = 114;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_16.nim(12, 3) `big\"0\" ** big\"0\" == big\"1\"` "));
}

F.line = 114;
var ok_59768855 = [false];
F.line = 114;
++excHandler;
try {
F.line = 114;
(((BigInt("2")) ** BigInt("-1")));
--excHandler;
} catch (EXCEPTION) {
 var prevJSError = lastJSError;
 lastJSError = EXCEPTION;
 --excHandler;
framePtr = F;
F.line = 114;
raiseDefect();
F.line = 114;
ok_59768855[0] = true;
lastJSError = prevJSError;
} finally {
framePtr = F;
}
if (!(ok_59768855[0])) {
F.line = 114;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_16.nim(16, 3) `ok` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_16", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_16.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_17", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_17.nim", line: 0};
framePtr = F;
if (!(((BigInt("555") & BigInt("2")) == BigInt("2")))) {
F.line = 125;
F.filename = "jsbigints.nim";
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_17.nim(9, 3) `(big\"555\" and big\"2\") == big\"2\"` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_17", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_17.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_18", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_18.nim", line: 0};
framePtr = F;
if (!(((BigInt("555") | BigInt("2")) == BigInt("555")))) {
F.line = 129;
F.filename = "jsbigints.nim";
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_18.nim(9, 3) `(big\"555\" or big\"2\") == big\"555\"` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_18", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_18.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_19", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_19.nim", line: 0};
framePtr = F;
if (!(((BigInt("555") ^ BigInt("2")) == BigInt("553")))) {
F.line = 133;
F.filename = "jsbigints.nim";
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_19.nim(9, 3) `(big\"555\" xor big\"2\") == big\"553\"` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_19", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_19.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_20", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_20.nim", line: 0};
framePtr = F;
if (!(((BigInt("999") << BigInt("2")) == BigInt("3996")))) {
F.line = 137;
F.filename = "jsbigints.nim";
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_20.nim(9, 3) `(big\"999\" shl big\"2\") == big\"3996\"` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_20", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_20.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_21", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_21.nim", line: 0};
framePtr = F;
if (!(((BigInt("999") >> BigInt("2")) == BigInt("249")))) {
F.line = 141;
F.filename = "jsbigints.nim";
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_21.nim(9, 3) `(big\"999\" shr big\"2\") == big\"249\"` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_21", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_21.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_22", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_22.nim", line: 0};
framePtr = F;
if (!(((-BigInt("10101010101")) == BigInt("-10101010101")))) {
F.line = 145;
F.filename = "jsbigints.nim";
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_22.nim(9, 3) `-(big\"10101010101\") == big\"-10101010101\"` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_22", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_22.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_23", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_23.nim", line: 0};
framePtr = F;
F.line = 149;
F.filename = "jsbigints.nim";
var big1_67108867 = [BigInt("1")];
F.line = 149;
(++[big1_67108867, 0][0][0]);
if (!((big1_67108867[0] == BigInt("2")))) {
F.line = 149;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_23.nim(11, 3) `big1 == big\"2\"` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_23", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_23.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_24", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_24.nim", line: 0};
framePtr = F;
F.line = 155;
F.filename = "jsbigints.nim";
var big1_68157443 = [BigInt("2")];
F.line = 155;
(--[big1_68157443, 0][0][0]);
if (!((big1_68157443[0] == BigInt("1")))) {
F.line = 155;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_24.nim(11, 3) `big1 == big\"1\"` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_24", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_24.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_25", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_25.nim", line: 0};
framePtr = F;
F.line = 161;
F.filename = "jsbigints.nim";
var big1_69206019 = [BigInt("1")];
F.line = 161;
([big1_69206019, 0][0][0] += BigInt("2"));
if (!((big1_69206019[0] == BigInt("3")))) {
F.line = 161;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_25.nim(11, 3) `big1 == big\"3\"` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_25", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_25.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_26", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_26.nim", line: 0};
framePtr = F;
F.line = 167;
F.filename = "jsbigints.nim";
var big1_70254595 = [BigInt("1")];
F.line = 167;
([big1_70254595, 0][0][0] -= BigInt("2"));
if (!((big1_70254595[0] == BigInt("-1")))) {
F.line = 167;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_26.nim(11, 3) `big1 == big\"-1\"` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_26", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_26.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_27", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_27.nim", line: 0};
framePtr = F;
F.line = 173;
F.filename = "jsbigints.nim";
var big1_71303171 = [BigInt("1")];
F.line = 173;
([big1_71303171, 0][0][0] += BigInt("2"));
if (!((big1_71303171[0] == BigInt("3")))) {
F.line = 173;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_27.nim(11, 3) `big1 == big\"3\"` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_27", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_27.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_28", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_28.nim", line: 0};
framePtr = F;
F.line = 179;
F.filename = "jsbigints.nim";
var big1_72351747 = [BigInt("1")];
F.line = 179;
([big1_72351747, 0][0][0] -= BigInt("2"));
if (!((big1_72351747[0] == BigInt("-1")))) {
F.line = 179;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_28.nim(11, 3) `big1 == big\"-1\"` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_28", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_28.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_29", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_29.nim", line: 0};
framePtr = F;
F.line = 185;
F.filename = "jsbigints.nim";
var big1_73400323 = [BigInt("2")];
F.line = 185;
([big1_73400323, 0][0][0] *= BigInt("4"));
if (!((big1_73400323[0] == BigInt("8")))) {
F.line = 185;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_29.nim(11, 3) `big1 == big\"8\"` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_29", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_29.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_30", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_30.nim", line: 0};
framePtr = F;
F.line = 192;
F.filename = "jsbigints.nim";
var big1_74448899 = [BigInt("11")];
F.line = 192;
([big1_74448899, 0][0][0] /= BigInt("2"));
if (!((big1_74448899[0] == BigInt("5")))) {
F.line = 192;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_30.nim(11, 3) `big1 == big\"5\"` "));
}

framePtr = F.prev;
var F = {procname: "module jsbigints_examples_30", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_30.nim", line: 0};
framePtr = F;
framePtr = F.prev;

function raiseOverflow() {
    raiseException({message: [111,118,101,114,45,32,111,114,32,117,110,100,101,114,102,108,111,119], parent: null, m_type: NTI8388623, name: null, trace: [], up: null}, "OverflowDefect");

  
}

function checkOverflowInt(a_p0) {
        if (a_p0 > 2147483647 || a_p0 < -2147483648) raiseOverflow();
  

  
}

function raiseIndexError(i_p0, a_p1, b_p2) {
    var Temporary1;

    if ((b_p2 < a_p1)) {
    Temporary1 = [105,110,100,101,120,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,116,104,101,32,99,111,110,116,97,105,110,101,114,32,105,115,32,101,109,112,116,121];
    }
    else {
    Temporary1 = ([105,110,100,101,120,32]).concat(HEX24__systemZdollars_u14(i_p0),[32,110,111,116,32,105,110,32],HEX24__systemZdollars_u14(a_p1),[32,46,46,32],HEX24__systemZdollars_u14(b_p2));
    }
    
    raiseException({message: nimCopy(null, Temporary1, NTI2097169), parent: null, m_type: NTI8388629, name: null, trace: [], up: null}, "IndexDefect");

  
}

function HEX3DHEX3D__jsbigints95examples9531_u60(x_p0, y_p1) {
  var result_75497536 = false;

  var F = {procname: "==.==", prev: framePtr, filename: "/build/nim/src/nim/lib/system/comparisons.nim", line: 0};
  framePtr = F;
  BeforeRet: {
    F.line = 341;
    F.filename = "comparisons.nim";
    var sameObject_75497544 = false;
    F.line = 342;
    sameObject_75497544 = x_p0 === y_p1;
    if (sameObject_75497544) {
    F.line = 343;
    result_75497536 = true;
    break BeforeRet;
    }
    
    if (!(((x_p0).length == (y_p1).length))) {
    F.line = 346;
    result_75497536 = false;
    break BeforeRet;
    }
    
    Label1: {
      F.line = 348;
      var i_75497558 = 0;
      F.line = 81;
      F.filename = "iterators_1.nim";
      var colontmp__75497659 = 0;
      F.line = 348;
      F.filename = "comparisons.nim";
      colontmp__75497659 = subInt((x_p0).length, 1);
      F.line = 96;
      F.filename = "iterators_1.nim";
      var res_75497661 = 0;
      Label2: {
        F.line = 97;
          Label3: while (true) {
          if (!(res_75497661 <= colontmp__75497659)) break Label3;
            F.line = 348;
            F.filename = "comparisons.nim";
            i_75497558 = res_75497661;
            if (!((x_p0[chckIndx(i_75497558, 0, (x_p0).length - 1)] == y_p1[chckIndx(i_75497558, 0, (y_p1).length - 1)]))) {
            F.line = 350;
            result_75497536 = false;
            break BeforeRet;
            }
            
            F.line = 102;
            F.filename = "iterators_1.nim";
            res_75497661 = addInt(res_75497661, 1);
          }
      };
    };
    F.line = 352;
    F.filename = "comparisons.nim";
    result_75497536 = true;
    break BeforeRet;
  };
  framePtr = F.prev;

  return result_75497536;

}

function HEX5BHEX5D__jsbigints95examples9531_u92(s_p0, i_p1) {
  var result_75497568 = null;
  var result_75497568_Idx = 0;

  var F = {procname: "[].[]", prev: framePtr, filename: "/build/nim/src/nim/lib/system/indices.nim", line: 0};
  framePtr = F;
    F.line = 30;
    F.filename = "indices.nim";
    result_75497568 = s_p0; result_75497568_Idx = chckIndx(subInt((s_p0).length, i_p1), 0, (s_p0).length - 1);
  framePtr = F.prev;

  return [result_75497568, result_75497568_Idx];

}
    var Temporary4;
var F = {procname: "module jsbigints_examples_31", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_31.nim", line: 0};
framePtr = F;
Label2: {
  F.line = 208;
  F.filename = "jsbigints.nim";
  var big1_75497475 = BigInt("2147483647");
  F.line = 208;
  var big2_75497476 = BigInt("666");
  if (false) {
  F.line = 208;
  failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_31.nim(12, 5) `JsBigInt isnot int` "));
  }
  
  if (!(!((big1_75497475 == big2_75497476)))) {
  F.line = 208;
  failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_31.nim(13, 5) `big1 != big2` "));
  }
  
  if (!((big2_75497476 < big1_75497475))) {
  F.line = 208;
  failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_31.nim(14, 5) `big1 > big2` "));
  }
  
  if (!((big2_75497476 <= big1_75497475))) {
  F.line = 208;
  failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_31.nim(15, 5) `big1 >= big2` "));
  }
  
  if (!((big2_75497476 < big1_75497475))) {
  F.line = 208;
  failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_31.nim(16, 5) `big2 < big1` "));
  }
  
  if (!((big2_75497476 <= big1_75497475))) {
  F.line = 208;
  failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_31.nim(17, 5) `big2 <= big1` "));
  }
  
  if (!(!((big1_75497475 == big2_75497476)))) {
  F.line = 208;
  failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_31.nim(18, 5) `not (big1 == big2)` "));
  }
  
  F.line = 208;
  var z_75497517 = 0n;
  if (!(eqStrings(HEX24__stdZjsbigints_u19(z_75497517), [48,110]))) {
  F.line = 208;
  failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_31.nim(20, 5) `$z == \"0n\"` "));
  }
  
};
Label3: {
  F.line = 208;
  var a_75497523 = [[]];
  F.line = 208;
  if (a_75497523[0].length < 2) { for (var i = a_75497523[0].length ; i < 2 ; ++i) a_75497523[0].push(0n); }
               else { a_75497523[0].length = 2; };
  if (!(HEX3DHEX3D__jsbigints95examples9531_u60(a_75497523[0], [BigInt("0"), BigInt("0")]))) {
  F.line = 208;
  failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_31.nim(24, 5) `a == @[big\"0\", big\"0\"]` "));
  }
  
  if (!(((Temporary4 = HEX5BHEX5D__jsbigints95examples9531_u92(a_75497523[0], 1), Temporary4)[0][Temporary4[1]] == BigInt("0")))) {
  F.line = 208;
  failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_31.nim(25, 5) `a[^1] == big\"0\"` "));
  }
  
  F.line = 208;
  var b_75497594 = [0n];
  if (!((b_75497594[0] == BigInt("0")))) {
  F.line = 208;
  failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_31.nim(27, 5) `b == big\"0\"` "));
  }
  
  if (!((b_75497594[0] == 0n))) {
  F.line = 208;
  failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_31.nim(28, 5) `b == JsBigInt.default` "));
  }
  
};
framePtr = F.prev;
var F = {procname: "module jsbigints_examples_31", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_examples_31.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_group0_examples", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_group0_examples.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsbigints_group0_examples", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jsbigints_group0_examples.nim", line: 0};
framePtr = F;
framePtr = F.prev;
