{"id":"node_modules/elliptic/lib/elliptic/curve/base.js","dependencies":[{"name":"/www/ml-classifier/example/package.json","includedInParent":true,"mtime":1551949031632},{"name":"/www/ml-classifier/example/.babelrc","includedInParent":true,"mtime":1551703756168},{"name":"/www/ml-classifier/example/node_modules/elliptic/package.json","includedInParent":true,"mtime":1542583799903},{"name":"bn.js","loc":{"line":3,"column":17},"parent":"/www/ml-classifier/example/node_modules/elliptic/lib/elliptic/curve/base.js","resolved":"/www/ml-classifier/example/node_modules/bn.js/lib/bn.js"},{"name":"../../elliptic","loc":{"line":4,"column":23},"parent":"/www/ml-classifier/example/node_modules/elliptic/lib/elliptic/curve/base.js","resolved":"/www/ml-classifier/example/node_modules/elliptic/lib/elliptic.js"}],"generated":{"js":"'use strict';\n\nvar BN = require('bn.js');\nvar elliptic = require('../../elliptic');\nvar utils = elliptic.utils;\nvar getNAF = utils.getNAF;\nvar getJSF = utils.getJSF;\nvar assert = utils.assert;\n\nfunction BaseCurve(type, conf) {\n  this.type = type;\n  this.p = new BN(conf.p, 16);\n\n  // Use Montgomery, when there is no fast reduction for the prime\n  this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);\n\n  // Useful for many curves\n  this.zero = new BN(0).toRed(this.red);\n  this.one = new BN(1).toRed(this.red);\n  this.two = new BN(2).toRed(this.red);\n\n  // Curve configuration, optional\n  this.n = conf.n && new BN(conf.n, 16);\n  this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);\n\n  // Temporary arrays\n  this._wnafT1 = new Array(4);\n  this._wnafT2 = new Array(4);\n  this._wnafT3 = new Array(4);\n  this._wnafT4 = new Array(4);\n\n  // Generalized Greg Maxwell's trick\n  var adjustCount = this.n && this.p.div(this.n);\n  if (!adjustCount || adjustCount.cmpn(100) > 0) {\n    this.redN = null;\n  } else {\n    this._maxwellTrick = true;\n    this.redN = this.n.toRed(this.red);\n  }\n}\nmodule.exports = BaseCurve;\n\nBaseCurve.prototype.point = function point() {\n  throw new Error('Not implemented');\n};\n\nBaseCurve.prototype.validate = function validate() {\n  throw new Error('Not implemented');\n};\n\nBaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {\n  assert(p.precomputed);\n  var doubles = p._getDoubles();\n\n  var naf = getNAF(k, 1);\n  var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);\n  I /= 3;\n\n  // Translate into more windowed form\n  var repr = [];\n  for (var j = 0; j < naf.length; j += doubles.step) {\n    var nafW = 0;\n    for (var k = j + doubles.step - 1; k >= j; k--)\n      nafW = (nafW << 1) + naf[k];\n    repr.push(nafW);\n  }\n\n  var a = this.jpoint(null, null, null);\n  var b = this.jpoint(null, null, null);\n  for (var i = I; i > 0; i--) {\n    for (var j = 0; j < repr.length; j++) {\n      var nafW = repr[j];\n      if (nafW === i)\n        b = b.mixedAdd(doubles.points[j]);\n      else if (nafW === -i)\n        b = b.mixedAdd(doubles.points[j].neg());\n    }\n    a = a.add(b);\n  }\n  return a.toP();\n};\n\nBaseCurve.prototype._wnafMul = function _wnafMul(p, k) {\n  var w = 4;\n\n  // Precompute window\n  var nafPoints = p._getNAFPoints(w);\n  w = nafPoints.wnd;\n  var wnd = nafPoints.points;\n\n  // Get NAF form\n  var naf = getNAF(k, w);\n\n  // Add `this`*(N+1) for every w-NAF index\n  var acc = this.jpoint(null, null, null);\n  for (var i = naf.length - 1; i >= 0; i--) {\n    // Count zeroes\n    for (var k = 0; i >= 0 && naf[i] === 0; i--)\n      k++;\n    if (i >= 0)\n      k++;\n    acc = acc.dblp(k);\n\n    if (i < 0)\n      break;\n    var z = naf[i];\n    assert(z !== 0);\n    if (p.type === 'affine') {\n      // J +- P\n      if (z > 0)\n        acc = acc.mixedAdd(wnd[(z - 1) >> 1]);\n      else\n        acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());\n    } else {\n      // J +- J\n      if (z > 0)\n        acc = acc.add(wnd[(z - 1) >> 1]);\n      else\n        acc = acc.add(wnd[(-z - 1) >> 1].neg());\n    }\n  }\n  return p.type === 'affine' ? acc.toP() : acc;\n};\n\nBaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,\n                                                       points,\n                                                       coeffs,\n                                                       len,\n                                                       jacobianResult) {\n  var wndWidth = this._wnafT1;\n  var wnd = this._wnafT2;\n  var naf = this._wnafT3;\n\n  // Fill all arrays\n  var max = 0;\n  for (var i = 0; i < len; i++) {\n    var p = points[i];\n    var nafPoints = p._getNAFPoints(defW);\n    wndWidth[i] = nafPoints.wnd;\n    wnd[i] = nafPoints.points;\n  }\n\n  // Comb small window NAFs\n  for (var i = len - 1; i >= 1; i -= 2) {\n    var a = i - 1;\n    var b = i;\n    if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n      naf[a] = getNAF(coeffs[a], wndWidth[a]);\n      naf[b] = getNAF(coeffs[b], wndWidth[b]);\n      max = Math.max(naf[a].length, max);\n      max = Math.max(naf[b].length, max);\n      continue;\n    }\n\n    var comb = [\n      points[a], /* 1 */\n      null, /* 3 */\n      null, /* 5 */\n      points[b] /* 7 */\n    ];\n\n    // Try to avoid Projective points, if possible\n    if (points[a].y.cmp(points[b].y) === 0) {\n      comb[1] = points[a].add(points[b]);\n      comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n    } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {\n      comb[1] = points[a].toJ().mixedAdd(points[b]);\n      comb[2] = points[a].add(points[b].neg());\n    } else {\n      comb[1] = points[a].toJ().mixedAdd(points[b]);\n      comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n    }\n\n    var index = [\n      -3, /* -1 -1 */\n      -1, /* -1 0 */\n      -5, /* -1 1 */\n      -7, /* 0 -1 */\n      0, /* 0 0 */\n      7, /* 0 1 */\n      5, /* 1 -1 */\n      1, /* 1 0 */\n      3  /* 1 1 */\n    ];\n\n    var jsf = getJSF(coeffs[a], coeffs[b]);\n    max = Math.max(jsf[0].length, max);\n    naf[a] = new Array(max);\n    naf[b] = new Array(max);\n    for (var j = 0; j < max; j++) {\n      var ja = jsf[0][j] | 0;\n      var jb = jsf[1][j] | 0;\n\n      naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];\n      naf[b][j] = 0;\n      wnd[a] = comb;\n    }\n  }\n\n  var acc = this.jpoint(null, null, null);\n  var tmp = this._wnafT4;\n  for (var i = max; i >= 0; i--) {\n    var k = 0;\n\n    while (i >= 0) {\n      var zero = true;\n      for (var j = 0; j < len; j++) {\n        tmp[j] = naf[j][i] | 0;\n        if (tmp[j] !== 0)\n          zero = false;\n      }\n      if (!zero)\n        break;\n      k++;\n      i--;\n    }\n    if (i >= 0)\n      k++;\n    acc = acc.dblp(k);\n    if (i < 0)\n      break;\n\n    for (var j = 0; j < len; j++) {\n      var z = tmp[j];\n      var p;\n      if (z === 0)\n        continue;\n      else if (z > 0)\n        p = wnd[j][(z - 1) >> 1];\n      else if (z < 0)\n        p = wnd[j][(-z - 1) >> 1].neg();\n\n      if (p.type === 'affine')\n        acc = acc.mixedAdd(p);\n      else\n        acc = acc.add(p);\n    }\n  }\n  // Zeroify references\n  for (var i = 0; i < len; i++)\n    wnd[i] = null;\n\n  if (jacobianResult)\n    return acc;\n  else\n    return acc.toP();\n};\n\nfunction BasePoint(curve, type) {\n  this.curve = curve;\n  this.type = type;\n  this.precomputed = null;\n}\nBaseCurve.BasePoint = BasePoint;\n\nBasePoint.prototype.eq = function eq(/*other*/) {\n  throw new Error('Not implemented');\n};\n\nBasePoint.prototype.validate = function validate() {\n  return this.curve.validate(this);\n};\n\nBaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n  bytes = utils.toArray(bytes, enc);\n\n  var len = this.p.byteLength();\n\n  // uncompressed, hybrid-odd, hybrid-even\n  if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&\n      bytes.length - 1 === 2 * len) {\n    if (bytes[0] === 0x06)\n      assert(bytes[bytes.length - 1] % 2 === 0);\n    else if (bytes[0] === 0x07)\n      assert(bytes[bytes.length - 1] % 2 === 1);\n\n    var res =  this.point(bytes.slice(1, 1 + len),\n                          bytes.slice(1 + len, 1 + 2 * len));\n\n    return res;\n  } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) &&\n              bytes.length - 1 === len) {\n    return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);\n  }\n  throw new Error('Unknown point format');\n};\n\nBasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {\n  return this.encode(enc, true);\n};\n\nBasePoint.prototype._encode = function _encode(compact) {\n  var len = this.curve.p.byteLength();\n  var x = this.getX().toArray('be', len);\n\n  if (compact)\n    return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x);\n\n  return [ 0x04 ].concat(x, this.getY().toArray('be', len)) ;\n};\n\nBasePoint.prototype.encode = function encode(enc, compact) {\n  return utils.encode(this._encode(compact), enc);\n};\n\nBasePoint.prototype.precompute = function precompute(power) {\n  if (this.precomputed)\n    return this;\n\n  var precomputed = {\n    doubles: null,\n    naf: null,\n    beta: null\n  };\n  precomputed.naf = this._getNAFPoints(8);\n  precomputed.doubles = this._getDoubles(4, power);\n  precomputed.beta = this._getBeta();\n  this.precomputed = precomputed;\n\n  return this;\n};\n\nBasePoint.prototype._hasDoubles = function _hasDoubles(k) {\n  if (!this.precomputed)\n    return false;\n\n  var doubles = this.precomputed.doubles;\n  if (!doubles)\n    return false;\n\n  return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);\n};\n\nBasePoint.prototype._getDoubles = function _getDoubles(step, power) {\n  if (this.precomputed && this.precomputed.doubles)\n    return this.precomputed.doubles;\n\n  var doubles = [ this ];\n  var acc = this;\n  for (var i = 0; i < power; i += step) {\n    for (var j = 0; j < step; j++)\n      acc = acc.dbl();\n    doubles.push(acc);\n  }\n  return {\n    step: step,\n    points: doubles\n  };\n};\n\nBasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {\n  if (this.precomputed && this.precomputed.naf)\n    return this.precomputed.naf;\n\n  var res = [ this ];\n  var max = (1 << wnd) - 1;\n  var dbl = max === 1 ? null : this.dbl();\n  for (var i = 1; i < max; i++)\n    res[i] = res[i - 1].add(dbl);\n  return {\n    wnd: wnd,\n    points: res\n  };\n};\n\nBasePoint.prototype._getBeta = function _getBeta() {\n  return null;\n};\n\nBasePoint.prototype.dblp = function dblp(k) {\n  var r = this;\n  for (var i = 0; i < k; i++)\n    r = r.dbl();\n  return r;\n};\n","map":{"mappings":[{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":1,"column":0},"generated":{"line":1,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":2,"column":0},"generated":{"line":2,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":3,"column":0},"generated":{"line":3,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":4,"column":0},"generated":{"line":4,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":5,"column":0},"generated":{"line":5,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":6,"column":0},"generated":{"line":6,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":7,"column":0},"generated":{"line":7,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":8,"column":0},"generated":{"line":8,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":9,"column":0},"generated":{"line":9,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":10,"column":0},"generated":{"line":10,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":11,"column":0},"generated":{"line":11,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":12,"column":0},"generated":{"line":12,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":13,"column":0},"generated":{"line":13,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":14,"column":0},"generated":{"line":14,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":15,"column":0},"generated":{"line":15,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":16,"column":0},"generated":{"line":16,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":17,"column":0},"generated":{"line":17,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":18,"column":0},"generated":{"line":18,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":19,"column":0},"generated":{"line":19,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":20,"column":0},"generated":{"line":20,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":21,"column":0},"generated":{"line":21,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":22,"column":0},"generated":{"line":22,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":23,"column":0},"generated":{"line":23,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":24,"column":0},"generated":{"line":24,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":25,"column":0},"generated":{"line":25,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":26,"column":0},"generated":{"line":26,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":27,"column":0},"generated":{"line":27,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":28,"column":0},"generated":{"line":28,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":29,"column":0},"generated":{"line":29,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":30,"column":0},"generated":{"line":30,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":31,"column":0},"generated":{"line":31,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":32,"column":0},"generated":{"line":32,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":33,"column":0},"generated":{"line":33,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":34,"column":0},"generated":{"line":34,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":35,"column":0},"generated":{"line":35,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":36,"column":0},"generated":{"line":36,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":37,"column":0},"generated":{"line":37,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":38,"column":0},"generated":{"line":38,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":39,"column":0},"generated":{"line":39,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":40,"column":0},"generated":{"line":40,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":41,"column":0},"generated":{"line":41,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":42,"column":0},"generated":{"line":42,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":43,"column":0},"generated":{"line":43,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":44,"column":0},"generated":{"line":44,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":45,"column":0},"generated":{"line":45,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":46,"column":0},"generated":{"line":46,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":47,"column":0},"generated":{"line":47,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":48,"column":0},"generated":{"line":48,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":49,"column":0},"generated":{"line":49,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":50,"column":0},"generated":{"line":50,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":51,"column":0},"generated":{"line":51,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":52,"column":0},"generated":{"line":52,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":53,"column":0},"generated":{"line":53,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":54,"column":0},"generated":{"line":54,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":55,"column":0},"generated":{"line":55,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":56,"column":0},"generated":{"line":56,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":57,"column":0},"generated":{"line":57,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":58,"column":0},"generated":{"line":58,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":59,"column":0},"generated":{"line":59,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":60,"column":0},"generated":{"line":60,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":61,"column":0},"generated":{"line":61,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":62,"column":0},"generated":{"line":62,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":63,"column":0},"generated":{"line":63,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":64,"column":0},"generated":{"line":64,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":65,"column":0},"generated":{"line":65,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":66,"column":0},"generated":{"line":66,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":67,"column":0},"generated":{"line":67,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":68,"column":0},"generated":{"line":68,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":69,"column":0},"generated":{"line":69,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":70,"column":0},"generated":{"line":70,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":71,"column":0},"generated":{"line":71,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":72,"column":0},"generated":{"line":72,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":73,"column":0},"generated":{"line":73,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":74,"column":0},"generated":{"line":74,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":75,"column":0},"generated":{"line":75,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":76,"column":0},"generated":{"line":76,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":77,"column":0},"generated":{"line":77,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":78,"column":0},"generated":{"line":78,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":79,"column":0},"generated":{"line":79,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":80,"column":0},"generated":{"line":80,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":81,"column":0},"generated":{"line":81,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":82,"column":0},"generated":{"line":82,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":83,"column":0},"generated":{"line":83,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":84,"column":0},"generated":{"line":84,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":85,"column":0},"generated":{"line":85,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":86,"column":0},"generated":{"line":86,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":87,"column":0},"generated":{"line":87,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":88,"column":0},"generated":{"line":88,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":89,"column":0},"generated":{"line":89,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":90,"column":0},"generated":{"line":90,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":91,"column":0},"generated":{"line":91,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":92,"column":0},"generated":{"line":92,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":93,"column":0},"generated":{"line":93,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":94,"column":0},"generated":{"line":94,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":95,"column":0},"generated":{"line":95,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":96,"column":0},"generated":{"line":96,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":97,"column":0},"generated":{"line":97,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":98,"column":0},"generated":{"line":98,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":99,"column":0},"generated":{"line":99,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":100,"column":0},"generated":{"line":100,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":101,"column":0},"generated":{"line":101,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":102,"column":0},"generated":{"line":102,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":103,"column":0},"generated":{"line":103,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":104,"column":0},"generated":{"line":104,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":105,"column":0},"generated":{"line":105,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":106,"column":0},"generated":{"line":106,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":107,"column":0},"generated":{"line":107,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":108,"column":0},"generated":{"line":108,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":109,"column":0},"generated":{"line":109,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":110,"column":0},"generated":{"line":110,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":111,"column":0},"generated":{"line":111,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":112,"column":0},"generated":{"line":112,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":113,"column":0},"generated":{"line":113,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":114,"column":0},"generated":{"line":114,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":115,"column":0},"generated":{"line":115,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":116,"column":0},"generated":{"line":116,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":117,"column":0},"generated":{"line":117,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":118,"column":0},"generated":{"line":118,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":119,"column":0},"generated":{"line":119,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":120,"column":0},"generated":{"line":120,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":121,"column":0},"generated":{"line":121,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":122,"column":0},"generated":{"line":122,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":123,"column":0},"generated":{"line":123,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":124,"column":0},"generated":{"line":124,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":125,"column":0},"generated":{"line":125,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":126,"column":0},"generated":{"line":126,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":127,"column":0},"generated":{"line":127,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":128,"column":0},"generated":{"line":128,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":129,"column":0},"generated":{"line":129,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":130,"column":0},"generated":{"line":130,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":131,"column":0},"generated":{"line":131,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":132,"column":0},"generated":{"line":132,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":133,"column":0},"generated":{"line":133,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":134,"column":0},"generated":{"line":134,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":135,"column":0},"generated":{"line":135,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":136,"column":0},"generated":{"line":136,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":137,"column":0},"generated":{"line":137,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":138,"column":0},"generated":{"line":138,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":139,"column":0},"generated":{"line":139,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":140,"column":0},"generated":{"line":140,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":141,"column":0},"generated":{"line":141,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":142,"column":0},"generated":{"line":142,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":143,"column":0},"generated":{"line":143,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":144,"column":0},"generated":{"line":144,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":145,"column":0},"generated":{"line":145,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":146,"column":0},"generated":{"line":146,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":147,"column":0},"generated":{"line":147,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":148,"column":0},"generated":{"line":148,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":149,"column":0},"generated":{"line":149,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":150,"column":0},"generated":{"line":150,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":151,"column":0},"generated":{"line":151,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":152,"column":0},"generated":{"line":152,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":153,"column":0},"generated":{"line":153,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":154,"column":0},"generated":{"line":154,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":155,"column":0},"generated":{"line":155,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":156,"column":0},"generated":{"line":156,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":157,"column":0},"generated":{"line":157,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":158,"column":0},"generated":{"line":158,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":159,"column":0},"generated":{"line":159,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":160,"column":0},"generated":{"line":160,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":161,"column":0},"generated":{"line":161,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":162,"column":0},"generated":{"line":162,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":163,"column":0},"generated":{"line":163,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":164,"column":0},"generated":{"line":164,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":165,"column":0},"generated":{"line":165,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":166,"column":0},"generated":{"line":166,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":167,"column":0},"generated":{"line":167,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":168,"column":0},"generated":{"line":168,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":169,"column":0},"generated":{"line":169,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":170,"column":0},"generated":{"line":170,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":171,"column":0},"generated":{"line":171,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":172,"column":0},"generated":{"line":172,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":173,"column":0},"generated":{"line":173,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":174,"column":0},"generated":{"line":174,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":175,"column":0},"generated":{"line":175,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":176,"column":0},"generated":{"line":176,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":177,"column":0},"generated":{"line":177,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":178,"column":0},"generated":{"line":178,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":179,"column":0},"generated":{"line":179,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":180,"column":0},"generated":{"line":180,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":181,"column":0},"generated":{"line":181,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":182,"column":0},"generated":{"line":182,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":183,"column":0},"generated":{"line":183,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":184,"column":0},"generated":{"line":184,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":185,"column":0},"generated":{"line":185,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":186,"column":0},"generated":{"line":186,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":187,"column":0},"generated":{"line":187,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":188,"column":0},"generated":{"line":188,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":189,"column":0},"generated":{"line":189,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":190,"column":0},"generated":{"line":190,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":191,"column":0},"generated":{"line":191,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":192,"column":0},"generated":{"line":192,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":193,"column":0},"generated":{"line":193,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":194,"column":0},"generated":{"line":194,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":195,"column":0},"generated":{"line":195,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":196,"column":0},"generated":{"line":196,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":197,"column":0},"generated":{"line":197,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":198,"column":0},"generated":{"line":198,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":199,"column":0},"generated":{"line":199,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":200,"column":0},"generated":{"line":200,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":201,"column":0},"generated":{"line":201,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":202,"column":0},"generated":{"line":202,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":203,"column":0},"generated":{"line":203,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":204,"column":0},"generated":{"line":204,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":205,"column":0},"generated":{"line":205,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":206,"column":0},"generated":{"line":206,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":207,"column":0},"generated":{"line":207,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":208,"column":0},"generated":{"line":208,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":209,"column":0},"generated":{"line":209,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":210,"column":0},"generated":{"line":210,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":211,"column":0},"generated":{"line":211,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":212,"column":0},"generated":{"line":212,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":213,"column":0},"generated":{"line":213,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":214,"column":0},"generated":{"line":214,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":215,"column":0},"generated":{"line":215,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":216,"column":0},"generated":{"line":216,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":217,"column":0},"generated":{"line":217,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":218,"column":0},"generated":{"line":218,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":219,"column":0},"generated":{"line":219,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":220,"column":0},"generated":{"line":220,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":221,"column":0},"generated":{"line":221,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":222,"column":0},"generated":{"line":222,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":223,"column":0},"generated":{"line":223,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":224,"column":0},"generated":{"line":224,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":225,"column":0},"generated":{"line":225,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":226,"column":0},"generated":{"line":226,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":227,"column":0},"generated":{"line":227,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":228,"column":0},"generated":{"line":228,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":229,"column":0},"generated":{"line":229,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":230,"column":0},"generated":{"line":230,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":231,"column":0},"generated":{"line":231,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":232,"column":0},"generated":{"line":232,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":233,"column":0},"generated":{"line":233,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":234,"column":0},"generated":{"line":234,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":235,"column":0},"generated":{"line":235,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":236,"column":0},"generated":{"line":236,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":237,"column":0},"generated":{"line":237,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":238,"column":0},"generated":{"line":238,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":239,"column":0},"generated":{"line":239,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":240,"column":0},"generated":{"line":240,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":241,"column":0},"generated":{"line":241,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":242,"column":0},"generated":{"line":242,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":243,"column":0},"generated":{"line":243,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":244,"column":0},"generated":{"line":244,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":245,"column":0},"generated":{"line":245,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":246,"column":0},"generated":{"line":246,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":247,"column":0},"generated":{"line":247,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":248,"column":0},"generated":{"line":248,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":249,"column":0},"generated":{"line":249,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":250,"column":0},"generated":{"line":250,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":251,"column":0},"generated":{"line":251,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":252,"column":0},"generated":{"line":252,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":253,"column":0},"generated":{"line":253,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":254,"column":0},"generated":{"line":254,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":255,"column":0},"generated":{"line":255,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":256,"column":0},"generated":{"line":256,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":257,"column":0},"generated":{"line":257,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":258,"column":0},"generated":{"line":258,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":259,"column":0},"generated":{"line":259,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":260,"column":0},"generated":{"line":260,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":261,"column":0},"generated":{"line":261,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":262,"column":0},"generated":{"line":262,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":263,"column":0},"generated":{"line":263,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":264,"column":0},"generated":{"line":264,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":265,"column":0},"generated":{"line":265,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":266,"column":0},"generated":{"line":266,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":267,"column":0},"generated":{"line":267,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":268,"column":0},"generated":{"line":268,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":269,"column":0},"generated":{"line":269,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":270,"column":0},"generated":{"line":270,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":271,"column":0},"generated":{"line":271,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":272,"column":0},"generated":{"line":272,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":273,"column":0},"generated":{"line":273,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":274,"column":0},"generated":{"line":274,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":275,"column":0},"generated":{"line":275,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":276,"column":0},"generated":{"line":276,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":277,"column":0},"generated":{"line":277,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":278,"column":0},"generated":{"line":278,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":279,"column":0},"generated":{"line":279,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":280,"column":0},"generated":{"line":280,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":281,"column":0},"generated":{"line":281,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":282,"column":0},"generated":{"line":282,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":283,"column":0},"generated":{"line":283,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":284,"column":0},"generated":{"line":284,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":285,"column":0},"generated":{"line":285,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":286,"column":0},"generated":{"line":286,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":287,"column":0},"generated":{"line":287,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":288,"column":0},"generated":{"line":288,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":289,"column":0},"generated":{"line":289,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":290,"column":0},"generated":{"line":290,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":291,"column":0},"generated":{"line":291,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":292,"column":0},"generated":{"line":292,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":293,"column":0},"generated":{"line":293,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":294,"column":0},"generated":{"line":294,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":295,"column":0},"generated":{"line":295,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":296,"column":0},"generated":{"line":296,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":297,"column":0},"generated":{"line":297,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":298,"column":0},"generated":{"line":298,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":299,"column":0},"generated":{"line":299,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":300,"column":0},"generated":{"line":300,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":301,"column":0},"generated":{"line":301,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":302,"column":0},"generated":{"line":302,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":303,"column":0},"generated":{"line":303,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":304,"column":0},"generated":{"line":304,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":305,"column":0},"generated":{"line":305,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":306,"column":0},"generated":{"line":306,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":307,"column":0},"generated":{"line":307,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":308,"column":0},"generated":{"line":308,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":309,"column":0},"generated":{"line":309,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":310,"column":0},"generated":{"line":310,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":311,"column":0},"generated":{"line":311,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":312,"column":0},"generated":{"line":312,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":313,"column":0},"generated":{"line":313,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":314,"column":0},"generated":{"line":314,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":315,"column":0},"generated":{"line":315,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":316,"column":0},"generated":{"line":316,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":317,"column":0},"generated":{"line":317,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":318,"column":0},"generated":{"line":318,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":319,"column":0},"generated":{"line":319,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":320,"column":0},"generated":{"line":320,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":321,"column":0},"generated":{"line":321,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":322,"column":0},"generated":{"line":322,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":323,"column":0},"generated":{"line":323,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":324,"column":0},"generated":{"line":324,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":325,"column":0},"generated":{"line":325,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":326,"column":0},"generated":{"line":326,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":327,"column":0},"generated":{"line":327,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":328,"column":0},"generated":{"line":328,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":329,"column":0},"generated":{"line":329,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":330,"column":0},"generated":{"line":330,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":331,"column":0},"generated":{"line":331,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":332,"column":0},"generated":{"line":332,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":333,"column":0},"generated":{"line":333,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":334,"column":0},"generated":{"line":334,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":335,"column":0},"generated":{"line":335,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":336,"column":0},"generated":{"line":336,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":337,"column":0},"generated":{"line":337,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":338,"column":0},"generated":{"line":338,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":339,"column":0},"generated":{"line":339,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":340,"column":0},"generated":{"line":340,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":341,"column":0},"generated":{"line":341,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":342,"column":0},"generated":{"line":342,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":343,"column":0},"generated":{"line":343,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":344,"column":0},"generated":{"line":344,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":345,"column":0},"generated":{"line":345,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":346,"column":0},"generated":{"line":346,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":347,"column":0},"generated":{"line":347,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":348,"column":0},"generated":{"line":348,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":349,"column":0},"generated":{"line":349,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":350,"column":0},"generated":{"line":350,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":351,"column":0},"generated":{"line":351,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":352,"column":0},"generated":{"line":352,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":353,"column":0},"generated":{"line":353,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":354,"column":0},"generated":{"line":354,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":355,"column":0},"generated":{"line":355,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":356,"column":0},"generated":{"line":356,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":357,"column":0},"generated":{"line":357,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":358,"column":0},"generated":{"line":358,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":359,"column":0},"generated":{"line":359,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":360,"column":0},"generated":{"line":360,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":361,"column":0},"generated":{"line":361,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":362,"column":0},"generated":{"line":362,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":363,"column":0},"generated":{"line":363,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":364,"column":0},"generated":{"line":364,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":365,"column":0},"generated":{"line":365,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":366,"column":0},"generated":{"line":366,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":367,"column":0},"generated":{"line":367,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":368,"column":0},"generated":{"line":368,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":369,"column":0},"generated":{"line":369,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":370,"column":0},"generated":{"line":370,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":371,"column":0},"generated":{"line":371,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":372,"column":0},"generated":{"line":372,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":373,"column":0},"generated":{"line":373,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":374,"column":0},"generated":{"line":374,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":375,"column":0},"generated":{"line":375,"column":0}},{"source":"node_modules/elliptic/lib/elliptic/curve/base.js","original":{"line":376,"column":0},"generated":{"line":376,"column":0}}],"sources":{"node_modules/elliptic/lib/elliptic/curve/base.js":"'use strict';\n\nvar BN = require('bn.js');\nvar elliptic = require('../../elliptic');\nvar utils = elliptic.utils;\nvar getNAF = utils.getNAF;\nvar getJSF = utils.getJSF;\nvar assert = utils.assert;\n\nfunction BaseCurve(type, conf) {\n  this.type = type;\n  this.p = new BN(conf.p, 16);\n\n  // Use Montgomery, when there is no fast reduction for the prime\n  this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);\n\n  // Useful for many curves\n  this.zero = new BN(0).toRed(this.red);\n  this.one = new BN(1).toRed(this.red);\n  this.two = new BN(2).toRed(this.red);\n\n  // Curve configuration, optional\n  this.n = conf.n && new BN(conf.n, 16);\n  this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);\n\n  // Temporary arrays\n  this._wnafT1 = new Array(4);\n  this._wnafT2 = new Array(4);\n  this._wnafT3 = new Array(4);\n  this._wnafT4 = new Array(4);\n\n  // Generalized Greg Maxwell's trick\n  var adjustCount = this.n && this.p.div(this.n);\n  if (!adjustCount || adjustCount.cmpn(100) > 0) {\n    this.redN = null;\n  } else {\n    this._maxwellTrick = true;\n    this.redN = this.n.toRed(this.red);\n  }\n}\nmodule.exports = BaseCurve;\n\nBaseCurve.prototype.point = function point() {\n  throw new Error('Not implemented');\n};\n\nBaseCurve.prototype.validate = function validate() {\n  throw new Error('Not implemented');\n};\n\nBaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {\n  assert(p.precomputed);\n  var doubles = p._getDoubles();\n\n  var naf = getNAF(k, 1);\n  var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);\n  I /= 3;\n\n  // Translate into more windowed form\n  var repr = [];\n  for (var j = 0; j < naf.length; j += doubles.step) {\n    var nafW = 0;\n    for (var k = j + doubles.step - 1; k >= j; k--)\n      nafW = (nafW << 1) + naf[k];\n    repr.push(nafW);\n  }\n\n  var a = this.jpoint(null, null, null);\n  var b = this.jpoint(null, null, null);\n  for (var i = I; i > 0; i--) {\n    for (var j = 0; j < repr.length; j++) {\n      var nafW = repr[j];\n      if (nafW === i)\n        b = b.mixedAdd(doubles.points[j]);\n      else if (nafW === -i)\n        b = b.mixedAdd(doubles.points[j].neg());\n    }\n    a = a.add(b);\n  }\n  return a.toP();\n};\n\nBaseCurve.prototype._wnafMul = function _wnafMul(p, k) {\n  var w = 4;\n\n  // Precompute window\n  var nafPoints = p._getNAFPoints(w);\n  w = nafPoints.wnd;\n  var wnd = nafPoints.points;\n\n  // Get NAF form\n  var naf = getNAF(k, w);\n\n  // Add `this`*(N+1) for every w-NAF index\n  var acc = this.jpoint(null, null, null);\n  for (var i = naf.length - 1; i >= 0; i--) {\n    // Count zeroes\n    for (var k = 0; i >= 0 && naf[i] === 0; i--)\n      k++;\n    if (i >= 0)\n      k++;\n    acc = acc.dblp(k);\n\n    if (i < 0)\n      break;\n    var z = naf[i];\n    assert(z !== 0);\n    if (p.type === 'affine') {\n      // J +- P\n      if (z > 0)\n        acc = acc.mixedAdd(wnd[(z - 1) >> 1]);\n      else\n        acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());\n    } else {\n      // J +- J\n      if (z > 0)\n        acc = acc.add(wnd[(z - 1) >> 1]);\n      else\n        acc = acc.add(wnd[(-z - 1) >> 1].neg());\n    }\n  }\n  return p.type === 'affine' ? acc.toP() : acc;\n};\n\nBaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,\n                                                       points,\n                                                       coeffs,\n                                                       len,\n                                                       jacobianResult) {\n  var wndWidth = this._wnafT1;\n  var wnd = this._wnafT2;\n  var naf = this._wnafT3;\n\n  // Fill all arrays\n  var max = 0;\n  for (var i = 0; i < len; i++) {\n    var p = points[i];\n    var nafPoints = p._getNAFPoints(defW);\n    wndWidth[i] = nafPoints.wnd;\n    wnd[i] = nafPoints.points;\n  }\n\n  // Comb small window NAFs\n  for (var i = len - 1; i >= 1; i -= 2) {\n    var a = i - 1;\n    var b = i;\n    if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n      naf[a] = getNAF(coeffs[a], wndWidth[a]);\n      naf[b] = getNAF(coeffs[b], wndWidth[b]);\n      max = Math.max(naf[a].length, max);\n      max = Math.max(naf[b].length, max);\n      continue;\n    }\n\n    var comb = [\n      points[a], /* 1 */\n      null, /* 3 */\n      null, /* 5 */\n      points[b] /* 7 */\n    ];\n\n    // Try to avoid Projective points, if possible\n    if (points[a].y.cmp(points[b].y) === 0) {\n      comb[1] = points[a].add(points[b]);\n      comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n    } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {\n      comb[1] = points[a].toJ().mixedAdd(points[b]);\n      comb[2] = points[a].add(points[b].neg());\n    } else {\n      comb[1] = points[a].toJ().mixedAdd(points[b]);\n      comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n    }\n\n    var index = [\n      -3, /* -1 -1 */\n      -1, /* -1 0 */\n      -5, /* -1 1 */\n      -7, /* 0 -1 */\n      0, /* 0 0 */\n      7, /* 0 1 */\n      5, /* 1 -1 */\n      1, /* 1 0 */\n      3  /* 1 1 */\n    ];\n\n    var jsf = getJSF(coeffs[a], coeffs[b]);\n    max = Math.max(jsf[0].length, max);\n    naf[a] = new Array(max);\n    naf[b] = new Array(max);\n    for (var j = 0; j < max; j++) {\n      var ja = jsf[0][j] | 0;\n      var jb = jsf[1][j] | 0;\n\n      naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];\n      naf[b][j] = 0;\n      wnd[a] = comb;\n    }\n  }\n\n  var acc = this.jpoint(null, null, null);\n  var tmp = this._wnafT4;\n  for (var i = max; i >= 0; i--) {\n    var k = 0;\n\n    while (i >= 0) {\n      var zero = true;\n      for (var j = 0; j < len; j++) {\n        tmp[j] = naf[j][i] | 0;\n        if (tmp[j] !== 0)\n          zero = false;\n      }\n      if (!zero)\n        break;\n      k++;\n      i--;\n    }\n    if (i >= 0)\n      k++;\n    acc = acc.dblp(k);\n    if (i < 0)\n      break;\n\n    for (var j = 0; j < len; j++) {\n      var z = tmp[j];\n      var p;\n      if (z === 0)\n        continue;\n      else if (z > 0)\n        p = wnd[j][(z - 1) >> 1];\n      else if (z < 0)\n        p = wnd[j][(-z - 1) >> 1].neg();\n\n      if (p.type === 'affine')\n        acc = acc.mixedAdd(p);\n      else\n        acc = acc.add(p);\n    }\n  }\n  // Zeroify references\n  for (var i = 0; i < len; i++)\n    wnd[i] = null;\n\n  if (jacobianResult)\n    return acc;\n  else\n    return acc.toP();\n};\n\nfunction BasePoint(curve, type) {\n  this.curve = curve;\n  this.type = type;\n  this.precomputed = null;\n}\nBaseCurve.BasePoint = BasePoint;\n\nBasePoint.prototype.eq = function eq(/*other*/) {\n  throw new Error('Not implemented');\n};\n\nBasePoint.prototype.validate = function validate() {\n  return this.curve.validate(this);\n};\n\nBaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n  bytes = utils.toArray(bytes, enc);\n\n  var len = this.p.byteLength();\n\n  // uncompressed, hybrid-odd, hybrid-even\n  if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&\n      bytes.length - 1 === 2 * len) {\n    if (bytes[0] === 0x06)\n      assert(bytes[bytes.length - 1] % 2 === 0);\n    else if (bytes[0] === 0x07)\n      assert(bytes[bytes.length - 1] % 2 === 1);\n\n    var res =  this.point(bytes.slice(1, 1 + len),\n                          bytes.slice(1 + len, 1 + 2 * len));\n\n    return res;\n  } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) &&\n              bytes.length - 1 === len) {\n    return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);\n  }\n  throw new Error('Unknown point format');\n};\n\nBasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {\n  return this.encode(enc, true);\n};\n\nBasePoint.prototype._encode = function _encode(compact) {\n  var len = this.curve.p.byteLength();\n  var x = this.getX().toArray('be', len);\n\n  if (compact)\n    return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x);\n\n  return [ 0x04 ].concat(x, this.getY().toArray('be', len)) ;\n};\n\nBasePoint.prototype.encode = function encode(enc, compact) {\n  return utils.encode(this._encode(compact), enc);\n};\n\nBasePoint.prototype.precompute = function precompute(power) {\n  if (this.precomputed)\n    return this;\n\n  var precomputed = {\n    doubles: null,\n    naf: null,\n    beta: null\n  };\n  precomputed.naf = this._getNAFPoints(8);\n  precomputed.doubles = this._getDoubles(4, power);\n  precomputed.beta = this._getBeta();\n  this.precomputed = precomputed;\n\n  return this;\n};\n\nBasePoint.prototype._hasDoubles = function _hasDoubles(k) {\n  if (!this.precomputed)\n    return false;\n\n  var doubles = this.precomputed.doubles;\n  if (!doubles)\n    return false;\n\n  return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);\n};\n\nBasePoint.prototype._getDoubles = function _getDoubles(step, power) {\n  if (this.precomputed && this.precomputed.doubles)\n    return this.precomputed.doubles;\n\n  var doubles = [ this ];\n  var acc = this;\n  for (var i = 0; i < power; i += step) {\n    for (var j = 0; j < step; j++)\n      acc = acc.dbl();\n    doubles.push(acc);\n  }\n  return {\n    step: step,\n    points: doubles\n  };\n};\n\nBasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {\n  if (this.precomputed && this.precomputed.naf)\n    return this.precomputed.naf;\n\n  var res = [ this ];\n  var max = (1 << wnd) - 1;\n  var dbl = max === 1 ? null : this.dbl();\n  for (var i = 1; i < max; i++)\n    res[i] = res[i - 1].add(dbl);\n  return {\n    wnd: wnd,\n    points: res\n  };\n};\n\nBasePoint.prototype._getBeta = function _getBeta() {\n  return null;\n};\n\nBasePoint.prototype.dblp = function dblp(k) {\n  var r = this;\n  for (var i = 0; i < k; i++)\n    r = r.dbl();\n  return r;\n};\n"},"lineCount":376}},"hash":"6e8575ef13daa140fb231ea444dba6c8","cacheData":{"env":{}}}