/* Generated by the Nim Compiler v2.2.10 */
var framePtr = null;
var excHandler = 0;
var lastJSError = null;
var NTI134217745 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI134217749 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI33554435 = {size: 0,kind: 31,base: null,node: null,finalizer: null};
var NTI33555870 = {size: 0, kind: 18, base: null, node: null, finalizer: null};
var NTI33555179 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI33555187 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI33554449 = {size: 0,kind: 28,base: null,node: null,finalizer: null};
var NTI33554450 = {size: 0,kind: 29,base: null,node: null,finalizer: null};
var NTI33555186 = {size: 0, kind: 22, base: null, node: null, finalizer: null};
var NTI33555183 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI33555184 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI134217741 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NTI134217743 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
var NNI134217743 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI134217743.node = NNI134217743;
var NNI134217741 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI134217741.node = NNI134217741;
var NNI33555184 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI33555184.node = NNI33555184;
NTI33555186.base = NTI33555183;
NTI33555187.base = NTI33555183;
var NNI33555183 = {kind: 2, len: 5, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "parent", len: 0, typ: NTI33555186, name: "parent", sons: null}, 
{kind: 1, offset: "name", len: 0, typ: NTI33554450, name: "name", sons: null}, 
{kind: 1, offset: "message", len: 0, typ: NTI33554449, name: "msg", sons: null}, 
{kind: 1, offset: "trace", len: 0, typ: NTI33554449, name: "trace", sons: null}, 
{kind: 1, offset: "up", len: 0, typ: NTI33555187, name: "up", sons: null}]};
NTI33555183.node = NNI33555183;
var NNI33555179 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI33555179.node = NNI33555179;
NTI33555183.base = NTI33555179;
NTI33555184.base = NTI33555183;
NTI134217741.base = NTI33555184;
NTI134217743.base = NTI134217741;
var NNI33555870 = {kind: 2, len: 3, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "Field0", len: 0, typ: NTI33554450, name: "Field0", sons: null}, 
{kind: 1, offset: "Field1", len: 0, typ: NTI33554435, name: "Field1", sons: null}, 
{kind: 1, offset: "Field2", len: 0, typ: NTI33554450, name: "Field2", sons: null}]};
NTI33555870.node = NNI33555870;
var NNI134217749 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI134217749.node = NNI134217749;
NTI134217749.base = NTI33555184;
var NNI134217745 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
NTI134217745.node = NNI134217745;
NTI134217745.base = NTI33555184;

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 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_33557376 = null;

    switch (ti_p2.kind) {
    case 21:
    case 22:
    case 23:
    case 5:
      if (!(isFatPointer__system_u2924(ti_p2))) {
      result_33557376 = src_p1;
      }
      else {
        result_33557376 = [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_33557376 = dest_p0;
    
      break;
    case 18:
    case 17:
      if (!((ti_p2.base == null))) {
      result_33557376 = nimCopy(dest_p0, src_p1, ti_p2.base);
      }
      else {
      if ((ti_p2.kind == 17)) {
      result_33557376 = (dest_p0 === null || dest_p0 === undefined) ? {m_type: ti_p2} : dest_p0;
      }
      else {
        result_33557376 = (dest_p0 === null || dest_p0 === undefined) ? {} : dest_p0;
      }
      }
      nimCopyAux(result_33557376, 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_33557376 = dest_p0;
      } else {
        if (src_p1 === null) {
          result_33557376 = null;
        }
        else {
          if (dest_p0 === null || dest_p0 === undefined || dest_p0.length != src_p1.length) {
            dest_p0 = new Array(src_p1.length);
          }
          result_33557376 = dest_p0;
          for (var i = 0; i < src_p1.length; ++i) {
            result_33557376[i] = nimCopy(result_33557376[i], src_p1[i], ti_p2.base);
          }
        }
      }
    
      break;
    case 24:
    case 27:
            if (src_p1 === null) {
        result_33557376 = null;
      }
      else {
        if (dest_p0 === null || dest_p0 === undefined || dest_p0.length != src_p1.length) {
          dest_p0 = new Array(src_p1.length);
        }
        result_33557376 = dest_p0;
        for (var i = 0; i < src_p1.length; ++i) {
          result_33557376[i] = nimCopy(result_33557376[i], src_p1[i], ti_p2.base);
        }
      }
    
      break;
    case 28:
            if (src_p1 !== null) {
        result_33557376 = src_p1.slice(0);
      }
    
      break;
    default: 
      result_33557376 = src_p1;
      break;
    }

  return result_33557376;

}

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_33557489 = false;

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

  return result_33557489;

}

function toJSStr(s_p0) {
  var result_33556953 = null;

    var res_33557019 = newSeq__system_u2562((s_p0).length);
    var i_33557020 = 0;
    var j_33557021 = 0;
    Label1: {
        Label2: while (true) {
        if (!(i_33557020 < (s_p0).length)) break Label2;
          var c_33557022 = s_p0[i_33557020];
          if ((c_33557022 < 128)) {
          res_33557019[j_33557021] = String.fromCharCode(c_33557022);
          i_33557020 += 1;
          }
          else {
            var helper_33557048 = newSeq__system_u2562(0);
            Label3: {
                Label4: while (true) {
                if (!true) break Label4;
                  var code_33557049 = c_33557022.toString(16);
                  if ((((code_33557049) == null ? 0 : (code_33557049).length) == 1)) {
                  helper_33557048.push("%0");;
                  }
                  else {
                  helper_33557048.push("%");;
                  }
                  
                  helper_33557048.push(code_33557049);;
                  i_33557020 += 1;
                  if ((((s_p0).length <= i_33557020) || (s_p0[i_33557020] < 128))) {
                  break Label3;
                  }
                  
                  c_33557022 = s_p0[i_33557020];
                }
            };
++excHandler;
            try {
            res_33557019[j_33557021] = decodeURIComponent(helper_33557048.join(""));
--excHandler;
} catch (EXCEPTION) {
 var prevJSError = lastJSError;
 lastJSError = EXCEPTION;
 --excHandler;
            raiseDefect();
            res_33557019[j_33557021] = helper_33557048.join("");
            lastJSError = prevJSError;
            } finally {
            }
          }
          
          j_33557021 += 1;
        }
    };
    if (res_33557019.length < j_33557021) { for (var i = res_33557019.length ; i < j_33557021 ; ++i) res_33557019.push(null); }
               else { res_33557019.length = j_33557021; };
    result_33556953 = res_33557019.join("");

  return result_33556953;

}

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(), NTI33554449);
    throw e_p0;

  
}

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_33557411 = 0;

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

  return result_33557411;

}

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

  
}

function makeNimstrLit(c_p0) {
      var result = [];
  for (var i = 0; i < c_p0.length; ++i) {
    result[i] = c_p0.charCodeAt(i);
  }
  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;
var F = {procname: "module jsutils", prev: framePtr, filename: "/build/nim/src/nim/lib/std/private/jsutils.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jsutils", prev: framePtr, filename: "/build/nim/src/nim/lib/std/private/jsutils.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jscore", prev: framePtr, filename: "/build/nim/src/nim/lib/js/jscore.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jscore", prev: framePtr, filename: "/build/nim/src/nim/lib/js/jscore.nim", line: 0};
framePtr = F;
framePtr = F.prev;

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 isFatPointer__system_u2924(ti_p0) {
  var result_33557358 = false;

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

  return result_33557358;

}

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 addChars__stdZprivateZdigitsutils_u202(result_p0, result_p0_Idx, x_p1, start_p2, n_p3) {
    var Temporary1;

    var old_335544528 = (result_p0[result_p0_Idx]).length;
    if (result_p0[result_p0_Idx].length < (Temporary1 = (old_335544528 + 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_335544542 = 0;
      var i_687866112 = 0;
      Label3: {
          Label4: while (true) {
          if (!(i_687866112 < n_p3)) break Label4;
            iHEX60gensym4_335544542 = i_687866112;
            result_p0[result_p0_Idx][(old_335544528 + iHEX60gensym4_335544542)] = x_p1.charCodeAt((start_p2 + iHEX60gensym4_335544542));
            i_687866112 += 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_385875984 = [[]];

  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_385875984[0] = nimCopy(null, [], NTI33554449);
    F.line = 21;
    addInt__stdZprivateZdigitsutils_u241(result_385875984, 0, xHEX60gensym0_p0);
  framePtr = F.prev;

  return result_385875984[0];

}

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

    var it_33556558 = f_p0;
    var i_33556559 = 0;
    var total_33556560 = 0;
    var tempFrames_33556561 = arrayConstr(64, {Field0: null, Field1: 0, Field2: null}, NTI33555870);
    Label1: {
        Label2: while (true) {
        if (!(!((it_33556558 == null)) && (i_33556559 <= 63))) break Label2;
          tempFrames_33556561[i_33556559].Field0 = it_33556558.procname;
          tempFrames_33556561[i_33556559].Field1 = it_33556558.line;
          tempFrames_33556561[i_33556559].Field2 = it_33556558.filename;
          i_33556559 += 1;
          total_33556560 += 1;
          it_33556558 = it_33556558.prev;
        }
    };
    Label3: {
        Label4: while (true) {
        if (!!((it_33556558 == null))) break Label4;
          total_33556560 += 1;
          it_33556558 = it_33556558.prev;
        }
    };
    result_33556550[0] = nimCopy(null, [], NTI33554449);
    if (!((total_33556560 == i_33556559))) {
    nimAddStrStr(result_33556550[0], [40]);;
    nimAddStrStr(result_33556550[0], HEX24__systemZdollars_u14((total_33556560 - i_33556559)));;
    nimAddStrStr(result_33556550[0], [32,99,97,108,108,115,32,111,109,105,116,116,101,100,41,32,46,46,46,10]);;
    }
    
    Label5: {
      var j_33556594 = 0;
      var colontmp__687866104 = 0;
      colontmp__687866104 = (i_33556559 - 1);
      var res_687866106 = colontmp__687866104;
      Label6: {
          Label7: while (true) {
          if (!(0 <= res_687866106)) break Label7;
            j_33556594 = res_687866106;
            nimAddStrStr(result_33556550[0], cstrToNimstr(tempFrames_33556561[j_33556594].Field2));;
            if ((0 < tempFrames_33556561[j_33556594].Field1)) {
            nimAddStrStr(result_33556550[0], [40]);;
            addInt__stdZprivateZdigitsutils_u241(result_33556550, 0, tempFrames_33556561[j_33556594].Field1);
            if (false) {
            nimAddStrStr(result_33556550[0], [44,32]);;
            addInt__stdZprivateZdigitsutils_u241(result_33556550, 0, 0);
            }
            
            nimAddStrStr(result_33556550[0], [41]);;
            }
            
            nimAddStrStr(result_33556550[0], [32,97,116,32]);;
            add__system_u1972(result_33556550, 0, tempFrames_33556561[j_33556594].Field0);
            nimAddStrStr(result_33556550[0], [10]);;
            res_687866106 -= 1;
          }
      };
    };

  return result_33556550[0];

}

function rawWriteStackTrace__system_u2214() {
  var result_33556647 = [];

    if (!((framePtr == null))) {
    result_33556647 = 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)), NTI33554449);
    }
    else {
      result_33556647 = 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], NTI33554449);
    }
    

  return result_33556647;

}

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

  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_33556998 = new Array(len_p0); for (var i = 0 ; i < len_p0 ; ++i) { result_33556998[i] = null; }  framePtr = F.prev;

  return result_33556998;

}

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

  
}

function getCurrentException() {
  var result_33556482 = null;

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

  return result_33556482;

}

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

  
}

function unhandledException(e_p0) {
    var buf_33556692 = [[]];
    if (!(((e_p0.message).length == 0))) {
    nimAddStrStr(buf_33556692[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_33556692[0], e_p0.message);;
    }
    else {
    nimAddStrStr(buf_33556692[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_33556692[0], [32,91]);;
    add__system_u1972(buf_33556692, 0, e_p0.name);
    nimAddStrStr(buf_33556692[0], [93,10]);;
    nimAddStrStr(buf_33556692[0], rawWriteStackTrace__system_u2214());;
    var cbuf_33556693 = toJSStr(buf_33556692[0]);
    framePtr = null;
      if (typeof(Error) !== "undefined") {
    throw new Error(cbuf_33556693);
  }
  else {
    throw cbuf_33556693;
  }
  

  
}

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

  
}

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

  
}

function 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, NTI33554449), parent: null, m_type: NTI134217749, name: null, trace: [], up: null}, "IndexDefect");

  
}

function HEX3DHEX3D__jscore95examples951_u14(x_p0, y_p1) {
  var result_687865874 = 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_687865882 = false;
    F.line = 342;
    sameObject_687865882 = x_p0 === y_p1;
    if (sameObject_687865882) {
    F.line = 343;
    result_687865874 = true;
    break BeforeRet;
    }
    
    if (!(((x_p0).length == (y_p1).length))) {
    F.line = 346;
    result_687865874 = false;
    break BeforeRet;
    }
    
    Label1: {
      F.line = 348;
      var i_687865896 = 0;
      F.line = 81;
      F.filename = "iterators_1.nim";
      var colontmp__687866097 = 0;
      F.line = 348;
      F.filename = "comparisons.nim";
      colontmp__687866097 = subInt((x_p0).length, 1);
      F.line = 96;
      F.filename = "iterators_1.nim";
      var res_687866099 = 0;
      Label2: {
        F.line = 97;
          Label3: while (true) {
          if (!(res_687866099 <= colontmp__687866097)) break Label3;
            F.line = 348;
            F.filename = "comparisons.nim";
            i_687865896 = res_687866099;
            if (!((x_p0[chckIndx(i_687865896, 0, (x_p0).length - 1)] == y_p1[chckIndx(i_687865896, 0, (y_p1).length - 1)]))) {
            F.line = 350;
            result_687865874 = false;
            break BeforeRet;
            }
            
            F.line = 102;
            F.filename = "iterators_1.nim";
            res_687866099 = addInt(res_687866099, 1);
          }
      };
    };
    F.line = 352;
    F.filename = "comparisons.nim";
    result_687865874 = true;
    break BeforeRet;
  };
  framePtr = F.prev;

  return result_687865874;

}

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, NTI33554449), m_type: NTI134217745, 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;

  
}

function HEX3DHEX3D__jscore95examples951_u72(x_p0, y_p1) {
  var result_687865932 = 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_687865940 = false;
    F.line = 342;
    sameObject_687865940 = x_p0 === y_p1;
    if (sameObject_687865940) {
    F.line = 343;
    result_687865932 = true;
    break BeforeRet;
    }
    
    if (!(((x_p0).length == (y_p1).length))) {
    F.line = 346;
    result_687865932 = false;
    break BeforeRet;
    }
    
    Label1: {
      F.line = 348;
      var i_687865954 = 0;
      F.line = 81;
      F.filename = "iterators_1.nim";
      var colontmp__687866118 = 0;
      F.line = 348;
      F.filename = "comparisons.nim";
      colontmp__687866118 = subInt((x_p0).length, 1);
      F.line = 96;
      F.filename = "iterators_1.nim";
      var res_687866119 = 0;
      Label2: {
        F.line = 97;
          Label3: while (true) {
          if (!(res_687866119 <= colontmp__687866118)) break Label3;
            F.line = 348;
            F.filename = "comparisons.nim";
            i_687865954 = res_687866119;
            if (!((x_p0[chckIndx(i_687865954, 0, (x_p0).length - 1)] == y_p1[chckIndx(i_687865954, 0, (y_p1).length - 1)]))) {
            F.line = 350;
            result_687865932 = false;
            break BeforeRet;
            }
            
            F.line = 102;
            F.filename = "iterators_1.nim";
            res_687866119 = addInt(res_687866119, 1);
          }
      };
    };
    F.line = 352;
    F.filename = "comparisons.nim";
    result_687865932 = true;
    break BeforeRet;
  };
  framePtr = F.prev;

  return result_687865932;

}
var F = {procname: "module jscore_examples_1", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jscore_examples_1.nim", line: 0};
framePtr = F;
if (!(HEX3DHEX3D__jscore95examples951_u14(new Uint8Array([97, 98, 99, 100, 101]).copyWithin(0, 3, 4), [100, 98, 99, 100, 101]))) {
F.line = 133;
F.filename = "jscore.nim";
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jscore_examples_1.nim(9, 3) `[\'a\', \'b\', \'c\', \'d\', \'e\'].copyWithin(0, 3, 4) == @[\'d\', \'b\', \'c\', \'d\', \'e\']` "));
}

if (!(HEX3DHEX3D__jscore95examples951_u14(new Uint8Array([97, 98, 99, 100, 101]).copyWithin(1, 3), [97, 100, 101, 100, 101]))) {
F.line = 133;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jscore_examples_1.nim(10, 3) `[\'a\', \'b\', \'c\', \'d\', \'e\'].copyWithin(1, 3) == @[\'a\', \'d\', \'e\', \'d\', \'e\']` "));
}

if (!(HEX3DHEX3D__jscore95examples951_u72(new Int32Array([1, 2, 3, 4, 5]).copyWithin((-2)), [1, 2, 3, 1, 2]))) {
F.line = 133;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jscore_examples_1.nim(11, 3) `[1, 2, 3, 4, 5].copyWithin(-2) == @[1, 2, 3, 1, 2]` "));
}

if (!(HEX3DHEX3D__jscore95examples951_u72(new Int32Array([1, 2, 3, 4, 5]).copyWithin(0, 3), [4, 5, 3, 4, 5]))) {
F.line = 133;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jscore_examples_1.nim(12, 3) `[1, 2, 3, 4, 5].copyWithin(0, 3) == @[4, 5, 3, 4, 5]` "));
}

if (!(HEX3DHEX3D__jscore95examples951_u72(new Int32Array([1, 2, 3, 4, 5]).copyWithin(0, 3, 4), [4, 2, 3, 4, 5]))) {
F.line = 133;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jscore_examples_1.nim(13, 3) `[1, 2, 3, 4, 5].copyWithin(0, 3, 4) == @[4, 2, 3, 4, 5]` "));
}

if (!(HEX3DHEX3D__jscore95examples951_u72(new Int32Array([1, 2, 3, 4, 5]).copyWithin((-2), (-3), (-1)), [1, 2, 3, 3, 4]))) {
F.line = 133;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jscore_examples_1.nim(14, 3) `[1, 2, 3, 4, 5].copyWithin(-2, -3, -1) == @[1, 2, 3, 3, 4]` "));
}

framePtr = F.prev;
var F = {procname: "module jscore_examples_1", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jscore_examples_1.nim", line: 0};
framePtr = F;
framePtr = F.prev;
var F = {procname: "module jscore_examples_2", prev: framePtr, filename: "/build/nim/src/nim/doc/html/nimcache/runnableExamples/jscore_examples_2.nim", line: 0};
framePtr = F;
F.line = 145;
F.filename = "jscore.nim";
var arrai_754974727 = [[1, 2, 3]];
if (!((arrai_754974727[0].shift() == 1))) {
F.line = 145;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jscore_examples_2.nim(10, 3) `arrai.shift() == 1` "));
}

if (!(HEX3DHEX3D__jscore95examples951_u72(arrai_754974727[0], [2, 3]))) {
F.line = 145;
failedAssertImpl__stdZassertions_u86(makeNimstrLit("/build/nim/src/nim/doc/html/nimcache/runnableExamples/jscore_examples_2.nim(11, 3) `arrai == @[2, 3]` "));
}

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