{
  "type": "File",
  "start": 0,
  "end": 5567,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 181,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 5567,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 181,
        "column": 0
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ImportDeclaration",
        "start": 0,
        "end": 45,
        "loc": {
          "start": {
            "line": 1,
            "column": 0
          },
          "end": {
            "line": 1,
            "column": 45
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 8,
            "end": 13,
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 13
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 8,
              "end": 13,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 8
                },
                "end": {
                  "line": 1,
                  "column": 13
                },
                "identifierName": "Point"
              },
              "name": "Point"
            },
            "local": {
              "type": "Identifier",
              "start": 8,
              "end": 13,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 8
                },
                "end": {
                  "line": 1,
                  "column": 13
                },
                "identifierName": "Point"
              },
              "name": "Point"
            }
          },
          {
            "type": "ImportSpecifier",
            "start": 15,
            "end": 29,
            "loc": {
              "start": {
                "line": 1,
                "column": 15
              },
              "end": {
                "line": 1,
                "column": 29
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 15,
              "end": 29,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 15
                },
                "end": {
                  "line": 1,
                  "column": 29
                },
                "identifierName": "getCurveByName"
              },
              "name": "getCurveByName"
            },
            "local": {
              "type": "Identifier",
              "start": 15,
              "end": 29,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 15
                },
                "end": {
                  "line": 1,
                  "column": 29
                },
                "identifierName": "getCurveByName"
              },
              "name": "getCurveByName"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 36,
          "end": 44,
          "loc": {
            "start": {
              "line": 1,
              "column": 36
            },
            "end": {
              "line": 1,
              "column": 44
            }
          },
          "extra": {
            "rawValue": "ecurve",
            "raw": "\"ecurve\""
          },
          "value": "ecurve"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 46,
        "end": 76,
        "loc": {
          "start": {
            "line": 2,
            "column": 0
          },
          "end": {
            "line": 2,
            "column": 30
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 53,
            "end": 63,
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 17
              }
            },
            "local": {
              "type": "Identifier",
              "start": 53,
              "end": 63,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 7
                },
                "end": {
                  "line": 2,
                  "column": 17
                },
                "identifierName": "BigInteger"
              },
              "name": "BigInteger"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 69,
          "end": 75,
          "loc": {
            "start": {
              "line": 2,
              "column": 23
            },
            "end": {
              "line": 2,
              "column": 29
            }
          },
          "extra": {
            "rawValue": "bigi",
            "raw": "\"bigi\""
          },
          "value": "bigi"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 77,
        "end": 113,
        "loc": {
          "start": {
            "line": 3,
            "column": 0
          },
          "end": {
            "line": 3,
            "column": 36
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 85,
            "end": 91,
            "loc": {
              "start": {
                "line": 3,
                "column": 8
              },
              "end": {
                "line": 3,
                "column": 14
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 85,
              "end": 91,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 8
                },
                "end": {
                  "line": 3,
                  "column": 14
                },
                "identifierName": "encode"
              },
              "name": "encode"
            },
            "local": {
              "type": "Identifier",
              "start": 85,
              "end": 91,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 8
                },
                "end": {
                  "line": 3,
                  "column": 14
                },
                "identifierName": "encode"
              },
              "name": "encode"
            }
          },
          {
            "type": "ImportSpecifier",
            "start": 93,
            "end": 99,
            "loc": {
              "start": {
                "line": 3,
                "column": 16
              },
              "end": {
                "line": 3,
                "column": 22
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 93,
              "end": 99,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 16
                },
                "end": {
                  "line": 3,
                  "column": 22
                },
                "identifierName": "decode"
              },
              "name": "decode"
            },
            "local": {
              "type": "Identifier",
              "start": 93,
              "end": 99,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 16
                },
                "end": {
                  "line": 3,
                  "column": 22
                },
                "identifierName": "decode"
              },
              "name": "decode"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 106,
          "end": 112,
          "loc": {
            "start": {
              "line": 3,
              "column": 29
            },
            "end": {
              "line": 3,
              "column": 35
            }
          },
          "extra": {
            "rawValue": "bs58",
            "raw": "\"bs58\""
          },
          "value": "bs58"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 114,
        "end": 152,
        "loc": {
          "start": {
            "line": 4,
            "column": 0
          },
          "end": {
            "line": 4,
            "column": 38
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 122,
            "end": 128,
            "loc": {
              "start": {
                "line": 4,
                "column": 8
              },
              "end": {
                "line": 4,
                "column": 14
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 122,
              "end": 128,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 8
                },
                "end": {
                  "line": 4,
                  "column": 14
                },
                "identifierName": "sha256"
              },
              "name": "sha256"
            },
            "local": {
              "type": "Identifier",
              "start": 122,
              "end": 128,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 8
                },
                "end": {
                  "line": 4,
                  "column": 14
                },
                "identifierName": "sha256"
              },
              "name": "sha256"
            }
          },
          {
            "type": "ImportSpecifier",
            "start": 130,
            "end": 136,
            "loc": {
              "start": {
                "line": 4,
                "column": 16
              },
              "end": {
                "line": 4,
                "column": 22
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 130,
              "end": 136,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 16
                },
                "end": {
                  "line": 4,
                  "column": 22
                },
                "identifierName": "sha512"
              },
              "name": "sha512"
            },
            "local": {
              "type": "Identifier",
              "start": 130,
              "end": 136,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 16
                },
                "end": {
                  "line": 4,
                  "column": 22
                },
                "identifierName": "sha512"
              },
              "name": "sha512"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 143,
          "end": 151,
          "loc": {
            "start": {
              "line": 4,
              "column": 29
            },
            "end": {
              "line": 4,
              "column": 37
            }
          },
          "extra": {
            "rawValue": "./hash",
            "raw": "\"./hash\""
          },
          "value": "./hash"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 153,
        "end": 189,
        "loc": {
          "start": {
            "line": 5,
            "column": 0
          },
          "end": {
            "line": 5,
            "column": 36
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 160,
            "end": 169,
            "loc": {
              "start": {
                "line": 5,
                "column": 7
              },
              "end": {
                "line": 5,
                "column": 16
              }
            },
            "local": {
              "type": "Identifier",
              "start": 160,
              "end": 169,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 7
                },
                "end": {
                  "line": 5,
                  "column": 16
                },
                "identifierName": "PublicKey"
              },
              "name": "PublicKey"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 175,
          "end": 188,
          "loc": {
            "start": {
              "line": 5,
              "column": 22
            },
            "end": {
              "line": 5,
              "column": 35
            }
          },
          "extra": {
            "rawValue": "./PublicKey",
            "raw": "\"./PublicKey\""
          },
          "value": "./PublicKey"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 190,
        "end": 225,
        "loc": {
          "start": {
            "line": 6,
            "column": 0
          },
          "end": {
            "line": 6,
            "column": 35
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 197,
            "end": 206,
            "loc": {
              "start": {
                "line": 6,
                "column": 7
              },
              "end": {
                "line": 6,
                "column": 16
              }
            },
            "local": {
              "type": "Identifier",
              "start": 197,
              "end": 206,
              "loc": {
                "start": {
                  "line": 6,
                  "column": 7
                },
                "end": {
                  "line": 6,
                  "column": 16
                },
                "identifierName": "deepEqual"
              },
              "name": "deepEqual"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 212,
          "end": 224,
          "loc": {
            "start": {
              "line": 6,
              "column": 22
            },
            "end": {
              "line": 6,
              "column": 34
            }
          },
          "extra": {
            "rawValue": "deep-equal",
            "raw": "\"deep-equal\""
          },
          "value": "deep-equal"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 226,
        "end": 254,
        "loc": {
          "start": {
            "line": 7,
            "column": 0
          },
          "end": {
            "line": 7,
            "column": 28
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 233,
            "end": 239,
            "loc": {
              "start": {
                "line": 7,
                "column": 7
              },
              "end": {
                "line": 7,
                "column": 13
              }
            },
            "local": {
              "type": "Identifier",
              "start": 233,
              "end": 239,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 7
                },
                "end": {
                  "line": 7,
                  "column": 13
                },
                "identifierName": "assert"
              },
              "name": "assert"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 245,
          "end": 253,
          "loc": {
            "start": {
              "line": 7,
              "column": 19
            },
            "end": {
              "line": 7,
              "column": 27
            }
          },
          "extra": {
            "rawValue": "assert",
            "raw": "\"assert\""
          },
          "value": "assert"
        }
      },
      {
        "type": "VariableDeclaration",
        "start": 256,
        "end": 302,
        "loc": {
          "start": {
            "line": 9,
            "column": 0
          },
          "end": {
            "line": 9,
            "column": 46
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 262,
            "end": 301,
            "loc": {
              "start": {
                "line": 9,
                "column": 6
              },
              "end": {
                "line": 9,
                "column": 45
              }
            },
            "id": {
              "type": "Identifier",
              "start": 262,
              "end": 271,
              "loc": {
                "start": {
                  "line": 9,
                  "column": 6
                },
                "end": {
                  "line": 9,
                  "column": 15
                },
                "identifierName": "secp256k1"
              },
              "name": "secp256k1"
            },
            "init": {
              "type": "CallExpression",
              "start": 274,
              "end": 301,
              "loc": {
                "start": {
                  "line": 9,
                  "column": 18
                },
                "end": {
                  "line": 9,
                  "column": 45
                }
              },
              "callee": {
                "type": "Identifier",
                "start": 274,
                "end": 288,
                "loc": {
                  "start": {
                    "line": 9,
                    "column": 18
                  },
                  "end": {
                    "line": 9,
                    "column": 32
                  },
                  "identifierName": "getCurveByName"
                },
                "name": "getCurveByName"
              },
              "arguments": [
                {
                  "type": "StringLiteral",
                  "start": 289,
                  "end": 300,
                  "loc": {
                    "start": {
                      "line": 9,
                      "column": 33
                    },
                    "end": {
                      "line": 9,
                      "column": 44
                    }
                  },
                  "extra": {
                    "rawValue": "secp256k1",
                    "raw": "\"secp256k1\""
                  },
                  "value": "secp256k1"
                }
              ]
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "VariableDeclaration",
        "start": 303,
        "end": 325,
        "loc": {
          "start": {
            "line": 10,
            "column": 0
          },
          "end": {
            "line": 10,
            "column": 22
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 309,
            "end": 324,
            "loc": {
              "start": {
                "line": 10,
                "column": 6
              },
              "end": {
                "line": 10,
                "column": 21
              }
            },
            "id": {
              "type": "ObjectPattern",
              "start": 309,
              "end": 312,
              "loc": {
                "start": {
                  "line": 10,
                  "column": 6
                },
                "end": {
                  "line": 10,
                  "column": 9
                }
              },
              "properties": [
                {
                  "type": "ObjectProperty",
                  "start": 310,
                  "end": 311,
                  "loc": {
                    "start": {
                      "line": 10,
                      "column": 7
                    },
                    "end": {
                      "line": 10,
                      "column": 8
                    }
                  },
                  "method": false,
                  "shorthand": true,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 310,
                    "end": 311,
                    "loc": {
                      "start": {
                        "line": 10,
                        "column": 7
                      },
                      "end": {
                        "line": 10,
                        "column": 8
                      },
                      "identifierName": "n"
                    },
                    "name": "n"
                  },
                  "value": {
                    "type": "Identifier",
                    "start": 310,
                    "end": 311,
                    "loc": {
                      "start": {
                        "line": 10,
                        "column": 7
                      },
                      "end": {
                        "line": 10,
                        "column": 8
                      },
                      "identifierName": "n"
                    },
                    "name": "n"
                  },
                  "extra": {
                    "shorthand": true
                  }
                }
              ]
            },
            "init": {
              "type": "Identifier",
              "start": 315,
              "end": 324,
              "loc": {
                "start": {
                  "line": 10,
                  "column": 12
                },
                "end": {
                  "line": 10,
                  "column": 21
                },
                "identifierName": "secp256k1"
              },
              "name": "secp256k1"
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "VariableDeclaration",
        "start": 326,
        "end": 371,
        "loc": {
          "start": {
            "line": 11,
            "column": 0
          },
          "end": {
            "line": 11,
            "column": 45
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 332,
            "end": 370,
            "loc": {
              "start": {
                "line": 11,
                "column": 6
              },
              "end": {
                "line": 11,
                "column": 44
              }
            },
            "id": {
              "type": "Identifier",
              "start": 332,
              "end": 338,
              "loc": {
                "start": {
                  "line": 11,
                  "column": 6
                },
                "end": {
                  "line": 11,
                  "column": 12
                },
                "identifierName": "Buffer"
              },
              "name": "Buffer"
            },
            "init": {
              "type": "MemberExpression",
              "start": 341,
              "end": 370,
              "loc": {
                "start": {
                  "line": 11,
                  "column": 15
                },
                "end": {
                  "line": 11,
                  "column": 44
                }
              },
              "object": {
                "type": "CallExpression",
                "start": 341,
                "end": 363,
                "loc": {
                  "start": {
                    "line": 11,
                    "column": 15
                  },
                  "end": {
                    "line": 11,
                    "column": 37
                  }
                },
                "callee": {
                  "type": "Identifier",
                  "start": 341,
                  "end": 348,
                  "loc": {
                    "start": {
                      "line": 11,
                      "column": 15
                    },
                    "end": {
                      "line": 11,
                      "column": 22
                    },
                    "identifierName": "require"
                  },
                  "name": "require"
                },
                "arguments": [
                  {
                    "type": "StringLiteral",
                    "start": 349,
                    "end": 362,
                    "loc": {
                      "start": {
                        "line": 11,
                        "column": 23
                      },
                      "end": {
                        "line": 11,
                        "column": 36
                      }
                    },
                    "extra": {
                      "rawValue": "safe-buffer",
                      "raw": "\"safe-buffer\""
                    },
                    "value": "safe-buffer"
                  }
                ]
              },
              "property": {
                "type": "Identifier",
                "start": 364,
                "end": 370,
                "loc": {
                  "start": {
                    "line": 11,
                    "column": 38
                  },
                  "end": {
                    "line": 11,
                    "column": 44
                  },
                  "identifierName": "Buffer"
                },
                "name": "Buffer"
              },
              "computed": false
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "Identifier",
        "start": 373,
        "end": 5437,
        "loc": {
          "start": {
            "line": 13,
            "column": 0
          },
          "end": {
            "line": 175,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 379,
          "end": 389,
          "loc": {
            "start": {
              "line": 13,
              "column": 6
            },
            "end": {
              "line": 13,
              "column": 16
            },
            "identifierName": "PrivateKey"
          },
          "name": "PrivateKey"
        },
        "superClass": null,
        "body": {
          "type": "ClassBody",
          "start": 390,
          "end": 5437,
          "loc": {
            "start": {
              "line": 13,
              "column": 17
            },
            "end": {
              "line": 175,
              "column": 1
            }
          },
          "body": [
            {
              "type": "ClassMethod",
              "start": 477,
              "end": 519,
              "loc": {
                "start": {
                  "line": 18,
                  "column": 4
                },
                "end": {
                  "line": 20,
                  "column": 5
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 477,
                "end": 488,
                "loc": {
                  "start": {
                    "line": 18,
                    "column": 4
                  },
                  "end": {
                    "line": 18,
                    "column": 15
                  },
                  "identifierName": "constructor"
                },
                "name": "constructor",
                "leadingComments": null
              },
              "kind": "constructor",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 489,
                  "end": 490,
                  "loc": {
                    "start": {
                      "line": 18,
                      "column": 16
                    },
                    "end": {
                      "line": 18,
                      "column": 17
                    },
                    "identifierName": "d"
                  },
                  "name": "d"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 492,
                "end": 519,
                "loc": {
                  "start": {
                    "line": 18,
                    "column": 19
                  },
                  "end": {
                    "line": 20,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 502,
                    "end": 513,
                    "loc": {
                      "start": {
                        "line": 19,
                        "column": 8
                      },
                      "end": {
                        "line": 19,
                        "column": 19
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 502,
                      "end": 512,
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 8
                        },
                        "end": {
                          "line": 19,
                          "column": 18
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 502,
                        "end": 508,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 8
                          },
                          "end": {
                            "line": 19,
                            "column": 14
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 502,
                          "end": 506,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 8
                            },
                            "end": {
                              "line": 19,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 507,
                          "end": 508,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 13
                            },
                            "end": {
                              "line": 19,
                              "column": 14
                            },
                            "identifierName": "d"
                          },
                          "name": "d"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 511,
                        "end": 512,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 17
                          },
                          "end": {
                            "line": 19,
                            "column": 18
                          },
                          "identifierName": "d"
                        },
                        "name": "d"
                      }
                    }
                  }
                ],
                "directives": []
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\n        @private see static functions\n        @param {BigInteger}\n    ",
                  "start": 396,
                  "end": 472,
                  "loc": {
                    "start": {
                      "line": 14,
                      "column": 4
                    },
                    "end": {
                      "line": 17,
                      "column": 6
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 525,
              "end": 1059,
              "loc": {
                "start": {
                  "line": 22,
                  "column": 4
                },
                "end": {
                  "line": 38,
                  "column": 5
                }
              },
              "static": true,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 532,
                "end": 542,
                "loc": {
                  "start": {
                    "line": 22,
                    "column": 11
                  },
                  "end": {
                    "line": 22,
                    "column": 21
                  },
                  "identifierName": "fromBuffer"
                },
                "name": "fromBuffer"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 543,
                  "end": 546,
                  "loc": {
                    "start": {
                      "line": 22,
                      "column": 22
                    },
                    "end": {
                      "line": 22,
                      "column": 25
                    },
                    "identifierName": "buf"
                  },
                  "name": "buf"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 548,
                "end": 1059,
                "loc": {
                  "start": {
                    "line": 22,
                    "column": 27
                  },
                  "end": {
                    "line": 38,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "IfStatement",
                    "start": 558,
                    "end": 667,
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 8
                      },
                      "end": {
                        "line": 25,
                        "column": 9
                      }
                    },
                    "test": {
                      "type": "UnaryExpression",
                      "start": 562,
                      "end": 583,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 12
                        },
                        "end": {
                          "line": 23,
                          "column": 33
                        }
                      },
                      "operator": "!",
                      "prefix": true,
                      "argument": {
                        "type": "CallExpression",
                        "start": 563,
                        "end": 583,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 13
                          },
                          "end": {
                            "line": 23,
                            "column": 33
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 563,
                          "end": 578,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 13
                            },
                            "end": {
                              "line": 23,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 563,
                            "end": 569,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 13
                              },
                              "end": {
                                "line": 23,
                                "column": 19
                              },
                              "identifierName": "Buffer"
                            },
                            "name": "Buffer"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 570,
                            "end": 578,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 20
                              },
                              "end": {
                                "line": 23,
                                "column": 28
                              },
                              "identifierName": "isBuffer"
                            },
                            "name": "isBuffer"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 579,
                            "end": 582,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 29
                              },
                              "end": {
                                "line": 23,
                                "column": 32
                              },
                              "identifierName": "buf"
                            },
                            "name": "buf"
                          }
                        ]
                      },
                      "extra": {
                        "parenthesizedArgument": false
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 585,
                      "end": 667,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 35
                        },
                        "end": {
                          "line": 25,
                          "column": 9
                        }
                      },
                      "body": [
                        {
                          "type": "ThrowStatement",
                          "start": 599,
                          "end": 657,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 12
                            },
                            "end": {
                              "line": 24,
                              "column": 70
                            }
                          },
                          "argument": {
                            "type": "NewExpression",
                            "start": 605,
                            "end": 656,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 18
                              },
                              "end": {
                                "line": 24,
                                "column": 69
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 609,
                              "end": 614,
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 22
                                },
                                "end": {
                                  "line": 24,
                                  "column": 27
                                },
                                "identifierName": "Error"
                              },
                              "name": "Error"
                            },
                            "arguments": [
                              {
                                "type": "StringLiteral",
                                "start": 615,
                                "end": 655,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 68
                                  }
                                },
                                "extra": {
                                  "rawValue": "Expecting paramter to be a Buffer type",
                                  "raw": "\"Expecting paramter to be a Buffer type\""
                                },
                                "value": "Expecting paramter to be a Buffer type"
                              }
                            ]
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": null
                  },
                  {
                    "type": "IfStatement",
                    "start": 676,
                    "end": 907,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 8
                      },
                      "end": {
                        "line": 33,
                        "column": 9
                      }
                    },
                    "test": {
                      "type": "BinaryExpression",
                      "start": 680,
                      "end": 697,
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 12
                        },
                        "end": {
                          "line": 26,
                          "column": 29
                        }
                      },
                      "left": {
                        "type": "NumericLiteral",
                        "start": 680,
                        "end": 682,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 12
                          },
                          "end": {
                            "line": 26,
                            "column": 14
                          }
                        },
                        "extra": {
                          "rawValue": 32,
                          "raw": "32"
                        },
                        "value": 32
                      },
                      "operator": "!==",
                      "right": {
                        "type": "MemberExpression",
                        "start": 687,
                        "end": 697,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 19
                          },
                          "end": {
                            "line": 26,
                            "column": 29
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 687,
                          "end": 690,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 19
                            },
                            "end": {
                              "line": 26,
                              "column": 22
                            },
                            "identifierName": "buf"
                          },
                          "name": "buf"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 691,
                          "end": 697,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 23
                            },
                            "end": {
                              "line": 26,
                              "column": 29
                            },
                            "identifierName": "length"
                          },
                          "name": "length"
                        },
                        "computed": false
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 699,
                      "end": 907,
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 31
                        },
                        "end": {
                          "line": 33,
                          "column": 9
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 713,
                          "end": 897,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 12
                            },
                            "end": {
                              "line": 32,
                              "column": 14
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 713,
                            "end": 896,
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 12
                              },
                              "end": {
                                "line": 32,
                                "column": 13
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 713,
                              "end": 724,
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 12
                                },
                                "end": {
                                  "line": 27,
                                  "column": 23
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 713,
                                "end": 720,
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 19
                                  },
                                  "identifierName": "console"
                                },
                                "name": "console"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 721,
                                "end": 724,
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 23
                                  },
                                  "identifierName": "log"
                                },
                                "name": "log"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "TemplateLiteral",
                                "start": 742,
                                "end": 847,
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 30,
                                    "column": 32
                                  }
                                },
                                "expressions": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 804,
                                    "end": 814,
                                    "loc": {
                                      "start": {
                                        "line": 29,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 29,
                                        "column": 30
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 804,
                                      "end": 807,
                                      "loc": {
                                        "start": {
                                          "line": 29,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 29,
                                          "column": 23
                                        },
                                        "identifierName": "buf"
                                      },
                                      "name": "buf"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 808,
                                      "end": 814,
                                      "loc": {
                                        "start": {
                                          "line": 29,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 29,
                                          "column": 30
                                        },
                                        "identifierName": "length"
                                      },
                                      "name": "length"
                                    },
                                    "computed": false
                                  }
                                ],
                                "quasis": [
                                  {
                                    "type": "TemplateElement",
                                    "start": 743,
                                    "end": 781,
                                    "loc": {
                                      "start": {
                                        "line": 28,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 28,
                                        "column": 55
                                      }
                                    },
                                    "value": {
                                      "raw": "WARN: Expecting 32 bytes, instead got ",
                                      "cooked": "WARN: Expecting 32 bytes, instead got "
                                    },
                                    "tail": false
                                  },
                                  {
                                    "type": "TemplateElement",
                                    "start": 832,
                                    "end": 846,
                                    "loc": {
                                      "start": {
                                        "line": 30,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 30,
                                        "column": 31
                                      }
                                    },
                                    "value": {
                                      "raw": ", stack trace:",
                                      "cooked": ", stack trace:"
                                    },
                                    "tail": true
                                  }
                                ]
                              },
                              {
                                "type": "MemberExpression",
                                "start": 865,
                                "end": 882,
                                "loc": {
                                  "start": {
                                    "line": 31,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 31,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "NewExpression",
                                  "start": 865,
                                  "end": 876,
                                  "loc": {
                                    "start": {
                                      "line": 31,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 31,
                                      "column": 27
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 869,
                                    "end": 874,
                                    "loc": {
                                      "start": {
                                        "line": 31,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 31,
                                        "column": 25
                                      },
                                      "identifierName": "Error"
                                    },
                                    "name": "Error"
                                  },
                                  "arguments": []
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 877,
                                  "end": 882,
                                  "loc": {
                                    "start": {
                                      "line": 31,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 31,
                                      "column": 33
                                    },
                                    "identifierName": "stack"
                                  },
                                  "name": "stack"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": null
                  },
                  {
                    "type": "IfStatement",
                    "start": 916,
                    "end": 994,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 8
                      },
                      "end": {
                        "line": 36,
                        "column": 9
                      }
                    },
                    "test": {
                      "type": "BinaryExpression",
                      "start": 920,
                      "end": 936,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 12
                        },
                        "end": {
                          "line": 34,
                          "column": 28
                        }
                      },
                      "left": {
                        "type": "MemberExpression",
                        "start": 920,
                        "end": 930,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 12
                          },
                          "end": {
                            "line": 34,
                            "column": 22
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 920,
                          "end": 923,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 12
                            },
                            "end": {
                              "line": 34,
                              "column": 15
                            },
                            "identifierName": "buf"
                          },
                          "name": "buf"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 924,
                          "end": 930,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 16
                            },
                            "end": {
                              "line": 34,
                              "column": 22
                            },
                            "identifierName": "length"
                          },
                          "name": "length"
                        },
                        "computed": false
                      },
                      "operator": "===",
                      "right": {
                        "type": "NumericLiteral",
                        "start": 935,
                        "end": 936,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 27
                          },
                          "end": {
                            "line": 34,
                            "column": 28
                          }
                        },
                        "extra": {
                          "rawValue": 0,
                          "raw": "0"
                        },
                        "value": 0
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 938,
                      "end": 994,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 30
                        },
                        "end": {
                          "line": 36,
                          "column": 9
                        }
                      },
                      "body": [
                        {
                          "type": "ThrowStatement",
                          "start": 952,
                          "end": 984,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 12
                            },
                            "end": {
                              "line": 35,
                              "column": 44
                            }
                          },
                          "argument": {
                            "type": "NewExpression",
                            "start": 958,
                            "end": 983,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 18
                              },
                              "end": {
                                "line": 35,
                                "column": 43
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 962,
                              "end": 967,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 22
                                },
                                "end": {
                                  "line": 35,
                                  "column": 27
                                },
                                "identifierName": "Error"
                              },
                              "name": "Error"
                            },
                            "arguments": [
                              {
                                "type": "StringLiteral",
                                "start": 968,
                                "end": 982,
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 42
                                  }
                                },
                                "extra": {
                                  "rawValue": "Empty buffer",
                                  "raw": "\"Empty buffer\""
                                },
                                "value": "Empty buffer"
                              }
                            ]
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": null
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 1003,
                    "end": 1053,
                    "loc": {
                      "start": {
                        "line": 37,
                        "column": 8
                      },
                      "end": {
                        "line": 37,
                        "column": 58
                      }
                    },
                    "argument": {
                      "type": "NewExpression",
                      "start": 1010,
                      "end": 1052,
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 15
                        },
                        "end": {
                          "line": 37,
                          "column": 57
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 1014,
                        "end": 1024,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 19
                          },
                          "end": {
                            "line": 37,
                            "column": 29
                          },
                          "identifierName": "PrivateKey"
                        },
                        "name": "PrivateKey"
                      },
                      "arguments": [
                        {
                          "type": "CallExpression",
                          "start": 1025,
                          "end": 1051,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 30
                            },
                            "end": {
                              "line": 37,
                              "column": 56
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1025,
                            "end": 1046,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 30
                              },
                              "end": {
                                "line": 37,
                                "column": 51
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1025,
                              "end": 1035,
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 30
                                },
                                "end": {
                                  "line": 37,
                                  "column": 40
                                },
                                "identifierName": "BigInteger"
                              },
                              "name": "BigInteger"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1036,
                              "end": 1046,
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 41
                                },
                                "end": {
                                  "line": 37,
                                  "column": 51
                                },
                                "identifierName": "fromBuffer"
                              },
                              "name": "fromBuffer"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1047,
                              "end": 1050,
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 52
                                },
                                "end": {
                                  "line": 37,
                                  "column": 55
                                },
                                "identifierName": "buf"
                              },
                              "name": "buf"
                            }
                          ]
                        }
                      ]
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "* @arg {string} seed - any length string.  This is private, the same seed produces the same private key every time.  ",
                  "start": 1065,
                  "end": 1186,
                  "loc": {
                    "start": {
                      "line": 40,
                      "column": 4
                    },
                    "end": {
                      "line": 40,
                      "column": 125
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 1191,
              "end": 1417,
              "loc": {
                "start": {
                  "line": 41,
                  "column": 4
                },
                "end": {
                  "line": 47,
                  "column": 5
                }
              },
              "static": true,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 1198,
                "end": 1206,
                "loc": {
                  "start": {
                    "line": 41,
                    "column": 11
                  },
                  "end": {
                    "line": 41,
                    "column": 19
                  },
                  "identifierName": "fromSeed"
                },
                "name": "fromSeed"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 1207,
                  "end": 1211,
                  "loc": {
                    "start": {
                      "line": 41,
                      "column": 20
                    },
                    "end": {
                      "line": 41,
                      "column": 24
                    },
                    "identifierName": "seed"
                  },
                  "name": "seed"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 1213,
                "end": 1417,
                "loc": {
                  "start": {
                    "line": 41,
                    "column": 26
                  },
                  "end": {
                    "line": 47,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "IfStatement",
                    "start": 1255,
                    "end": 1359,
                    "loc": {
                      "start": {
                        "line": 43,
                        "column": 8
                      },
                      "end": {
                        "line": 45,
                        "column": 9
                      }
                    },
                    "test": {
                      "type": "UnaryExpression",
                      "start": 1259,
                      "end": 1286,
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 12
                        },
                        "end": {
                          "line": 43,
                          "column": 39
                        }
                      },
                      "operator": "!",
                      "prefix": true,
                      "argument": {
                        "type": "BinaryExpression",
                        "start": 1261,
                        "end": 1285,
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 14
                          },
                          "end": {
                            "line": 43,
                            "column": 38
                          }
                        },
                        "left": {
                          "type": "UnaryExpression",
                          "start": 1261,
                          "end": 1272,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 14
                            },
                            "end": {
                              "line": 43,
                              "column": 25
                            }
                          },
                          "operator": "typeof",
                          "prefix": true,
                          "argument": {
                            "type": "Identifier",
                            "start": 1268,
                            "end": 1272,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 21
                              },
                              "end": {
                                "line": 43,
                                "column": 25
                              },
                              "identifierName": "seed"
                            },
                            "name": "seed",
                            "leadingComments": null
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          },
                          "leadingComments": null
                        },
                        "operator": "===",
                        "right": {
                          "type": "StringLiteral",
                          "start": 1277,
                          "end": 1285,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 30
                            },
                            "end": {
                              "line": 43,
                              "column": 38
                            }
                          },
                          "extra": {
                            "rawValue": "string",
                            "raw": "\"string\""
                          },
                          "value": "string"
                        },
                        "leadingComments": null,
                        "extra": {
                          "parenthesized": true,
                          "parenStart": 1260
                        }
                      },
                      "extra": {
                        "parenthesizedArgument": false
                      },
                      "leadingComments": null
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 1288,
                      "end": 1359,
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 41
                        },
                        "end": {
                          "line": 45,
                          "column": 9
                        }
                      },
                      "body": [
                        {
                          "type": "ThrowStatement",
                          "start": 1302,
                          "end": 1349,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 12
                            },
                            "end": {
                              "line": 44,
                              "column": 59
                            }
                          },
                          "argument": {
                            "type": "NewExpression",
                            "start": 1308,
                            "end": 1348,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 18
                              },
                              "end": {
                                "line": 44,
                                "column": 58
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 1312,
                              "end": 1317,
                              "loc": {
                                "start": {
                                  "line": 44,
                                  "column": 22
                                },
                                "end": {
                                  "line": 44,
                                  "column": 27
                                },
                                "identifierName": "Error"
                              },
                              "name": "Error"
                            },
                            "arguments": [
                              {
                                "type": "StringLiteral",
                                "start": 1318,
                                "end": 1347,
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 57
                                  }
                                },
                                "extra": {
                                  "rawValue": "seed must be of type string",
                                  "raw": "\"seed must be of type string\""
                                },
                                "value": "seed must be of type string"
                              }
                            ]
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": null,
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": " generate_private_key",
                        "start": 1223,
                        "end": 1246,
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 8
                          },
                          "end": {
                            "line": 42,
                            "column": 31
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 1368,
                    "end": 1411,
                    "loc": {
                      "start": {
                        "line": 46,
                        "column": 8
                      },
                      "end": {
                        "line": 46,
                        "column": 51
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 1375,
                      "end": 1410,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 15
                        },
                        "end": {
                          "line": 46,
                          "column": 50
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 1375,
                        "end": 1396,
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 15
                          },
                          "end": {
                            "line": 46,
                            "column": 36
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 1375,
                          "end": 1385,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 15
                            },
                            "end": {
                              "line": 46,
                              "column": 25
                            },
                            "identifierName": "PrivateKey"
                          },
                          "name": "PrivateKey"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1386,
                          "end": 1396,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 26
                            },
                            "end": {
                              "line": 46,
                              "column": 36
                            },
                            "identifierName": "fromBuffer"
                          },
                          "name": "fromBuffer"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "CallExpression",
                          "start": 1397,
                          "end": 1409,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 37
                            },
                            "end": {
                              "line": 46,
                              "column": 49
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1397,
                            "end": 1403,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 37
                              },
                              "end": {
                                "line": 46,
                                "column": 43
                              },
                              "identifierName": "sha256"
                            },
                            "name": "sha256"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1404,
                              "end": 1408,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 44
                                },
                                "end": {
                                  "line": 46,
                                  "column": 48
                                },
                                "identifierName": "seed"
                              },
                              "name": "seed"
                            }
                          ]
                        }
                      ]
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "* @arg {string} seed - any length string.  This is private, the same seed produces the same private key every time.  ",
                  "start": 1065,
                  "end": 1186,
                  "loc": {
                    "start": {
                      "line": 40,
                      "column": 4
                    },
                    "end": {
                      "line": 40,
                      "column": 125
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "* @return {string} Wallet Import Format (still a secret, Not encrypted) ",
                  "start": 1423,
                  "end": 1499,
                  "loc": {
                    "start": {
                      "line": 49,
                      "column": 4
                    },
                    "end": {
                      "line": 49,
                      "column": 80
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 1504,
              "end": 2329,
              "loc": {
                "start": {
                  "line": 50,
                  "column": 4
                },
                "end": {
                  "line": 70,
                  "column": 5
                }
              },
              "static": true,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 1511,
                "end": 1518,
                "loc": {
                  "start": {
                    "line": 50,
                    "column": 11
                  },
                  "end": {
                    "line": 50,
                    "column": 18
                  },
                  "identifierName": "fromWif"
                },
                "name": "fromWif"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 1519,
                  "end": 1531,
                  "loc": {
                    "start": {
                      "line": 50,
                      "column": 19
                    },
                    "end": {
                      "line": 50,
                      "column": 31
                    },
                    "identifierName": "_private_wif"
                  },
                  "name": "_private_wif"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 1533,
                "end": 2329,
                "loc": {
                  "start": {
                    "line": 50,
                    "column": 33
                  },
                  "end": {
                    "line": 70,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 1543,
                    "end": 1595,
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 8
                      },
                      "end": {
                        "line": 51,
                        "column": 60
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 1547,
                        "end": 1594,
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 12
                          },
                          "end": {
                            "line": 51,
                            "column": 59
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 1547,
                          "end": 1558,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 12
                            },
                            "end": {
                              "line": 51,
                              "column": 23
                            },
                            "identifierName": "private_wif"
                          },
                          "name": "private_wif"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 1561,
                          "end": 1594,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 26
                            },
                            "end": {
                              "line": 51,
                              "column": 59
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1561,
                            "end": 1572,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 26
                              },
                              "end": {
                                "line": 51,
                                "column": 37
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1561,
                              "end": 1567,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 26
                                },
                                "end": {
                                  "line": 51,
                                  "column": 32
                                },
                                "identifierName": "Buffer"
                              },
                              "name": "Buffer"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1568,
                              "end": 1572,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 33
                                },
                                "end": {
                                  "line": 51,
                                  "column": 37
                                },
                                "identifierName": "from"
                              },
                              "name": "from"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 1573,
                              "end": 1593,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 38
                                },
                                "end": {
                                  "line": 51,
                                  "column": 58
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 1573,
                                "end": 1579,
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 44
                                  },
                                  "identifierName": "decode"
                                },
                                "name": "decode"
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 1580,
                                  "end": 1592,
                                  "loc": {
                                    "start": {
                                      "line": 51,
                                      "column": 45
                                    },
                                    "end": {
                                      "line": 51,
                                      "column": 57
                                    },
                                    "identifierName": "_private_wif"
                                  },
                                  "name": "_private_wif"
                                }
                              ]
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 1604,
                    "end": 1643,
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 8
                      },
                      "end": {
                        "line": 52,
                        "column": 47
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 1608,
                        "end": 1642,
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 12
                          },
                          "end": {
                            "line": 52,
                            "column": 46
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 1608,
                          "end": 1615,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 12
                            },
                            "end": {
                              "line": 52,
                              "column": 19
                            },
                            "identifierName": "version"
                          },
                          "name": "version"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 1618,
                          "end": 1642,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 22
                            },
                            "end": {
                              "line": 52,
                              "column": 46
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1618,
                            "end": 1639,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 22
                              },
                              "end": {
                                "line": 52,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1618,
                              "end": 1629,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 22
                                },
                                "end": {
                                  "line": 52,
                                  "column": 33
                                },
                                "identifierName": "private_wif"
                              },
                              "name": "private_wif"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1630,
                              "end": 1639,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 34
                                },
                                "end": {
                                  "line": 52,
                                  "column": 43
                                },
                                "identifierName": "readUInt8"
                              },
                              "name": "readUInt8"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "NumericLiteral",
                              "start": 1640,
                              "end": 1641,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 44
                                },
                                "end": {
                                  "line": 52,
                                  "column": 45
                                }
                              },
                              "extra": {
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "value": 0
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 1652,
                    "end": 1778,
                    "loc": {
                      "start": {
                        "line": 53,
                        "column": 8
                      },
                      "end": {
                        "line": 57,
                        "column": 10
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 1652,
                      "end": 1777,
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 8
                        },
                        "end": {
                          "line": 57,
                          "column": 9
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 1652,
                        "end": 1664,
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 8
                          },
                          "end": {
                            "line": 53,
                            "column": 20
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 1652,
                          "end": 1658,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 8
                            },
                            "end": {
                              "line": 53,
                              "column": 14
                            },
                            "identifierName": "assert"
                          },
                          "name": "assert"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1659,
                          "end": 1664,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 15
                            },
                            "end": {
                              "line": 53,
                              "column": 20
                            },
                            "identifierName": "equal"
                          },
                          "name": "equal"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "NumericLiteral",
                          "start": 1678,
                          "end": 1682,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 12
                            },
                            "end": {
                              "line": 54,
                              "column": 16
                            }
                          },
                          "extra": {
                            "rawValue": 128,
                            "raw": "0x80"
                          },
                          "value": 128
                        },
                        {
                          "type": "Identifier",
                          "start": 1696,
                          "end": 1703,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 12
                            },
                            "end": {
                              "line": 55,
                              "column": 19
                            },
                            "identifierName": "version"
                          },
                          "name": "version"
                        },
                        {
                          "type": "TemplateLiteral",
                          "start": 1717,
                          "end": 1767,
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 12
                            },
                            "end": {
                              "line": 56,
                              "column": 62
                            }
                          },
                          "expressions": [
                            {
                              "type": "NumericLiteral",
                              "start": 1737,
                              "end": 1741,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 32
                                },
                                "end": {
                                  "line": 56,
                                  "column": 36
                                }
                              },
                              "extra": {
                                "rawValue": 128,
                                "raw": "0x80"
                              },
                              "value": 128
                            },
                            {
                              "type": "Identifier",
                              "start": 1758,
                              "end": 1765,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 53
                                },
                                "end": {
                                  "line": 56,
                                  "column": 60
                                },
                                "identifierName": "version"
                              },
                              "name": "version"
                            }
                          ],
                          "quasis": [
                            {
                              "type": "TemplateElement",
                              "start": 1718,
                              "end": 1735,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 13
                                },
                                "end": {
                                  "line": 56,
                                  "column": 30
                                }
                              },
                              "value": {
                                "raw": "Expected version ",
                                "cooked": "Expected version "
                              },
                              "tail": false
                            },
                            {
                              "type": "TemplateElement",
                              "start": 1742,
                              "end": 1756,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 37
                                },
                                "end": {
                                  "line": 56,
                                  "column": 51
                                }
                              },
                              "value": {
                                "raw": ", instead got ",
                                "cooked": ", instead got "
                              },
                              "tail": false
                            },
                            {
                              "type": "TemplateElement",
                              "start": 1766,
                              "end": 1766,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 61
                                },
                                "end": {
                                  "line": 56,
                                  "column": 61
                                }
                              },
                              "value": {
                                "raw": "",
                                "cooked": ""
                              },
                              "tail": true
                            }
                          ]
                        }
                      ]
                    },
                    "trailingComments": [
                      {
                        "type": "CommentLine",
                        "value": " checksum includes the version",
                        "start": 1787,
                        "end": 1819,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 8
                          },
                          "end": {
                            "line": 58,
                            "column": 40
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 1828,
                    "end": 1871,
                    "loc": {
                      "start": {
                        "line": 59,
                        "column": 8
                      },
                      "end": {
                        "line": 59,
                        "column": 51
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 1832,
                        "end": 1870,
                        "loc": {
                          "start": {
                            "line": 59,
                            "column": 12
                          },
                          "end": {
                            "line": 59,
                            "column": 50
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 1832,
                          "end": 1843,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 12
                            },
                            "end": {
                              "line": 59,
                              "column": 23
                            },
                            "identifierName": "private_key"
                          },
                          "name": "private_key",
                          "leadingComments": null
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 1846,
                          "end": 1870,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 26
                            },
                            "end": {
                              "line": 59,
                              "column": 50
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1846,
                            "end": 1863,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 26
                              },
                              "end": {
                                "line": 59,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1846,
                              "end": 1857,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 26
                                },
                                "end": {
                                  "line": 59,
                                  "column": 37
                                },
                                "identifierName": "private_wif"
                              },
                              "name": "private_wif"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1858,
                              "end": 1863,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 38
                                },
                                "end": {
                                  "line": 59,
                                  "column": 43
                                },
                                "identifierName": "slice"
                              },
                              "name": "slice"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "NumericLiteral",
                              "start": 1864,
                              "end": 1865,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 44
                                },
                                "end": {
                                  "line": 59,
                                  "column": 45
                                }
                              },
                              "extra": {
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "value": 0
                            },
                            {
                              "type": "UnaryExpression",
                              "start": 1867,
                              "end": 1869,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 47
                                },
                                "end": {
                                  "line": 59,
                                  "column": 49
                                }
                              },
                              "operator": "-",
                              "prefix": true,
                              "argument": {
                                "type": "NumericLiteral",
                                "start": 1868,
                                "end": 1869,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 49
                                  }
                                },
                                "extra": {
                                  "rawValue": 4,
                                  "raw": "4"
                                },
                                "value": 4
                              },
                              "extra": {
                                "parenthesizedArgument": false
                              }
                            }
                          ]
                        },
                        "leadingComments": null
                      }
                    ],
                    "kind": "var",
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": " checksum includes the version",
                        "start": 1787,
                        "end": 1819,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 8
                          },
                          "end": {
                            "line": 58,
                            "column": 40
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 1880,
                    "end": 1917,
                    "loc": {
                      "start": {
                        "line": 60,
                        "column": 8
                      },
                      "end": {
                        "line": 60,
                        "column": 45
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 1884,
                        "end": 1916,
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 12
                          },
                          "end": {
                            "line": 60,
                            "column": 44
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 1884,
                          "end": 1892,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 12
                            },
                            "end": {
                              "line": 60,
                              "column": 20
                            },
                            "identifierName": "checksum"
                          },
                          "name": "checksum"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 1895,
                          "end": 1916,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 23
                            },
                            "end": {
                              "line": 60,
                              "column": 44
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1895,
                            "end": 1912,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 23
                              },
                              "end": {
                                "line": 60,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1895,
                              "end": 1906,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 23
                                },
                                "end": {
                                  "line": 60,
                                  "column": 34
                                },
                                "identifierName": "private_wif"
                              },
                              "name": "private_wif"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1907,
                              "end": 1912,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 35
                                },
                                "end": {
                                  "line": 60,
                                  "column": 40
                                },
                                "identifierName": "slice"
                              },
                              "name": "slice"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "UnaryExpression",
                              "start": 1913,
                              "end": 1915,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 41
                                },
                                "end": {
                                  "line": 60,
                                  "column": 43
                                }
                              },
                              "operator": "-",
                              "prefix": true,
                              "argument": {
                                "type": "NumericLiteral",
                                "start": 1914,
                                "end": 1915,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 43
                                  }
                                },
                                "extra": {
                                  "rawValue": 4,
                                  "raw": "4"
                                },
                                "value": 4
                              },
                              "extra": {
                                "parenthesizedArgument": false
                              }
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 1926,
                    "end": 1965,
                    "loc": {
                      "start": {
                        "line": 61,
                        "column": 8
                      },
                      "end": {
                        "line": 61,
                        "column": 47
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 1930,
                        "end": 1964,
                        "loc": {
                          "start": {
                            "line": 61,
                            "column": 12
                          },
                          "end": {
                            "line": 61,
                            "column": 46
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 1930,
                          "end": 1942,
                          "loc": {
                            "start": {
                              "line": 61,
                              "column": 12
                            },
                            "end": {
                              "line": 61,
                              "column": 24
                            },
                            "identifierName": "new_checksum"
                          },
                          "name": "new_checksum"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 1945,
                          "end": 1964,
                          "loc": {
                            "start": {
                              "line": 61,
                              "column": 27
                            },
                            "end": {
                              "line": 61,
                              "column": 46
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1945,
                            "end": 1951,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 27
                              },
                              "end": {
                                "line": 61,
                                "column": 33
                              },
                              "identifierName": "sha256"
                            },
                            "name": "sha256"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1952,
                              "end": 1963,
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 34
                                },
                                "end": {
                                  "line": 61,
                                  "column": 45
                                },
                                "identifierName": "private_key"
                              },
                              "name": "private_key"
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 1974,
                    "end": 2010,
                    "loc": {
                      "start": {
                        "line": 62,
                        "column": 8
                      },
                      "end": {
                        "line": 62,
                        "column": 44
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 1974,
                      "end": 2009,
                      "loc": {
                        "start": {
                          "line": 62,
                          "column": 8
                        },
                        "end": {
                          "line": 62,
                          "column": 43
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 1974,
                        "end": 1986,
                        "loc": {
                          "start": {
                            "line": 62,
                            "column": 8
                          },
                          "end": {
                            "line": 62,
                            "column": 20
                          },
                          "identifierName": "new_checksum"
                        },
                        "name": "new_checksum"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 1989,
                        "end": 2009,
                        "loc": {
                          "start": {
                            "line": 62,
                            "column": 23
                          },
                          "end": {
                            "line": 62,
                            "column": 43
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 1989,
                          "end": 1995,
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 23
                            },
                            "end": {
                              "line": 62,
                              "column": 29
                            },
                            "identifierName": "sha256"
                          },
                          "name": "sha256"
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 1996,
                            "end": 2008,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 30
                              },
                              "end": {
                                "line": 62,
                                "column": 42
                              },
                              "identifierName": "new_checksum"
                            },
                            "name": "new_checksum"
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 2019,
                    "end": 2059,
                    "loc": {
                      "start": {
                        "line": 63,
                        "column": 8
                      },
                      "end": {
                        "line": 63,
                        "column": 48
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 2019,
                      "end": 2058,
                      "loc": {
                        "start": {
                          "line": 63,
                          "column": 8
                        },
                        "end": {
                          "line": 63,
                          "column": 47
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 2019,
                        "end": 2031,
                        "loc": {
                          "start": {
                            "line": 63,
                            "column": 8
                          },
                          "end": {
                            "line": 63,
                            "column": 20
                          },
                          "identifierName": "new_checksum"
                        },
                        "name": "new_checksum"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 2034,
                        "end": 2058,
                        "loc": {
                          "start": {
                            "line": 63,
                            "column": 23
                          },
                          "end": {
                            "line": 63,
                            "column": 47
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2034,
                          "end": 2052,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 23
                            },
                            "end": {
                              "line": 63,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2034,
                            "end": 2046,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 23
                              },
                              "end": {
                                "line": 63,
                                "column": 35
                              },
                              "identifierName": "new_checksum"
                            },
                            "name": "new_checksum"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2047,
                            "end": 2052,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 36
                              },
                              "end": {
                                "line": 63,
                                "column": 41
                              },
                              "identifierName": "slice"
                            },
                            "name": "slice"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "NumericLiteral",
                            "start": 2053,
                            "end": 2054,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 42
                              },
                              "end": {
                                "line": 63,
                                "column": 43
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          },
                          {
                            "type": "NumericLiteral",
                            "start": 2056,
                            "end": 2057,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 45
                              },
                              "end": {
                                "line": 63,
                                "column": 46
                              }
                            },
                            "extra": {
                              "rawValue": 4,
                              "raw": "4"
                            },
                            "value": 4
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 2068,
                    "end": 2116,
                    "loc": {
                      "start": {
                        "line": 64,
                        "column": 8
                      },
                      "end": {
                        "line": 64,
                        "column": 56
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 2072,
                        "end": 2115,
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 12
                          },
                          "end": {
                            "line": 64,
                            "column": 55
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 2072,
                          "end": 2079,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 12
                            },
                            "end": {
                              "line": 64,
                              "column": 19
                            },
                            "identifierName": "isEqual"
                          },
                          "name": "isEqual"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 2082,
                          "end": 2115,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 22
                            },
                            "end": {
                              "line": 64,
                              "column": 55
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2082,
                            "end": 2091,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 22
                              },
                              "end": {
                                "line": 64,
                                "column": 31
                              },
                              "identifierName": "deepEqual"
                            },
                            "name": "deepEqual"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 2092,
                              "end": 2100,
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 32
                                },
                                "end": {
                                  "line": 64,
                                  "column": 40
                                },
                                "identifierName": "checksum"
                              },
                              "name": "checksum"
                            },
                            {
                              "type": "Identifier",
                              "start": 2102,
                              "end": 2114,
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 42
                                },
                                "end": {
                                  "line": 64,
                                  "column": 54
                                },
                                "identifierName": "new_checksum"
                              },
                              "name": "new_checksum"
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "var",
                    "trailingComments": [
                      {
                        "type": "CommentLine",
                        "value": ", 'Invalid checksum'",
                        "start": 2117,
                        "end": 2139,
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 57
                          },
                          "end": {
                            "line": 64,
                            "column": 79
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "IfStatement",
                    "start": 2148,
                    "end": 2228,
                    "loc": {
                      "start": {
                        "line": 65,
                        "column": 8
                      },
                      "end": {
                        "line": 67,
                        "column": 9
                      }
                    },
                    "test": {
                      "type": "UnaryExpression",
                      "start": 2152,
                      "end": 2160,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 12
                        },
                        "end": {
                          "line": 65,
                          "column": 20
                        }
                      },
                      "operator": "!",
                      "prefix": true,
                      "argument": {
                        "type": "Identifier",
                        "start": 2153,
                        "end": 2160,
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 13
                          },
                          "end": {
                            "line": 65,
                            "column": 20
                          },
                          "identifierName": "isEqual"
                        },
                        "name": "isEqual",
                        "leadingComments": null
                      },
                      "extra": {
                        "parenthesizedArgument": false
                      },
                      "leadingComments": null
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 2162,
                      "end": 2228,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 22
                        },
                        "end": {
                          "line": 67,
                          "column": 9
                        }
                      },
                      "body": [
                        {
                          "type": "ThrowStatement",
                          "start": 2176,
                          "end": 2218,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 12
                            },
                            "end": {
                              "line": 66,
                              "column": 54
                            }
                          },
                          "argument": {
                            "type": "NewExpression",
                            "start": 2182,
                            "end": 2217,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 18
                              },
                              "end": {
                                "line": 66,
                                "column": 53
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 2186,
                              "end": 2191,
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 22
                                },
                                "end": {
                                  "line": 66,
                                  "column": 27
                                },
                                "identifierName": "Error"
                              },
                              "name": "Error"
                            },
                            "arguments": [
                              {
                                "type": "StringLiteral",
                                "start": 2192,
                                "end": 2216,
                                "loc": {
                                  "start": {
                                    "line": 66,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 66,
                                    "column": 52
                                  }
                                },
                                "extra": {
                                  "rawValue": "Checksum did not match",
                                  "raw": "\"Checksum did not match\""
                                },
                                "value": "Checksum did not match"
                              }
                            ]
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": null,
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": ", 'Invalid checksum'",
                        "start": 2117,
                        "end": 2139,
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 57
                          },
                          "end": {
                            "line": 64,
                            "column": 79
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 2237,
                    "end": 2272,
                    "loc": {
                      "start": {
                        "line": 68,
                        "column": 8
                      },
                      "end": {
                        "line": 68,
                        "column": 43
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 2237,
                      "end": 2271,
                      "loc": {
                        "start": {
                          "line": 68,
                          "column": 8
                        },
                        "end": {
                          "line": 68,
                          "column": 42
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 2237,
                        "end": 2248,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 8
                          },
                          "end": {
                            "line": 68,
                            "column": 19
                          },
                          "identifierName": "private_key"
                        },
                        "name": "private_key"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 2251,
                        "end": 2271,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 22
                          },
                          "end": {
                            "line": 68,
                            "column": 42
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2251,
                          "end": 2268,
                          "loc": {
                            "start": {
                              "line": 68,
                              "column": 22
                            },
                            "end": {
                              "line": 68,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2251,
                            "end": 2262,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 22
                              },
                              "end": {
                                "line": 68,
                                "column": 33
                              },
                              "identifierName": "private_key"
                            },
                            "name": "private_key"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2263,
                            "end": 2268,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 34
                              },
                              "end": {
                                "line": 68,
                                "column": 39
                              },
                              "identifierName": "slice"
                            },
                            "name": "slice"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "NumericLiteral",
                            "start": 2269,
                            "end": 2270,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 40
                              },
                              "end": {
                                "line": 68,
                                "column": 41
                              }
                            },
                            "extra": {
                              "rawValue": 1,
                              "raw": "1"
                            },
                            "value": 1
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 2281,
                    "end": 2323,
                    "loc": {
                      "start": {
                        "line": 69,
                        "column": 8
                      },
                      "end": {
                        "line": 69,
                        "column": 50
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 2288,
                      "end": 2322,
                      "loc": {
                        "start": {
                          "line": 69,
                          "column": 15
                        },
                        "end": {
                          "line": 69,
                          "column": 49
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 2288,
                        "end": 2309,
                        "loc": {
                          "start": {
                            "line": 69,
                            "column": 15
                          },
                          "end": {
                            "line": 69,
                            "column": 36
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 2288,
                          "end": 2298,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 15
                            },
                            "end": {
                              "line": 69,
                              "column": 25
                            },
                            "identifierName": "PrivateKey"
                          },
                          "name": "PrivateKey"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2299,
                          "end": 2309,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 26
                            },
                            "end": {
                              "line": 69,
                              "column": 36
                            },
                            "identifierName": "fromBuffer"
                          },
                          "name": "fromBuffer"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 2310,
                          "end": 2321,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 37
                            },
                            "end": {
                              "line": 69,
                              "column": 48
                            },
                            "identifierName": "private_key"
                          },
                          "name": "private_key"
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "* @return {string} Wallet Import Format (still a secret, Not encrypted) ",
                  "start": 1423,
                  "end": 1499,
                  "loc": {
                    "start": {
                      "line": 49,
                      "column": 4
                    },
                    "end": {
                      "line": 49,
                      "column": 80
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 2335,
              "end": 2731,
              "loc": {
                "start": {
                  "line": 72,
                  "column": 4
                },
                "end": {
                  "line": 81,
                  "column": 5
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 2335,
                "end": 2340,
                "loc": {
                  "start": {
                    "line": 72,
                    "column": 4
                  },
                  "end": {
                    "line": 72,
                    "column": 9
                  },
                  "identifierName": "toWif"
                },
                "name": "toWif"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 2343,
                "end": 2731,
                "loc": {
                  "start": {
                    "line": 72,
                    "column": 12
                  },
                  "end": {
                    "line": 81,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 2353,
                    "end": 2387,
                    "loc": {
                      "start": {
                        "line": 73,
                        "column": 8
                      },
                      "end": {
                        "line": 73,
                        "column": 42
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 2357,
                        "end": 2386,
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 12
                          },
                          "end": {
                            "line": 73,
                            "column": 41
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 2357,
                          "end": 2368,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 12
                            },
                            "end": {
                              "line": 73,
                              "column": 23
                            },
                            "identifierName": "private_key"
                          },
                          "name": "private_key"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 2371,
                          "end": 2386,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 26
                            },
                            "end": {
                              "line": 73,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2371,
                            "end": 2384,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 26
                              },
                              "end": {
                                "line": 73,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2371,
                              "end": 2375,
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 26
                                },
                                "end": {
                                  "line": 73,
                                  "column": 30
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2376,
                              "end": 2384,
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 31
                                },
                                "end": {
                                  "line": 73,
                                  "column": 39
                                },
                                "identifierName": "toBuffer"
                              },
                              "name": "toBuffer"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    ],
                    "kind": "var",
                    "trailingComments": [
                      {
                        "type": "CommentLine",
                        "value": " checksum includes the version",
                        "start": 2396,
                        "end": 2428,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 8
                          },
                          "end": {
                            "line": 74,
                            "column": 40
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 2437,
                    "end": 2501,
                    "loc": {
                      "start": {
                        "line": 75,
                        "column": 8
                      },
                      "end": {
                        "line": 75,
                        "column": 72
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 2437,
                      "end": 2500,
                      "loc": {
                        "start": {
                          "line": 75,
                          "column": 8
                        },
                        "end": {
                          "line": 75,
                          "column": 71
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 2437,
                        "end": 2448,
                        "loc": {
                          "start": {
                            "line": 75,
                            "column": 8
                          },
                          "end": {
                            "line": 75,
                            "column": 19
                          },
                          "identifierName": "private_key"
                        },
                        "name": "private_key",
                        "leadingComments": null
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 2451,
                        "end": 2500,
                        "loc": {
                          "start": {
                            "line": 75,
                            "column": 22
                          },
                          "end": {
                            "line": 75,
                            "column": 71
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2451,
                          "end": 2464,
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 22
                            },
                            "end": {
                              "line": 75,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2451,
                            "end": 2457,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 22
                              },
                              "end": {
                                "line": 75,
                                "column": 28
                              },
                              "identifierName": "Buffer"
                            },
                            "name": "Buffer"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2458,
                            "end": 2464,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 29
                              },
                              "end": {
                                "line": 75,
                                "column": 35
                              },
                              "identifierName": "concat"
                            },
                            "name": "concat"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrayExpression",
                            "start": 2465,
                            "end": 2499,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 36
                              },
                              "end": {
                                "line": 75,
                                "column": 70
                              }
                            },
                            "elements": [
                              {
                                "type": "CallExpression",
                                "start": 2466,
                                "end": 2485,
                                "loc": {
                                  "start": {
                                    "line": 75,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 75,
                                    "column": 56
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 2466,
                                  "end": 2477,
                                  "loc": {
                                    "start": {
                                      "line": 75,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 75,
                                      "column": 48
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2466,
                                    "end": 2472,
                                    "loc": {
                                      "start": {
                                        "line": 75,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 75,
                                        "column": 43
                                      },
                                      "identifierName": "Buffer"
                                    },
                                    "name": "Buffer"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2473,
                                    "end": 2477,
                                    "loc": {
                                      "start": {
                                        "line": 75,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 75,
                                        "column": 48
                                      },
                                      "identifierName": "from"
                                    },
                                    "name": "from"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ArrayExpression",
                                    "start": 2478,
                                    "end": 2484,
                                    "loc": {
                                      "start": {
                                        "line": 75,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 75,
                                        "column": 55
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "NumericLiteral",
                                        "start": 2479,
                                        "end": 2483,
                                        "loc": {
                                          "start": {
                                            "line": 75,
                                            "column": 50
                                          },
                                          "end": {
                                            "line": 75,
                                            "column": 54
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 128,
                                          "raw": "0x80"
                                        },
                                        "value": 128
                                      }
                                    ]
                                  }
                                ]
                              },
                              {
                                "type": "Identifier",
                                "start": 2487,
                                "end": 2498,
                                "loc": {
                                  "start": {
                                    "line": 75,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 75,
                                    "column": 69
                                  },
                                  "identifierName": "private_key"
                                },
                                "name": "private_key"
                              }
                            ]
                          }
                        ]
                      },
                      "leadingComments": null
                    },
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": " checksum includes the version",
                        "start": 2396,
                        "end": 2428,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 8
                          },
                          "end": {
                            "line": 74,
                            "column": 40
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 2510,
                    "end": 2545,
                    "loc": {
                      "start": {
                        "line": 76,
                        "column": 8
                      },
                      "end": {
                        "line": 76,
                        "column": 43
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 2514,
                        "end": 2544,
                        "loc": {
                          "start": {
                            "line": 76,
                            "column": 12
                          },
                          "end": {
                            "line": 76,
                            "column": 42
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 2514,
                          "end": 2522,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 12
                            },
                            "end": {
                              "line": 76,
                              "column": 20
                            },
                            "identifierName": "checksum"
                          },
                          "name": "checksum"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 2525,
                          "end": 2544,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 23
                            },
                            "end": {
                              "line": 76,
                              "column": 42
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2525,
                            "end": 2531,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 23
                              },
                              "end": {
                                "line": 76,
                                "column": 29
                              },
                              "identifierName": "sha256"
                            },
                            "name": "sha256"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 2532,
                              "end": 2543,
                              "loc": {
                                "start": {
                                  "line": 76,
                                  "column": 30
                                },
                                "end": {
                                  "line": 76,
                                  "column": 41
                                },
                                "identifierName": "private_key"
                              },
                              "name": "private_key"
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 2554,
                    "end": 2582,
                    "loc": {
                      "start": {
                        "line": 77,
                        "column": 8
                      },
                      "end": {
                        "line": 77,
                        "column": 36
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 2554,
                      "end": 2581,
                      "loc": {
                        "start": {
                          "line": 77,
                          "column": 8
                        },
                        "end": {
                          "line": 77,
                          "column": 35
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 2554,
                        "end": 2562,
                        "loc": {
                          "start": {
                            "line": 77,
                            "column": 8
                          },
                          "end": {
                            "line": 77,
                            "column": 16
                          },
                          "identifierName": "checksum"
                        },
                        "name": "checksum"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 2565,
                        "end": 2581,
                        "loc": {
                          "start": {
                            "line": 77,
                            "column": 19
                          },
                          "end": {
                            "line": 77,
                            "column": 35
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 2565,
                          "end": 2571,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 19
                            },
                            "end": {
                              "line": 77,
                              "column": 25
                            },
                            "identifierName": "sha256"
                          },
                          "name": "sha256"
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 2572,
                            "end": 2580,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 26
                              },
                              "end": {
                                "line": 77,
                                "column": 34
                              },
                              "identifierName": "checksum"
                            },
                            "name": "checksum"
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 2591,
                    "end": 2623,
                    "loc": {
                      "start": {
                        "line": 78,
                        "column": 8
                      },
                      "end": {
                        "line": 78,
                        "column": 40
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 2591,
                      "end": 2622,
                      "loc": {
                        "start": {
                          "line": 78,
                          "column": 8
                        },
                        "end": {
                          "line": 78,
                          "column": 39
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 2591,
                        "end": 2599,
                        "loc": {
                          "start": {
                            "line": 78,
                            "column": 8
                          },
                          "end": {
                            "line": 78,
                            "column": 16
                          },
                          "identifierName": "checksum"
                        },
                        "name": "checksum"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 2602,
                        "end": 2622,
                        "loc": {
                          "start": {
                            "line": 78,
                            "column": 19
                          },
                          "end": {
                            "line": 78,
                            "column": 39
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2602,
                          "end": 2616,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 19
                            },
                            "end": {
                              "line": 78,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2602,
                            "end": 2610,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 19
                              },
                              "end": {
                                "line": 78,
                                "column": 27
                              },
                              "identifierName": "checksum"
                            },
                            "name": "checksum"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2611,
                            "end": 2616,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 28
                              },
                              "end": {
                                "line": 78,
                                "column": 33
                              },
                              "identifierName": "slice"
                            },
                            "name": "slice"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "NumericLiteral",
                            "start": 2617,
                            "end": 2618,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 34
                              },
                              "end": {
                                "line": 78,
                                "column": 35
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          },
                          {
                            "type": "NumericLiteral",
                            "start": 2620,
                            "end": 2621,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 37
                              },
                              "end": {
                                "line": 78,
                                "column": 38
                              }
                            },
                            "extra": {
                              "rawValue": 4,
                              "raw": "4"
                            },
                            "value": 4
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 2632,
                    "end": 2689,
                    "loc": {
                      "start": {
                        "line": 79,
                        "column": 8
                      },
                      "end": {
                        "line": 79,
                        "column": 65
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 2636,
                        "end": 2688,
                        "loc": {
                          "start": {
                            "line": 79,
                            "column": 12
                          },
                          "end": {
                            "line": 79,
                            "column": 64
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 2636,
                          "end": 2647,
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 12
                            },
                            "end": {
                              "line": 79,
                              "column": 23
                            },
                            "identifierName": "private_wif"
                          },
                          "name": "private_wif"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 2650,
                          "end": 2688,
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 26
                            },
                            "end": {
                              "line": 79,
                              "column": 64
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2650,
                            "end": 2663,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 26
                              },
                              "end": {
                                "line": 79,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2650,
                              "end": 2656,
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 26
                                },
                                "end": {
                                  "line": 79,
                                  "column": 32
                                },
                                "identifierName": "Buffer"
                              },
                              "name": "Buffer"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2657,
                              "end": 2663,
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 33
                                },
                                "end": {
                                  "line": 79,
                                  "column": 39
                                },
                                "identifierName": "concat"
                              },
                              "name": "concat"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ArrayExpression",
                              "start": 2664,
                              "end": 2687,
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 40
                                },
                                "end": {
                                  "line": 79,
                                  "column": 63
                                }
                              },
                              "elements": [
                                {
                                  "type": "Identifier",
                                  "start": 2665,
                                  "end": 2676,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 52
                                    },
                                    "identifierName": "private_key"
                                  },
                                  "name": "private_key"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 2678,
                                  "end": 2686,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 62
                                    },
                                    "identifierName": "checksum"
                                  },
                                  "name": "checksum"
                                }
                              ]
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 2698,
                    "end": 2725,
                    "loc": {
                      "start": {
                        "line": 80,
                        "column": 8
                      },
                      "end": {
                        "line": 80,
                        "column": 35
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 2705,
                      "end": 2724,
                      "loc": {
                        "start": {
                          "line": 80,
                          "column": 15
                        },
                        "end": {
                          "line": 80,
                          "column": 34
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 2705,
                        "end": 2711,
                        "loc": {
                          "start": {
                            "line": 80,
                            "column": 15
                          },
                          "end": {
                            "line": 80,
                            "column": 21
                          },
                          "identifierName": "encode"
                        },
                        "name": "encode"
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 2712,
                          "end": 2723,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 22
                            },
                            "end": {
                              "line": 80,
                              "column": 33
                            },
                            "identifierName": "private_wif"
                          },
                          "name": "private_wif"
                        }
                      ]
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\n        @return {Point}\n    ",
                  "start": 2737,
                  "end": 2771,
                  "loc": {
                    "start": {
                      "line": 83,
                      "column": 4
                    },
                    "end": {
                      "line": 85,
                      "column": 6
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 2776,
              "end": 2847,
              "loc": {
                "start": {
                  "line": 86,
                  "column": 4
                },
                "end": {
                  "line": 88,
                  "column": 5
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 2776,
                "end": 2792,
                "loc": {
                  "start": {
                    "line": 86,
                    "column": 4
                  },
                  "end": {
                    "line": 86,
                    "column": 20
                  },
                  "identifierName": "toPublicKeyPoint"
                },
                "name": "toPublicKeyPoint",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 2795,
                "end": 2847,
                "loc": {
                  "start": {
                    "line": 86,
                    "column": 23
                  },
                  "end": {
                    "line": 88,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 2805,
                    "end": 2841,
                    "loc": {
                      "start": {
                        "line": 87,
                        "column": 8
                      },
                      "end": {
                        "line": 87,
                        "column": 44
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 2812,
                      "end": 2840,
                      "loc": {
                        "start": {
                          "line": 87,
                          "column": 15
                        },
                        "end": {
                          "line": 87,
                          "column": 43
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 2812,
                        "end": 2832,
                        "loc": {
                          "start": {
                            "line": 87,
                            "column": 15
                          },
                          "end": {
                            "line": 87,
                            "column": 35
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 2812,
                          "end": 2823,
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 15
                            },
                            "end": {
                              "line": 87,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2812,
                            "end": 2821,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 15
                              },
                              "end": {
                                "line": 87,
                                "column": 24
                              },
                              "identifierName": "secp256k1"
                            },
                            "name": "secp256k1"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2822,
                            "end": 2823,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 25
                              },
                              "end": {
                                "line": 87,
                                "column": 26
                              },
                              "identifierName": "G"
                            },
                            "name": "G"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2824,
                          "end": 2832,
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 27
                            },
                            "end": {
                              "line": 87,
                              "column": 35
                            },
                            "identifierName": "multiply"
                          },
                          "name": "multiply"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "MemberExpression",
                          "start": 2833,
                          "end": 2839,
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 36
                            },
                            "end": {
                              "line": 87,
                              "column": 42
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2833,
                            "end": 2837,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 36
                              },
                              "end": {
                                "line": 87,
                                "column": 40
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2838,
                            "end": 2839,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 41
                              },
                              "end": {
                                "line": 87,
                                "column": 42
                              },
                              "identifierName": "d"
                            },
                            "name": "d"
                          },
                          "computed": false
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\n        @return {Point}\n    ",
                  "start": 2737,
                  "end": 2771,
                  "loc": {
                    "start": {
                      "line": 83,
                      "column": 4
                    },
                    "end": {
                      "line": 85,
                      "column": 6
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 2853,
              "end": 3032,
              "loc": {
                "start": {
                  "line": 90,
                  "column": 4
                },
                "end": {
                  "line": 95,
                  "column": 5
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 2853,
                "end": 2864,
                "loc": {
                  "start": {
                    "line": 90,
                    "column": 4
                  },
                  "end": {
                    "line": 90,
                    "column": 15
                  },
                  "identifierName": "toPublicKey"
                },
                "name": "toPublicKey"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 2867,
                "end": 3032,
                "loc": {
                  "start": {
                    "line": 90,
                    "column": 18
                  },
                  "end": {
                    "line": 95,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "IfStatement",
                    "start": 2877,
                    "end": 2945,
                    "loc": {
                      "start": {
                        "line": 91,
                        "column": 8
                      },
                      "end": {
                        "line": 93,
                        "column": 9
                      }
                    },
                    "test": {
                      "type": "MemberExpression",
                      "start": 2881,
                      "end": 2896,
                      "loc": {
                        "start": {
                          "line": 91,
                          "column": 12
                        },
                        "end": {
                          "line": 91,
                          "column": 27
                        }
                      },
                      "object": {
                        "type": "ThisExpression",
                        "start": 2881,
                        "end": 2885,
                        "loc": {
                          "start": {
                            "line": 91,
                            "column": 12
                          },
                          "end": {
                            "line": 91,
                            "column": 16
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2886,
                        "end": 2896,
                        "loc": {
                          "start": {
                            "line": 91,
                            "column": 17
                          },
                          "end": {
                            "line": 91,
                            "column": 27
                          },
                          "identifierName": "public_key"
                        },
                        "name": "public_key"
                      },
                      "computed": false
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 2898,
                      "end": 2945,
                      "loc": {
                        "start": {
                          "line": 91,
                          "column": 29
                        },
                        "end": {
                          "line": 93,
                          "column": 9
                        }
                      },
                      "body": [
                        {
                          "type": "ReturnStatement",
                          "start": 2912,
                          "end": 2935,
                          "loc": {
                            "start": {
                              "line": 92,
                              "column": 12
                            },
                            "end": {
                              "line": 92,
                              "column": 35
                            }
                          },
                          "argument": {
                            "type": "MemberExpression",
                            "start": 2919,
                            "end": 2934,
                            "loc": {
                              "start": {
                                "line": 92,
                                "column": 19
                              },
                              "end": {
                                "line": 92,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2919,
                              "end": 2923,
                              "loc": {
                                "start": {
                                  "line": 92,
                                  "column": 19
                                },
                                "end": {
                                  "line": 92,
                                  "column": 23
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2924,
                              "end": 2934,
                              "loc": {
                                "start": {
                                  "line": 92,
                                  "column": 24
                                },
                                "end": {
                                  "line": 92,
                                  "column": 34
                                },
                                "identifierName": "public_key"
                              },
                              "name": "public_key"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": null
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 2954,
                    "end": 3026,
                    "loc": {
                      "start": {
                        "line": 94,
                        "column": 8
                      },
                      "end": {
                        "line": 94,
                        "column": 80
                      }
                    },
                    "argument": {
                      "type": "AssignmentExpression",
                      "start": 2962,
                      "end": 3024,
                      "loc": {
                        "start": {
                          "line": 94,
                          "column": 16
                        },
                        "end": {
                          "line": 94,
                          "column": 78
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 2962,
                        "end": 2977,
                        "loc": {
                          "start": {
                            "line": 94,
                            "column": 16
                          },
                          "end": {
                            "line": 94,
                            "column": 31
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 2962,
                          "end": 2966,
                          "loc": {
                            "start": {
                              "line": 94,
                              "column": 16
                            },
                            "end": {
                              "line": 94,
                              "column": 20
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2967,
                          "end": 2977,
                          "loc": {
                            "start": {
                              "line": 94,
                              "column": 21
                            },
                            "end": {
                              "line": 94,
                              "column": 31
                            },
                            "identifierName": "public_key"
                          },
                          "name": "public_key"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 2980,
                        "end": 3024,
                        "loc": {
                          "start": {
                            "line": 94,
                            "column": 34
                          },
                          "end": {
                            "line": 94,
                            "column": 78
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2980,
                          "end": 2999,
                          "loc": {
                            "start": {
                              "line": 94,
                              "column": 34
                            },
                            "end": {
                              "line": 94,
                              "column": 53
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2980,
                            "end": 2989,
                            "loc": {
                              "start": {
                                "line": 94,
                                "column": 34
                              },
                              "end": {
                                "line": 94,
                                "column": 43
                              },
                              "identifierName": "PublicKey"
                            },
                            "name": "PublicKey"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2990,
                            "end": 2999,
                            "loc": {
                              "start": {
                                "line": 94,
                                "column": 44
                              },
                              "end": {
                                "line": 94,
                                "column": 53
                              },
                              "identifierName": "fromPoint"
                            },
                            "name": "fromPoint"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 3000,
                            "end": 3023,
                            "loc": {
                              "start": {
                                "line": 94,
                                "column": 54
                              },
                              "end": {
                                "line": 94,
                                "column": 77
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 3000,
                              "end": 3021,
                              "loc": {
                                "start": {
                                  "line": 94,
                                  "column": 54
                                },
                                "end": {
                                  "line": 94,
                                  "column": 75
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 3000,
                                "end": 3004,
                                "loc": {
                                  "start": {
                                    "line": 94,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 94,
                                    "column": 58
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3005,
                                "end": 3021,
                                "loc": {
                                  "start": {
                                    "line": 94,
                                    "column": 59
                                  },
                                  "end": {
                                    "line": 94,
                                    "column": 75
                                  },
                                  "identifierName": "toPublicKeyPoint"
                                },
                                "name": "toPublicKeyPoint"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        ]
                      },
                      "extra": {
                        "parenthesized": true,
                        "parenStart": 2961
                      }
                    }
                  }
                ],
                "directives": []
              }
            },
            {
              "type": "ClassMethod",
              "start": 3038,
              "end": 3092,
              "loc": {
                "start": {
                  "line": 97,
                  "column": 4
                },
                "end": {
                  "line": 99,
                  "column": 5
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3038,
                "end": 3046,
                "loc": {
                  "start": {
                    "line": 97,
                    "column": 4
                  },
                  "end": {
                    "line": 97,
                    "column": 12
                  },
                  "identifierName": "toBuffer"
                },
                "name": "toBuffer"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 3049,
                "end": 3092,
                "loc": {
                  "start": {
                    "line": 97,
                    "column": 15
                  },
                  "end": {
                    "line": 99,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 3059,
                    "end": 3086,
                    "loc": {
                      "start": {
                        "line": 98,
                        "column": 8
                      },
                      "end": {
                        "line": 98,
                        "column": 35
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 3066,
                      "end": 3085,
                      "loc": {
                        "start": {
                          "line": 98,
                          "column": 15
                        },
                        "end": {
                          "line": 98,
                          "column": 34
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 3066,
                        "end": 3081,
                        "loc": {
                          "start": {
                            "line": 98,
                            "column": 15
                          },
                          "end": {
                            "line": 98,
                            "column": 30
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 3066,
                          "end": 3072,
                          "loc": {
                            "start": {
                              "line": 98,
                              "column": 15
                            },
                            "end": {
                              "line": 98,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3066,
                            "end": 3070,
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 15
                              },
                              "end": {
                                "line": 98,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3071,
                            "end": 3072,
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 20
                              },
                              "end": {
                                "line": 98,
                                "column": 21
                              },
                              "identifierName": "d"
                            },
                            "name": "d"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3073,
                          "end": 3081,
                          "loc": {
                            "start": {
                              "line": 98,
                              "column": 22
                            },
                            "end": {
                              "line": 98,
                              "column": 30
                            },
                            "identifierName": "toBuffer"
                          },
                          "name": "toBuffer"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "NumericLiteral",
                          "start": 3082,
                          "end": 3084,
                          "loc": {
                            "start": {
                              "line": 98,
                              "column": 31
                            },
                            "end": {
                              "line": 98,
                              "column": 33
                            }
                          },
                          "extra": {
                            "rawValue": 32,
                            "raw": "32"
                          },
                          "value": 32
                        }
                      ]
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "* ECIES ",
                  "start": 3098,
                  "end": 3110,
                  "loc": {
                    "start": {
                      "line": 101,
                      "column": 4
                    },
                    "end": {
                      "line": 101,
                      "column": 16
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 3115,
              "end": 4048,
              "loc": {
                "start": {
                  "line": 102,
                  "column": 4
                },
                "end": {
                  "line": 125,
                  "column": 5
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3115,
                "end": 3132,
                "loc": {
                  "start": {
                    "line": 102,
                    "column": 4
                  },
                  "end": {
                    "line": 102,
                    "column": 21
                  },
                  "identifierName": "get_shared_secret"
                },
                "name": "get_shared_secret",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 3133,
                  "end": 3143,
                  "loc": {
                    "start": {
                      "line": 102,
                      "column": 22
                    },
                    "end": {
                      "line": 102,
                      "column": 32
                    },
                    "identifierName": "public_key"
                  },
                  "name": "public_key"
                },
                {
                  "type": "AssignmentPattern",
                  "start": 3145,
                  "end": 3159,
                  "loc": {
                    "start": {
                      "line": 102,
                      "column": 34
                    },
                    "end": {
                      "line": 102,
                      "column": 48
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 3145,
                    "end": 3151,
                    "loc": {
                      "start": {
                        "line": 102,
                        "column": 34
                      },
                      "end": {
                        "line": 102,
                        "column": 40
                      },
                      "identifierName": "legacy"
                    },
                    "name": "legacy"
                  },
                  "right": {
                    "type": "BooleanLiteral",
                    "start": 3154,
                    "end": 3159,
                    "loc": {
                      "start": {
                        "line": 102,
                        "column": 43
                      },
                      "end": {
                        "line": 102,
                        "column": 48
                      }
                    },
                    "value": false
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 3161,
                "end": 4048,
                "loc": {
                  "start": {
                    "line": 102,
                    "column": 50
                  },
                  "end": {
                    "line": 125,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 3171,
                    "end": 3205,
                    "loc": {
                      "start": {
                        "line": 103,
                        "column": 8
                      },
                      "end": {
                        "line": 103,
                        "column": 42
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 3171,
                      "end": 3204,
                      "loc": {
                        "start": {
                          "line": 103,
                          "column": 8
                        },
                        "end": {
                          "line": 103,
                          "column": 41
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 3171,
                        "end": 3181,
                        "loc": {
                          "start": {
                            "line": 103,
                            "column": 8
                          },
                          "end": {
                            "line": 103,
                            "column": 18
                          },
                          "identifierName": "public_key"
                        },
                        "name": "public_key"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 3184,
                        "end": 3204,
                        "loc": {
                          "start": {
                            "line": 103,
                            "column": 21
                          },
                          "end": {
                            "line": 103,
                            "column": 41
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 3184,
                          "end": 3192,
                          "loc": {
                            "start": {
                              "line": 103,
                              "column": 21
                            },
                            "end": {
                              "line": 103,
                              "column": 29
                            },
                            "identifierName": "toPublic"
                          },
                          "name": "toPublic"
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 3193,
                            "end": 3203,
                            "loc": {
                              "start": {
                                "line": 103,
                                "column": 30
                              },
                              "end": {
                                "line": 103,
                                "column": 40
                              },
                              "identifierName": "public_key"
                            },
                            "name": "public_key"
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 3214,
                    "end": 3262,
                    "loc": {
                      "start": {
                        "line": 104,
                        "column": 8
                      },
                      "end": {
                        "line": 104,
                        "column": 56
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 3218,
                        "end": 3261,
                        "loc": {
                          "start": {
                            "line": 104,
                            "column": 12
                          },
                          "end": {
                            "line": 104,
                            "column": 55
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 3218,
                          "end": 3220,
                          "loc": {
                            "start": {
                              "line": 104,
                              "column": 12
                            },
                            "end": {
                              "line": 104,
                              "column": 14
                            },
                            "identifierName": "KB"
                          },
                          "name": "KB"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 3223,
                          "end": 3261,
                          "loc": {
                            "start": {
                              "line": 104,
                              "column": 17
                            },
                            "end": {
                              "line": 104,
                              "column": 55
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 3223,
                            "end": 3259,
                            "loc": {
                              "start": {
                                "line": 104,
                                "column": 17
                              },
                              "end": {
                                "line": 104,
                                "column": 53
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 3223,
                              "end": 3250,
                              "loc": {
                                "start": {
                                  "line": 104,
                                  "column": 17
                                },
                                "end": {
                                  "line": 104,
                                  "column": 44
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 3223,
                                "end": 3248,
                                "loc": {
                                  "start": {
                                    "line": 104,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 104,
                                    "column": 42
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3223,
                                  "end": 3233,
                                  "loc": {
                                    "start": {
                                      "line": 104,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 104,
                                      "column": 27
                                    },
                                    "identifierName": "public_key"
                                  },
                                  "name": "public_key"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3234,
                                  "end": 3248,
                                  "loc": {
                                    "start": {
                                      "line": 104,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 104,
                                      "column": 42
                                    },
                                    "identifierName": "toUncompressed"
                                  },
                                  "name": "toUncompressed"
                                },
                                "computed": false
                              },
                              "arguments": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3251,
                              "end": 3259,
                              "loc": {
                                "start": {
                                  "line": 104,
                                  "column": 45
                                },
                                "end": {
                                  "line": 104,
                                  "column": 53
                                },
                                "identifierName": "toBuffer"
                              },
                              "name": "toBuffer"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 3271,
                    "end": 3446,
                    "loc": {
                      "start": {
                        "line": 105,
                        "column": 8
                      },
                      "end": {
                        "line": 109,
                        "column": 10
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 3275,
                        "end": 3445,
                        "loc": {
                          "start": {
                            "line": 105,
                            "column": 12
                          },
                          "end": {
                            "line": 109,
                            "column": 9
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 3275,
                          "end": 3278,
                          "loc": {
                            "start": {
                              "line": 105,
                              "column": 12
                            },
                            "end": {
                              "line": 105,
                              "column": 15
                            },
                            "identifierName": "KBP"
                          },
                          "name": "KBP"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 3281,
                          "end": 3445,
                          "loc": {
                            "start": {
                              "line": 105,
                              "column": 18
                            },
                            "end": {
                              "line": 109,
                              "column": 9
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 3281,
                            "end": 3297,
                            "loc": {
                              "start": {
                                "line": 105,
                                "column": 18
                              },
                              "end": {
                                "line": 105,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3281,
                              "end": 3286,
                              "loc": {
                                "start": {
                                  "line": 105,
                                  "column": 18
                                },
                                "end": {
                                  "line": 105,
                                  "column": 23
                                },
                                "identifierName": "Point"
                              },
                              "name": "Point"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3287,
                              "end": 3297,
                              "loc": {
                                "start": {
                                  "line": 105,
                                  "column": 24
                                },
                                "end": {
                                  "line": 105,
                                  "column": 34
                                },
                                "identifierName": "fromAffine"
                              },
                              "name": "fromAffine"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 3311,
                              "end": 3320,
                              "loc": {
                                "start": {
                                  "line": 106,
                                  "column": 12
                                },
                                "end": {
                                  "line": 106,
                                  "column": 21
                                },
                                "identifierName": "secp256k1"
                              },
                              "name": "secp256k1"
                            },
                            {
                              "type": "CallExpression",
                              "start": 3334,
                              "end": 3372,
                              "loc": {
                                "start": {
                                  "line": 107,
                                  "column": 12
                                },
                                "end": {
                                  "line": 107,
                                  "column": 50
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 3334,
                                "end": 3355,
                                "loc": {
                                  "start": {
                                    "line": 107,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 107,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3334,
                                  "end": 3344,
                                  "loc": {
                                    "start": {
                                      "line": 107,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 107,
                                      "column": 22
                                    },
                                    "identifierName": "BigInteger"
                                  },
                                  "name": "BigInteger"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3345,
                                  "end": 3355,
                                  "loc": {
                                    "start": {
                                      "line": 107,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 107,
                                      "column": 33
                                    },
                                    "identifierName": "fromBuffer"
                                  },
                                  "name": "fromBuffer"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "CallExpression",
                                  "start": 3356,
                                  "end": 3371,
                                  "loc": {
                                    "start": {
                                      "line": 107,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 107,
                                      "column": 49
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 3356,
                                    "end": 3364,
                                    "loc": {
                                      "start": {
                                        "line": 107,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 42
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 3356,
                                      "end": 3358,
                                      "loc": {
                                        "start": {
                                          "line": 107,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 107,
                                          "column": 36
                                        },
                                        "identifierName": "KB"
                                      },
                                      "name": "KB"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3359,
                                      "end": 3364,
                                      "loc": {
                                        "start": {
                                          "line": 107,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 107,
                                          "column": 42
                                        },
                                        "identifierName": "slice"
                                      },
                                      "name": "slice"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "NumericLiteral",
                                      "start": 3365,
                                      "end": 3366,
                                      "loc": {
                                        "start": {
                                          "line": 107,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 107,
                                          "column": 44
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 1,
                                        "raw": "1"
                                      },
                                      "value": 1
                                    },
                                    {
                                      "type": "NumericLiteral",
                                      "start": 3368,
                                      "end": 3370,
                                      "loc": {
                                        "start": {
                                          "line": 107,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 107,
                                          "column": 48
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 33,
                                        "raw": "33"
                                      },
                                      "value": 33
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "CallExpression",
                              "start": 3391,
                              "end": 3430,
                              "loc": {
                                "start": {
                                  "line": 108,
                                  "column": 12
                                },
                                "end": {
                                  "line": 108,
                                  "column": 51
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 3391,
                                "end": 3412,
                                "loc": {
                                  "start": {
                                    "line": 108,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 108,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3391,
                                  "end": 3401,
                                  "loc": {
                                    "start": {
                                      "line": 108,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 108,
                                      "column": 22
                                    },
                                    "identifierName": "BigInteger"
                                  },
                                  "name": "BigInteger",
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3402,
                                  "end": 3412,
                                  "loc": {
                                    "start": {
                                      "line": 108,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 108,
                                      "column": 33
                                    },
                                    "identifierName": "fromBuffer"
                                  },
                                  "name": "fromBuffer"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "arguments": [
                                {
                                  "type": "CallExpression",
                                  "start": 3413,
                                  "end": 3429,
                                  "loc": {
                                    "start": {
                                      "line": 108,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 108,
                                      "column": 50
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 3413,
                                    "end": 3421,
                                    "loc": {
                                      "start": {
                                        "line": 108,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 108,
                                        "column": 42
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 3413,
                                      "end": 3415,
                                      "loc": {
                                        "start": {
                                          "line": 108,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 108,
                                          "column": 36
                                        },
                                        "identifierName": "KB"
                                      },
                                      "name": "KB"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3416,
                                      "end": 3421,
                                      "loc": {
                                        "start": {
                                          "line": 108,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 108,
                                          "column": 42
                                        },
                                        "identifierName": "slice"
                                      },
                                      "name": "slice"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "NumericLiteral",
                                      "start": 3422,
                                      "end": 3424,
                                      "loc": {
                                        "start": {
                                          "line": 108,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 108,
                                          "column": 45
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 33,
                                        "raw": "33"
                                      },
                                      "value": 33
                                    },
                                    {
                                      "type": "NumericLiteral",
                                      "start": 3426,
                                      "end": 3428,
                                      "loc": {
                                        "start": {
                                          "line": 108,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 108,
                                          "column": 49
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 65,
                                        "raw": "65"
                                      },
                                      "value": 65
                                    }
                                  ]
                                }
                              ],
                              "leadingComments": [
                                {
                                  "type": "CommentLine",
                                  "value": " x",
                                  "start": 3374,
                                  "end": 3378,
                                  "loc": {
                                    "start": {
                                      "line": 107,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 107,
                                      "column": 56
                                    }
                                  }
                                }
                              ],
                              "trailingComments": [
                                {
                                  "type": "CommentLine",
                                  "value": " y",
                                  "start": 3431,
                                  "end": 3435,
                                  "loc": {
                                    "start": {
                                      "line": 108,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 108,
                                      "column": 56
                                    }
                                  }
                                }
                              ]
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 3455,
                    "end": 3479,
                    "loc": {
                      "start": {
                        "line": 110,
                        "column": 8
                      },
                      "end": {
                        "line": 110,
                        "column": 32
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 3459,
                        "end": 3478,
                        "loc": {
                          "start": {
                            "line": 110,
                            "column": 12
                          },
                          "end": {
                            "line": 110,
                            "column": 31
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 3459,
                          "end": 3460,
                          "loc": {
                            "start": {
                              "line": 110,
                              "column": 12
                            },
                            "end": {
                              "line": 110,
                              "column": 13
                            },
                            "identifierName": "r"
                          },
                          "name": "r"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 3463,
                          "end": 3478,
                          "loc": {
                            "start": {
                              "line": 110,
                              "column": 16
                            },
                            "end": {
                              "line": 110,
                              "column": 31
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 3463,
                            "end": 3476,
                            "loc": {
                              "start": {
                                "line": 110,
                                "column": 16
                              },
                              "end": {
                                "line": 110,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 3463,
                              "end": 3467,
                              "loc": {
                                "start": {
                                  "line": 110,
                                  "column": 16
                                },
                                "end": {
                                  "line": 110,
                                  "column": 20
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3468,
                              "end": 3476,
                              "loc": {
                                "start": {
                                  "line": 110,
                                  "column": 21
                                },
                                "end": {
                                  "line": 110,
                                  "column": 29
                                },
                                "identifierName": "toBuffer"
                              },
                              "name": "toBuffer"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 3488,
                    "end": 3535,
                    "loc": {
                      "start": {
                        "line": 111,
                        "column": 8
                      },
                      "end": {
                        "line": 111,
                        "column": 55
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 3492,
                        "end": 3534,
                        "loc": {
                          "start": {
                            "line": 111,
                            "column": 12
                          },
                          "end": {
                            "line": 111,
                            "column": 54
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 3492,
                          "end": 3493,
                          "loc": {
                            "start": {
                              "line": 111,
                              "column": 12
                            },
                            "end": {
                              "line": 111,
                              "column": 13
                            },
                            "identifierName": "P"
                          },
                          "name": "P"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 3496,
                          "end": 3534,
                          "loc": {
                            "start": {
                              "line": 111,
                              "column": 16
                            },
                            "end": {
                              "line": 111,
                              "column": 54
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 3496,
                            "end": 3508,
                            "loc": {
                              "start": {
                                "line": 111,
                                "column": 16
                              },
                              "end": {
                                "line": 111,
                                "column": 28
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3496,
                              "end": 3499,
                              "loc": {
                                "start": {
                                  "line": 111,
                                  "column": 16
                                },
                                "end": {
                                  "line": 111,
                                  "column": 19
                                },
                                "identifierName": "KBP"
                              },
                              "name": "KBP"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3500,
                              "end": 3508,
                              "loc": {
                                "start": {
                                  "line": 111,
                                  "column": 20
                                },
                                "end": {
                                  "line": 111,
                                  "column": 28
                                },
                                "identifierName": "multiply"
                              },
                              "name": "multiply"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 3509,
                              "end": 3533,
                              "loc": {
                                "start": {
                                  "line": 111,
                                  "column": 29
                                },
                                "end": {
                                  "line": 111,
                                  "column": 53
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 3509,
                                "end": 3530,
                                "loc": {
                                  "start": {
                                    "line": 111,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 111,
                                    "column": 50
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3509,
                                  "end": 3519,
                                  "loc": {
                                    "start": {
                                      "line": 111,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 111,
                                      "column": 39
                                    },
                                    "identifierName": "BigInteger"
                                  },
                                  "name": "BigInteger"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3520,
                                  "end": 3530,
                                  "loc": {
                                    "start": {
                                      "line": 111,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 111,
                                      "column": 50
                                    },
                                    "identifierName": "fromBuffer"
                                  },
                                  "name": "fromBuffer"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 3531,
                                  "end": 3532,
                                  "loc": {
                                    "start": {
                                      "line": 111,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 111,
                                      "column": 52
                                    },
                                    "identifierName": "r"
                                  },
                                  "name": "r"
                                }
                              ]
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 3544,
                    "end": 3583,
                    "loc": {
                      "start": {
                        "line": 112,
                        "column": 8
                      },
                      "end": {
                        "line": 112,
                        "column": 47
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 3548,
                        "end": 3582,
                        "loc": {
                          "start": {
                            "line": 112,
                            "column": 12
                          },
                          "end": {
                            "line": 112,
                            "column": 46
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 3548,
                          "end": 3549,
                          "loc": {
                            "start": {
                              "line": 112,
                              "column": 12
                            },
                            "end": {
                              "line": 112,
                              "column": 13
                            },
                            "identifierName": "S"
                          },
                          "name": "S"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 3552,
                          "end": 3582,
                          "loc": {
                            "start": {
                              "line": 112,
                              "column": 16
                            },
                            "end": {
                              "line": 112,
                              "column": 46
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 3552,
                            "end": 3570,
                            "loc": {
                              "start": {
                                "line": 112,
                                "column": 16
                              },
                              "end": {
                                "line": 112,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 3552,
                              "end": 3561,
                              "loc": {
                                "start": {
                                  "line": 112,
                                  "column": 16
                                },
                                "end": {
                                  "line": 112,
                                  "column": 25
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3552,
                                "end": 3553,
                                "loc": {
                                  "start": {
                                    "line": 112,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 112,
                                    "column": 17
                                  },
                                  "identifierName": "P"
                                },
                                "name": "P"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3554,
                                "end": 3561,
                                "loc": {
                                  "start": {
                                    "line": 112,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 112,
                                    "column": 25
                                  },
                                  "identifierName": "affineX"
                                },
                                "name": "affineX"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3562,
                              "end": 3570,
                              "loc": {
                                "start": {
                                  "line": 112,
                                  "column": 26
                                },
                                "end": {
                                  "line": 112,
                                  "column": 34
                                },
                                "identifierName": "toBuffer"
                              },
                              "name": "toBuffer"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ObjectExpression",
                              "start": 3571,
                              "end": 3581,
                              "loc": {
                                "start": {
                                  "line": 112,
                                  "column": 35
                                },
                                "end": {
                                  "line": 112,
                                  "column": 45
                                }
                              },
                              "properties": [
                                {
                                  "type": "ObjectProperty",
                                  "start": 3572,
                                  "end": 3580,
                                  "loc": {
                                    "start": {
                                      "line": 112,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 112,
                                      "column": 44
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 3572,
                                    "end": 3576,
                                    "loc": {
                                      "start": {
                                        "line": 112,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 112,
                                        "column": 40
                                      },
                                      "identifierName": "size"
                                    },
                                    "name": "size"
                                  },
                                  "value": {
                                    "type": "NumericLiteral",
                                    "start": 3578,
                                    "end": 3580,
                                    "loc": {
                                      "start": {
                                        "line": 112,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 112,
                                        "column": 44
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 32,
                                      "raw": "32"
                                    },
                                    "value": 32
                                  }
                                }
                              ]
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "let",
                    "trailingComments": [
                      {
                        "type": "CommentBlock",
                        "value": "\n        the input to sha512 must be exactly 32-bytes, to match the c++ implementation\n        of get_shared_secret.  Right now S will be shorter if the most significant\n        byte(s) is zero.  Pad it back to the full 32-bytes\n        ",
                        "start": 3592,
                        "end": 3833,
                        "loc": {
                          "start": {
                            "line": 113,
                            "column": 8
                          },
                          "end": {
                            "line": 117,
                            "column": 10
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "IfStatement",
                    "start": 3842,
                    "end": 3983,
                    "loc": {
                      "start": {
                        "line": 118,
                        "column": 8
                      },
                      "end": {
                        "line": 121,
                        "column": 9
                      }
                    },
                    "test": {
                      "type": "LogicalExpression",
                      "start": 3846,
                      "end": 3870,
                      "loc": {
                        "start": {
                          "line": 118,
                          "column": 12
                        },
                        "end": {
                          "line": 118,
                          "column": 36
                        }
                      },
                      "left": {
                        "type": "UnaryExpression",
                        "start": 3846,
                        "end": 3853,
                        "loc": {
                          "start": {
                            "line": 118,
                            "column": 12
                          },
                          "end": {
                            "line": 118,
                            "column": 19
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 3847,
                          "end": 3853,
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 13
                            },
                            "end": {
                              "line": 118,
                              "column": 19
                            },
                            "identifierName": "legacy"
                          },
                          "name": "legacy",
                          "leadingComments": null
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        },
                        "leadingComments": null
                      },
                      "operator": "&&",
                      "right": {
                        "type": "BinaryExpression",
                        "start": 3857,
                        "end": 3870,
                        "loc": {
                          "start": {
                            "line": 118,
                            "column": 23
                          },
                          "end": {
                            "line": 118,
                            "column": 36
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 3857,
                          "end": 3865,
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 23
                            },
                            "end": {
                              "line": 118,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3857,
                            "end": 3858,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 23
                              },
                              "end": {
                                "line": 118,
                                "column": 24
                              },
                              "identifierName": "S"
                            },
                            "name": "S"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3859,
                            "end": 3865,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 25
                              },
                              "end": {
                                "line": 118,
                                "column": 31
                              },
                              "identifierName": "length"
                            },
                            "name": "length"
                          },
                          "computed": false
                        },
                        "operator": "<",
                        "right": {
                          "type": "NumericLiteral",
                          "start": 3868,
                          "end": 3870,
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 34
                            },
                            "end": {
                              "line": 118,
                              "column": 36
                            }
                          },
                          "extra": {
                            "rawValue": 32,
                            "raw": "32"
                          },
                          "value": 32
                        }
                      },
                      "leadingComments": null
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 3872,
                      "end": 3983,
                      "loc": {
                        "start": {
                          "line": 118,
                          "column": 38
                        },
                        "end": {
                          "line": 121,
                          "column": 9
                        }
                      },
                      "body": [
                        {
                          "type": "VariableDeclaration",
                          "start": 3886,
                          "end": 3932,
                          "loc": {
                            "start": {
                              "line": 119,
                              "column": 12
                            },
                            "end": {
                              "line": 119,
                              "column": 58
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 3890,
                              "end": 3931,
                              "loc": {
                                "start": {
                                  "line": 119,
                                  "column": 16
                                },
                                "end": {
                                  "line": 119,
                                  "column": 57
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 3890,
                                "end": 3893,
                                "loc": {
                                  "start": {
                                    "line": 119,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 119,
                                    "column": 19
                                  },
                                  "identifierName": "pad"
                                },
                                "name": "pad"
                              },
                              "init": {
                                "type": "CallExpression",
                                "start": 3896,
                                "end": 3931,
                                "loc": {
                                  "start": {
                                    "line": 119,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 119,
                                    "column": 57
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3896,
                                  "end": 3928,
                                  "loc": {
                                    "start": {
                                      "line": 119,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 119,
                                      "column": 54
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 3896,
                                    "end": 3923,
                                    "loc": {
                                      "start": {
                                        "line": 119,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 119,
                                        "column": 49
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 3896,
                                      "end": 3908,
                                      "loc": {
                                        "start": {
                                          "line": 119,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 119,
                                          "column": 34
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 3896,
                                        "end": 3902,
                                        "loc": {
                                          "start": {
                                            "line": 119,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 119,
                                            "column": 28
                                          },
                                          "identifierName": "Buffer"
                                        },
                                        "name": "Buffer"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3903,
                                        "end": 3908,
                                        "loc": {
                                          "start": {
                                            "line": 119,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 119,
                                            "column": 34
                                          },
                                          "identifierName": "alloc"
                                        },
                                        "name": "alloc"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "BinaryExpression",
                                        "start": 3909,
                                        "end": 3922,
                                        "loc": {
                                          "start": {
                                            "line": 119,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 119,
                                            "column": 48
                                          }
                                        },
                                        "left": {
                                          "type": "NumericLiteral",
                                          "start": 3909,
                                          "end": 3911,
                                          "loc": {
                                            "start": {
                                              "line": 119,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 119,
                                              "column": 37
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 32,
                                            "raw": "32"
                                          },
                                          "value": 32
                                        },
                                        "operator": "-",
                                        "right": {
                                          "type": "MemberExpression",
                                          "start": 3914,
                                          "end": 3922,
                                          "loc": {
                                            "start": {
                                              "line": 119,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 119,
                                              "column": 48
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 3914,
                                            "end": 3915,
                                            "loc": {
                                              "start": {
                                                "line": 119,
                                                "column": 40
                                              },
                                              "end": {
                                                "line": 119,
                                                "column": 41
                                              },
                                              "identifierName": "S"
                                            },
                                            "name": "S"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 3916,
                                            "end": 3922,
                                            "loc": {
                                              "start": {
                                                "line": 119,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 119,
                                                "column": 48
                                              },
                                              "identifierName": "length"
                                            },
                                            "name": "length"
                                          },
                                          "computed": false
                                        }
                                      }
                                    ]
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3924,
                                    "end": 3928,
                                    "loc": {
                                      "start": {
                                        "line": 119,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 119,
                                        "column": 54
                                      },
                                      "identifierName": "fill"
                                    },
                                    "name": "fill"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "NumericLiteral",
                                    "start": 3929,
                                    "end": 3930,
                                    "loc": {
                                      "start": {
                                        "line": 119,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 119,
                                        "column": 56
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 0,
                                      "raw": "0"
                                    },
                                    "value": 0
                                  }
                                ]
                              }
                            }
                          ],
                          "kind": "let"
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 3945,
                          "end": 3973,
                          "loc": {
                            "start": {
                              "line": 120,
                              "column": 12
                            },
                            "end": {
                              "line": 120,
                              "column": 40
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 3945,
                            "end": 3972,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 12
                              },
                              "end": {
                                "line": 120,
                                "column": 39
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 3945,
                              "end": 3946,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 12
                                },
                                "end": {
                                  "line": 120,
                                  "column": 13
                                },
                                "identifierName": "S"
                              },
                              "name": "S"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 3949,
                              "end": 3972,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 16
                                },
                                "end": {
                                  "line": 120,
                                  "column": 39
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 3949,
                                "end": 3962,
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3949,
                                  "end": 3955,
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 22
                                    },
                                    "identifierName": "Buffer"
                                  },
                                  "name": "Buffer"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3956,
                                  "end": 3962,
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 29
                                    },
                                    "identifierName": "concat"
                                  },
                                  "name": "concat"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ArrayExpression",
                                  "start": 3963,
                                  "end": 3971,
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 38
                                    }
                                  },
                                  "elements": [
                                    {
                                      "type": "Identifier",
                                      "start": 3964,
                                      "end": 3967,
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 34
                                        },
                                        "identifierName": "pad"
                                      },
                                      "name": "pad"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 3969,
                                      "end": 3970,
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 37
                                        },
                                        "identifierName": "S"
                                      },
                                      "name": "S"
                                    }
                                  ]
                                }
                              ]
                            }
                          }
                        }
                      ],
                      "directives": [],
                      "trailingComments": null
                    },
                    "alternate": null,
                    "leadingComments": [
                      {
                        "type": "CommentBlock",
                        "value": "\n        the input to sha512 must be exactly 32-bytes, to match the c++ implementation\n        of get_shared_secret.  Right now S will be shorter if the most significant\n        byte(s) is zero.  Pad it back to the full 32-bytes\n        ",
                        "start": 3592,
                        "end": 3833,
                        "loc": {
                          "start": {
                            "line": 113,
                            "column": 8
                          },
                          "end": {
                            "line": 117,
                            "column": 10
                          }
                        }
                      }
                    ],
                    "trailingComments": [
                      {
                        "type": "CommentLine",
                        "value": " SHA512 used in ECIES",
                        "start": 3993,
                        "end": 4016,
                        "loc": {
                          "start": {
                            "line": 123,
                            "column": 8
                          },
                          "end": {
                            "line": 123,
                            "column": 31
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 4025,
                    "end": 4042,
                    "loc": {
                      "start": {
                        "line": 124,
                        "column": 8
                      },
                      "end": {
                        "line": 124,
                        "column": 25
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 4032,
                      "end": 4041,
                      "loc": {
                        "start": {
                          "line": 124,
                          "column": 15
                        },
                        "end": {
                          "line": 124,
                          "column": 24
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 4032,
                        "end": 4038,
                        "loc": {
                          "start": {
                            "line": 124,
                            "column": 15
                          },
                          "end": {
                            "line": 124,
                            "column": 21
                          },
                          "identifierName": "sha512"
                        },
                        "name": "sha512",
                        "leadingComments": null
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 4039,
                          "end": 4040,
                          "loc": {
                            "start": {
                              "line": 124,
                              "column": 22
                            },
                            "end": {
                              "line": 124,
                              "column": 23
                            },
                            "identifierName": "S"
                          },
                          "name": "S"
                        }
                      ],
                      "leadingComments": null
                    },
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": " SHA512 used in ECIES",
                        "start": 3993,
                        "end": 4016,
                        "loc": {
                          "start": {
                            "line": 123,
                            "column": 8
                          },
                          "end": {
                            "line": 123,
                            "column": 31
                          }
                        }
                      }
                    ]
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "* ECIES ",
                  "start": 3098,
                  "end": 3110,
                  "loc": {
                    "start": {
                      "line": 101,
                      "column": 4
                    },
                    "end": {
                      "line": 101,
                      "column": 16
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": " /** ECIES (does not always match the Point.fromAffine version above) */",
                  "start": 4054,
                  "end": 4128,
                  "loc": {
                    "start": {
                      "line": 127,
                      "column": 4
                    },
                    "end": {
                      "line": 127,
                      "column": 78
                    }
                  }
                },
                {
                  "type": "CommentLine",
                  "value": " get_shared_secret(public_key){",
                  "start": 4133,
                  "end": 4166,
                  "loc": {
                    "start": {
                      "line": 128,
                      "column": 4
                    },
                    "end": {
                      "line": 128,
                      "column": 37
                    }
                  }
                },
                {
                  "type": "CommentLine",
                  "value": "     public_key = toPublic(public_key)",
                  "start": 4171,
                  "end": 4211,
                  "loc": {
                    "start": {
                      "line": 129,
                      "column": 4
                    },
                    "end": {
                      "line": 129,
                      "column": 44
                    }
                  }
                },
                {
                  "type": "CommentLine",
                  "value": "     var P = public_key.Q.multiply( this.d );",
                  "start": 4216,
                  "end": 4263,
                  "loc": {
                    "start": {
                      "line": 130,
                      "column": 4
                    },
                    "end": {
                      "line": 130,
                      "column": 51
                    }
                  }
                },
                {
                  "type": "CommentLine",
                  "value": "     var S = P.affineX.toBuffer({size: 32});",
                  "start": 4268,
                  "end": 4314,
                  "loc": {
                    "start": {
                      "line": 131,
                      "column": 4
                    },
                    "end": {
                      "line": 131,
                      "column": 50
                    }
                  }
                },
                {
                  "type": "CommentLine",
                  "value": "     // ECIES, adds an extra sha512",
                  "start": 4319,
                  "end": 4356,
                  "loc": {
                    "start": {
                      "line": 132,
                      "column": 4
                    },
                    "end": {
                      "line": 132,
                      "column": 41
                    }
                  }
                },
                {
                  "type": "CommentLine",
                  "value": "     return sha512(S);",
                  "start": 4361,
                  "end": 4385,
                  "loc": {
                    "start": {
                      "line": 133,
                      "column": 4
                    },
                    "end": {
                      "line": 133,
                      "column": 28
                    }
                  }
                },
                {
                  "type": "CommentLine",
                  "value": " }",
                  "start": 4390,
                  "end": 4394,
                  "loc": {
                    "start": {
                      "line": 134,
                      "column": 4
                    },
                    "end": {
                      "line": 134,
                      "column": 8
                    }
                  }
                },
                {
                  "type": "CommentBlock",
                  "value": "* @throws {Error} - overflow of the key could not be derived ",
                  "start": 4400,
                  "end": 4465,
                  "loc": {
                    "start": {
                      "line": 136,
                      "column": 4
                    },
                    "end": {
                      "line": 136,
                      "column": 69
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 4470,
              "end": 4991,
              "loc": {
                "start": {
                  "line": 137,
                  "column": 4
                },
                "end": {
                  "line": 153,
                  "column": 5
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4470,
                "end": 4475,
                "loc": {
                  "start": {
                    "line": 137,
                    "column": 4
                  },
                  "end": {
                    "line": 137,
                    "column": 9
                  },
                  "identifierName": "child"
                },
                "name": "child",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 4476,
                  "end": 4482,
                  "loc": {
                    "start": {
                      "line": 137,
                      "column": 10
                    },
                    "end": {
                      "line": 137,
                      "column": 16
                    },
                    "identifierName": "offset"
                  },
                  "name": "offset"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 4484,
                "end": 4991,
                "loc": {
                  "start": {
                    "line": 137,
                    "column": 18
                  },
                  "end": {
                    "line": 153,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 4494,
                    "end": 4558,
                    "loc": {
                      "start": {
                        "line": 138,
                        "column": 8
                      },
                      "end": {
                        "line": 138,
                        "column": 72
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 4494,
                      "end": 4557,
                      "loc": {
                        "start": {
                          "line": 138,
                          "column": 8
                        },
                        "end": {
                          "line": 138,
                          "column": 71
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 4494,
                        "end": 4500,
                        "loc": {
                          "start": {
                            "line": 138,
                            "column": 8
                          },
                          "end": {
                            "line": 138,
                            "column": 14
                          },
                          "identifierName": "offset"
                        },
                        "name": "offset"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 4503,
                        "end": 4557,
                        "loc": {
                          "start": {
                            "line": 138,
                            "column": 17
                          },
                          "end": {
                            "line": 138,
                            "column": 71
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4503,
                          "end": 4516,
                          "loc": {
                            "start": {
                              "line": 138,
                              "column": 17
                            },
                            "end": {
                              "line": 138,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 4503,
                            "end": 4509,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 17
                              },
                              "end": {
                                "line": 138,
                                "column": 23
                              },
                              "identifierName": "Buffer"
                            },
                            "name": "Buffer"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4510,
                            "end": 4516,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 24
                              },
                              "end": {
                                "line": 138,
                                "column": 30
                              },
                              "identifierName": "concat"
                            },
                            "name": "concat"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrayExpression",
                            "start": 4517,
                            "end": 4556,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 31
                              },
                              "end": {
                                "line": 138,
                                "column": 70
                              }
                            },
                            "elements": [
                              {
                                "type": "CallExpression",
                                "start": 4518,
                                "end": 4547,
                                "loc": {
                                  "start": {
                                    "line": 138,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 138,
                                    "column": 61
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4518,
                                  "end": 4545,
                                  "loc": {
                                    "start": {
                                      "line": 138,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 138,
                                      "column": 59
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 4518,
                                    "end": 4536,
                                    "loc": {
                                      "start": {
                                        "line": 138,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 138,
                                        "column": 50
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 4518,
                                      "end": 4534,
                                      "loc": {
                                        "start": {
                                          "line": 138,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 138,
                                          "column": 48
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 4518,
                                        "end": 4522,
                                        "loc": {
                                          "start": {
                                            "line": 138,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 138,
                                            "column": 36
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4523,
                                        "end": 4534,
                                        "loc": {
                                          "start": {
                                            "line": 138,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 138,
                                            "column": 48
                                          },
                                          "identifierName": "toPublicKey"
                                        },
                                        "name": "toPublicKey"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4537,
                                    "end": 4545,
                                    "loc": {
                                      "start": {
                                        "line": 138,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 138,
                                        "column": 59
                                      },
                                      "identifierName": "toBuffer"
                                    },
                                    "name": "toBuffer"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              {
                                "type": "Identifier",
                                "start": 4549,
                                "end": 4555,
                                "loc": {
                                  "start": {
                                    "line": 138,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 138,
                                    "column": 69
                                  },
                                  "identifierName": "offset"
                                },
                                "name": "offset"
                              }
                            ]
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 4567,
                    "end": 4591,
                    "loc": {
                      "start": {
                        "line": 139,
                        "column": 8
                      },
                      "end": {
                        "line": 139,
                        "column": 32
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 4567,
                      "end": 4590,
                      "loc": {
                        "start": {
                          "line": 139,
                          "column": 8
                        },
                        "end": {
                          "line": 139,
                          "column": 31
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 4567,
                        "end": 4573,
                        "loc": {
                          "start": {
                            "line": 139,
                            "column": 8
                          },
                          "end": {
                            "line": 139,
                            "column": 14
                          },
                          "identifierName": "offset"
                        },
                        "name": "offset"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 4576,
                        "end": 4590,
                        "loc": {
                          "start": {
                            "line": 139,
                            "column": 17
                          },
                          "end": {
                            "line": 139,
                            "column": 31
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 4576,
                          "end": 4582,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 17
                            },
                            "end": {
                              "line": 139,
                              "column": 23
                            },
                            "identifierName": "sha256"
                          },
                          "name": "sha256"
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 4583,
                            "end": 4589,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 24
                              },
                              "end": {
                                "line": 139,
                                "column": 30
                              },
                              "identifierName": "offset"
                            },
                            "name": "offset"
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 4600,
                    "end": 4638,
                    "loc": {
                      "start": {
                        "line": 140,
                        "column": 8
                      },
                      "end": {
                        "line": 140,
                        "column": 46
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 4604,
                        "end": 4637,
                        "loc": {
                          "start": {
                            "line": 140,
                            "column": 12
                          },
                          "end": {
                            "line": 140,
                            "column": 45
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 4604,
                          "end": 4605,
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 12
                            },
                            "end": {
                              "line": 140,
                              "column": 13
                            },
                            "identifierName": "c"
                          },
                          "name": "c"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 4608,
                          "end": 4637,
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 16
                            },
                            "end": {
                              "line": 140,
                              "column": 45
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 4608,
                            "end": 4629,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 16
                              },
                              "end": {
                                "line": 140,
                                "column": 37
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 4608,
                              "end": 4618,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 16
                                },
                                "end": {
                                  "line": 140,
                                  "column": 26
                                },
                                "identifierName": "BigInteger"
                              },
                              "name": "BigInteger"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4619,
                              "end": 4629,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 27
                                },
                                "end": {
                                  "line": 140,
                                  "column": 37
                                },
                                "identifierName": "fromBuffer"
                              },
                              "name": "fromBuffer"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 4630,
                              "end": 4636,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 38
                                },
                                "end": {
                                  "line": 140,
                                  "column": 44
                                },
                                "identifierName": "offset"
                              },
                              "name": "offset"
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "IfStatement",
                    "start": 4648,
                    "end": 4747,
                    "loc": {
                      "start": {
                        "line": 142,
                        "column": 8
                      },
                      "end": {
                        "line": 143,
                        "column": 74
                      }
                    },
                    "test": {
                      "type": "BinaryExpression",
                      "start": 4652,
                      "end": 4671,
                      "loc": {
                        "start": {
                          "line": 142,
                          "column": 12
                        },
                        "end": {
                          "line": 142,
                          "column": 31
                        }
                      },
                      "left": {
                        "type": "CallExpression",
                        "start": 4652,
                        "end": 4666,
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 12
                          },
                          "end": {
                            "line": 142,
                            "column": 26
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4652,
                          "end": 4663,
                          "loc": {
                            "start": {
                              "line": 142,
                              "column": 12
                            },
                            "end": {
                              "line": 142,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 4652,
                            "end": 4653,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 12
                              },
                              "end": {
                                "line": 142,
                                "column": 13
                              },
                              "identifierName": "c"
                            },
                            "name": "c"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4654,
                            "end": 4663,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 14
                              },
                              "end": {
                                "line": 142,
                                "column": 23
                              },
                              "identifierName": "compareTo"
                            },
                            "name": "compareTo"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 4664,
                            "end": 4665,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 24
                              },
                              "end": {
                                "line": 142,
                                "column": 25
                              },
                              "identifierName": "n"
                            },
                            "name": "n"
                          }
                        ]
                      },
                      "operator": ">=",
                      "right": {
                        "type": "NumericLiteral",
                        "start": 4670,
                        "end": 4671,
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 30
                          },
                          "end": {
                            "line": 142,
                            "column": 31
                          }
                        },
                        "extra": {
                          "rawValue": 0,
                          "raw": "0"
                        },
                        "value": 0
                      }
                    },
                    "consequent": {
                      "type": "ThrowStatement",
                      "start": 4685,
                      "end": 4747,
                      "loc": {
                        "start": {
                          "line": 143,
                          "column": 12
                        },
                        "end": {
                          "line": 143,
                          "column": 74
                        }
                      },
                      "argument": {
                        "type": "NewExpression",
                        "start": 4691,
                        "end": 4746,
                        "loc": {
                          "start": {
                            "line": 143,
                            "column": 18
                          },
                          "end": {
                            "line": 143,
                            "column": 73
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 4695,
                          "end": 4700,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 22
                            },
                            "end": {
                              "line": 143,
                              "column": 27
                            },
                            "identifierName": "Error"
                          },
                          "name": "Error"
                        },
                        "arguments": [
                          {
                            "type": "StringLiteral",
                            "start": 4701,
                            "end": 4745,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 28
                              },
                              "end": {
                                "line": 143,
                                "column": 72
                              }
                            },
                            "extra": {
                              "rawValue": "Child offset went out of bounds, try again",
                              "raw": "\"Child offset went out of bounds, try again\""
                            },
                            "value": "Child offset went out of bounds, try again"
                          }
                        ]
                      }
                    },
                    "alternate": null
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 4757,
                    "end": 4785,
                    "loc": {
                      "start": {
                        "line": 145,
                        "column": 8
                      },
                      "end": {
                        "line": 145,
                        "column": 36
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 4761,
                        "end": 4784,
                        "loc": {
                          "start": {
                            "line": 145,
                            "column": 12
                          },
                          "end": {
                            "line": 145,
                            "column": 35
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 4761,
                          "end": 4768,
                          "loc": {
                            "start": {
                              "line": 145,
                              "column": 12
                            },
                            "end": {
                              "line": 145,
                              "column": 19
                            },
                            "identifierName": "derived"
                          },
                          "name": "derived"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 4771,
                          "end": 4784,
                          "loc": {
                            "start": {
                              "line": 145,
                              "column": 22
                            },
                            "end": {
                              "line": 145,
                              "column": 35
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 4771,
                            "end": 4781,
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 22
                              },
                              "end": {
                                "line": 145,
                                "column": 32
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 4771,
                              "end": 4777,
                              "loc": {
                                "start": {
                                  "line": 145,
                                  "column": 22
                                },
                                "end": {
                                  "line": 145,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 4771,
                                "end": 4775,
                                "loc": {
                                  "start": {
                                    "line": 145,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 145,
                                    "column": 26
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4776,
                                "end": 4777,
                                "loc": {
                                  "start": {
                                    "line": 145,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 145,
                                    "column": 28
                                  },
                                  "identifierName": "d"
                                },
                                "name": "d"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4778,
                              "end": 4781,
                              "loc": {
                                "start": {
                                  "line": 145,
                                  "column": 29
                                },
                                "end": {
                                  "line": 145,
                                  "column": 32
                                },
                                "identifierName": "add"
                              },
                              "name": "add"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 4782,
                              "end": 4783,
                              "loc": {
                                "start": {
                                  "line": 145,
                                  "column": 33
                                },
                                "end": {
                                  "line": 145,
                                  "column": 34
                                },
                                "identifierName": "c"
                              },
                              "name": "c"
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "let",
                    "trailingComments": [
                      {
                        "type": "CommentLine",
                        "value": ".mod(n)",
                        "start": 4786,
                        "end": 4795,
                        "loc": {
                          "start": {
                            "line": 145,
                            "column": 37
                          },
                          "end": {
                            "line": 145,
                            "column": 46
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "IfStatement",
                    "start": 4805,
                    "end": 4944,
                    "loc": {
                      "start": {
                        "line": 147,
                        "column": 8
                      },
                      "end": {
                        "line": 150,
                        "column": 14
                      }
                    },
                    "test": {
                      "type": "BinaryExpression",
                      "start": 4809,
                      "end": 4831,
                      "loc": {
                        "start": {
                          "line": 147,
                          "column": 12
                        },
                        "end": {
                          "line": 147,
                          "column": 34
                        }
                      },
                      "left": {
                        "type": "CallExpression",
                        "start": 4809,
                        "end": 4825,
                        "loc": {
                          "start": {
                            "line": 147,
                            "column": 12
                          },
                          "end": {
                            "line": 147,
                            "column": 28
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4809,
                          "end": 4823,
                          "loc": {
                            "start": {
                              "line": 147,
                              "column": 12
                            },
                            "end": {
                              "line": 147,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 4809,
                            "end": 4816,
                            "loc": {
                              "start": {
                                "line": 147,
                                "column": 12
                              },
                              "end": {
                                "line": 147,
                                "column": 19
                              },
                              "identifierName": "derived"
                            },
                            "name": "derived",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4817,
                            "end": 4823,
                            "loc": {
                              "start": {
                                "line": 147,
                                "column": 20
                              },
                              "end": {
                                "line": 147,
                                "column": 26
                              },
                              "identifierName": "signum"
                            },
                            "name": "signum"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [],
                        "leadingComments": null
                      },
                      "operator": "===",
                      "right": {
                        "type": "NumericLiteral",
                        "start": 4830,
                        "end": 4831,
                        "loc": {
                          "start": {
                            "line": 147,
                            "column": 33
                          },
                          "end": {
                            "line": 147,
                            "column": 34
                          }
                        },
                        "extra": {
                          "rawValue": 0,
                          "raw": "0"
                        },
                        "value": 0
                      },
                      "leadingComments": null
                    },
                    "consequent": {
                      "type": "ThrowStatement",
                      "start": 4845,
                      "end": 4944,
                      "loc": {
                        "start": {
                          "line": 148,
                          "column": 12
                        },
                        "end": {
                          "line": 150,
                          "column": 14
                        }
                      },
                      "argument": {
                        "type": "NewExpression",
                        "start": 4851,
                        "end": 4943,
                        "loc": {
                          "start": {
                            "line": 148,
                            "column": 18
                          },
                          "end": {
                            "line": 150,
                            "column": 13
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 4855,
                          "end": 4860,
                          "loc": {
                            "start": {
                              "line": 148,
                              "column": 22
                            },
                            "end": {
                              "line": 148,
                              "column": 27
                            },
                            "identifierName": "Error"
                          },
                          "name": "Error"
                        },
                        "arguments": [
                          {
                            "type": "StringLiteral",
                            "start": 4878,
                            "end": 4929,
                            "loc": {
                              "start": {
                                "line": 149,
                                "column": 16
                              },
                              "end": {
                                "line": 149,
                                "column": 67
                              }
                            },
                            "extra": {
                              "rawValue": "Child offset derived to an invalid key, try again",
                              "raw": "\"Child offset derived to an invalid key, try again\""
                            },
                            "value": "Child offset derived to an invalid key, try again"
                          }
                        ]
                      }
                    },
                    "alternate": null,
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": ".mod(n)",
                        "start": 4786,
                        "end": 4795,
                        "loc": {
                          "start": {
                            "line": 145,
                            "column": 37
                          },
                          "end": {
                            "line": 145,
                            "column": 46
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 4954,
                    "end": 4985,
                    "loc": {
                      "start": {
                        "line": 152,
                        "column": 8
                      },
                      "end": {
                        "line": 152,
                        "column": 39
                      }
                    },
                    "argument": {
                      "type": "NewExpression",
                      "start": 4961,
                      "end": 4984,
                      "loc": {
                        "start": {
                          "line": 152,
                          "column": 15
                        },
                        "end": {
                          "line": 152,
                          "column": 38
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 4965,
                        "end": 4975,
                        "loc": {
                          "start": {
                            "line": 152,
                            "column": 19
                          },
                          "end": {
                            "line": 152,
                            "column": 29
                          },
                          "identifierName": "PrivateKey"
                        },
                        "name": "PrivateKey"
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 4976,
                          "end": 4983,
                          "loc": {
                            "start": {
                              "line": 152,
                              "column": 30
                            },
                            "end": {
                              "line": 152,
                              "column": 37
                            },
                            "identifierName": "derived"
                          },
                          "name": "derived"
                        }
                      ]
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " /** ECIES (does not always match the Point.fromAffine version above) */",
                  "start": 4054,
                  "end": 4128,
                  "loc": {
                    "start": {
                      "line": 127,
                      "column": 4
                    },
                    "end": {
                      "line": 127,
                      "column": 78
                    }
                  }
                },
                {
                  "type": "CommentLine",
                  "value": " get_shared_secret(public_key){",
                  "start": 4133,
                  "end": 4166,
                  "loc": {
                    "start": {
                      "line": 128,
                      "column": 4
                    },
                    "end": {
                      "line": 128,
                      "column": 37
                    }
                  }
                },
                {
                  "type": "CommentLine",
                  "value": "     public_key = toPublic(public_key)",
                  "start": 4171,
                  "end": 4211,
                  "loc": {
                    "start": {
                      "line": 129,
                      "column": 4
                    },
                    "end": {
                      "line": 129,
                      "column": 44
                    }
                  }
                },
                {
                  "type": "CommentLine",
                  "value": "     var P = public_key.Q.multiply( this.d );",
                  "start": 4216,
                  "end": 4263,
                  "loc": {
                    "start": {
                      "line": 130,
                      "column": 4
                    },
                    "end": {
                      "line": 130,
                      "column": 51
                    }
                  }
                },
                {
                  "type": "CommentLine",
                  "value": "     var S = P.affineX.toBuffer({size: 32});",
                  "start": 4268,
                  "end": 4314,
                  "loc": {
                    "start": {
                      "line": 131,
                      "column": 4
                    },
                    "end": {
                      "line": 131,
                      "column": 50
                    }
                  }
                },
                {
                  "type": "CommentLine",
                  "value": "     // ECIES, adds an extra sha512",
                  "start": 4319,
                  "end": 4356,
                  "loc": {
                    "start": {
                      "line": 132,
                      "column": 4
                    },
                    "end": {
                      "line": 132,
                      "column": 41
                    }
                  }
                },
                {
                  "type": "CommentLine",
                  "value": "     return sha512(S);",
                  "start": 4361,
                  "end": 4385,
                  "loc": {
                    "start": {
                      "line": 133,
                      "column": 4
                    },
                    "end": {
                      "line": 133,
                      "column": 28
                    }
                  }
                },
                {
                  "type": "CommentLine",
                  "value": " }",
                  "start": 4390,
                  "end": 4394,
                  "loc": {
                    "start": {
                      "line": 134,
                      "column": 4
                    },
                    "end": {
                      "line": 134,
                      "column": 8
                    }
                  }
                },
                {
                  "type": "CommentBlock",
                  "value": "* @throws {Error} - overflow of the key could not be derived ",
                  "start": 4400,
                  "end": 4465,
                  "loc": {
                    "start": {
                      "line": 136,
                      "column": 4
                    },
                    "end": {
                      "line": 136,
                      "column": 69
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": " <helper_functions> ",
                  "start": 4997,
                  "end": 5021,
                  "loc": {
                    "start": {
                      "line": 155,
                      "column": 4
                    },
                    "end": {
                      "line": 155,
                      "column": 28
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 5027,
              "end": 5240,
              "loc": {
                "start": {
                  "line": 157,
                  "column": 4
                },
                "end": {
                  "line": 164,
                  "column": 5
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5027,
                "end": 5039,
                "loc": {
                  "start": {
                    "line": 157,
                    "column": 4
                  },
                  "end": {
                    "line": 157,
                    "column": 16
                  },
                  "identifierName": "toByteBuffer"
                },
                "name": "toByteBuffer",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 5042,
                "end": 5240,
                "loc": {
                  "start": {
                    "line": 157,
                    "column": 19
                  },
                  "end": {
                    "line": 164,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 5052,
                    "end": 5164,
                    "loc": {
                      "start": {
                        "line": 158,
                        "column": 8
                      },
                      "end": {
                        "line": 161,
                        "column": 10
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 5056,
                        "end": 5163,
                        "loc": {
                          "start": {
                            "line": 158,
                            "column": 12
                          },
                          "end": {
                            "line": 161,
                            "column": 9
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 5056,
                          "end": 5057,
                          "loc": {
                            "start": {
                              "line": 158,
                              "column": 12
                            },
                            "end": {
                              "line": 158,
                              "column": 13
                            },
                            "identifierName": "b"
                          },
                          "name": "b"
                        },
                        "init": {
                          "type": "NewExpression",
                          "start": 5060,
                          "end": 5163,
                          "loc": {
                            "start": {
                              "line": 158,
                              "column": 16
                            },
                            "end": {
                              "line": 161,
                              "column": 9
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 5064,
                            "end": 5074,
                            "loc": {
                              "start": {
                                "line": 158,
                                "column": 20
                              },
                              "end": {
                                "line": 158,
                                "column": 30
                              },
                              "identifierName": "ByteBuffer"
                            },
                            "name": "ByteBuffer"
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 5088,
                              "end": 5115,
                              "loc": {
                                "start": {
                                  "line": 159,
                                  "column": 12
                                },
                                "end": {
                                  "line": 159,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 5088,
                                "end": 5098,
                                "loc": {
                                  "start": {
                                    "line": 159,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 159,
                                    "column": 22
                                  },
                                  "identifierName": "ByteBuffer"
                                },
                                "name": "ByteBuffer"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5099,
                                "end": 5115,
                                "loc": {
                                  "start": {
                                    "line": 159,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 159,
                                    "column": 39
                                  },
                                  "identifierName": "DEFAULT_CAPACITY"
                                },
                                "name": "DEFAULT_CAPACITY"
                              },
                              "computed": false
                            },
                            {
                              "type": "MemberExpression",
                              "start": 5129,
                              "end": 5153,
                              "loc": {
                                "start": {
                                  "line": 160,
                                  "column": 12
                                },
                                "end": {
                                  "line": 160,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 5129,
                                "end": 5139,
                                "loc": {
                                  "start": {
                                    "line": 160,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 160,
                                    "column": 22
                                  },
                                  "identifierName": "ByteBuffer"
                                },
                                "name": "ByteBuffer"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5140,
                                "end": 5153,
                                "loc": {
                                  "start": {
                                    "line": 160,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 160,
                                    "column": 36
                                  },
                                  "identifierName": "LITTLE_ENDIAN"
                                },
                                "name": "LITTLE_ENDIAN"
                              },
                              "computed": false
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 5173,
                    "end": 5198,
                    "loc": {
                      "start": {
                        "line": 162,
                        "column": 8
                      },
                      "end": {
                        "line": 162,
                        "column": 33
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 5173,
                      "end": 5197,
                      "loc": {
                        "start": {
                          "line": 162,
                          "column": 8
                        },
                        "end": {
                          "line": 162,
                          "column": 32
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 5173,
                        "end": 5194,
                        "loc": {
                          "start": {
                            "line": 162,
                            "column": 8
                          },
                          "end": {
                            "line": 162,
                            "column": 29
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 5173,
                          "end": 5177,
                          "loc": {
                            "start": {
                              "line": 162,
                              "column": 8
                            },
                            "end": {
                              "line": 162,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 5178,
                          "end": 5194,
                          "loc": {
                            "start": {
                              "line": 162,
                              "column": 13
                            },
                            "end": {
                              "line": 162,
                              "column": 29
                            },
                            "identifierName": "appendByteBuffer"
                          },
                          "name": "appendByteBuffer"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 5195,
                          "end": 5196,
                          "loc": {
                            "start": {
                              "line": 162,
                              "column": 30
                            },
                            "end": {
                              "line": 162,
                              "column": 31
                            },
                            "identifierName": "b"
                          },
                          "name": "b"
                        }
                      ]
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 5207,
                    "end": 5234,
                    "loc": {
                      "start": {
                        "line": 163,
                        "column": 8
                      },
                      "end": {
                        "line": 163,
                        "column": 35
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 5214,
                      "end": 5233,
                      "loc": {
                        "start": {
                          "line": 163,
                          "column": 15
                        },
                        "end": {
                          "line": 163,
                          "column": 34
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 5214,
                        "end": 5220,
                        "loc": {
                          "start": {
                            "line": 163,
                            "column": 15
                          },
                          "end": {
                            "line": 163,
                            "column": 21
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 5214,
                          "end": 5215,
                          "loc": {
                            "start": {
                              "line": 163,
                              "column": 15
                            },
                            "end": {
                              "line": 163,
                              "column": 16
                            },
                            "identifierName": "b"
                          },
                          "name": "b"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 5216,
                          "end": 5220,
                          "loc": {
                            "start": {
                              "line": 163,
                              "column": 17
                            },
                            "end": {
                              "line": 163,
                              "column": 21
                            },
                            "identifierName": "copy"
                          },
                          "name": "copy"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "NumericLiteral",
                          "start": 5221,
                          "end": 5222,
                          "loc": {
                            "start": {
                              "line": 163,
                              "column": 22
                            },
                            "end": {
                              "line": 163,
                              "column": 23
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        },
                        {
                          "type": "MemberExpression",
                          "start": 5224,
                          "end": 5232,
                          "loc": {
                            "start": {
                              "line": 163,
                              "column": 25
                            },
                            "end": {
                              "line": 163,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5224,
                            "end": 5225,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 25
                              },
                              "end": {
                                "line": 163,
                                "column": 26
                              },
                              "identifierName": "b"
                            },
                            "name": "b"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5226,
                            "end": 5232,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 27
                              },
                              "end": {
                                "line": 163,
                                "column": 33
                              },
                              "identifierName": "offset"
                            },
                            "name": "offset"
                          },
                          "computed": false
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": " <helper_functions> ",
                  "start": 4997,
                  "end": 5021,
                  "loc": {
                    "start": {
                      "line": 155,
                      "column": 4
                    },
                    "end": {
                      "line": 155,
                      "column": 28
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 5246,
              "end": 5335,
              "loc": {
                "start": {
                  "line": 166,
                  "column": 4
                },
                "end": {
                  "line": 168,
                  "column": 5
                }
              },
              "static": true,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5253,
                "end": 5260,
                "loc": {
                  "start": {
                    "line": 166,
                    "column": 11
                  },
                  "end": {
                    "line": 166,
                    "column": 18
                  },
                  "identifierName": "fromHex"
                },
                "name": "fromHex"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 5261,
                  "end": 5264,
                  "loc": {
                    "start": {
                      "line": 166,
                      "column": 19
                    },
                    "end": {
                      "line": 166,
                      "column": 22
                    },
                    "identifierName": "hex"
                  },
                  "name": "hex"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 5266,
                "end": 5335,
                "loc": {
                  "start": {
                    "line": 166,
                    "column": 24
                  },
                  "end": {
                    "line": 168,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 5276,
                    "end": 5329,
                    "loc": {
                      "start": {
                        "line": 167,
                        "column": 8
                      },
                      "end": {
                        "line": 167,
                        "column": 61
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 5283,
                      "end": 5328,
                      "loc": {
                        "start": {
                          "line": 167,
                          "column": 15
                        },
                        "end": {
                          "line": 167,
                          "column": 60
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 5283,
                        "end": 5304,
                        "loc": {
                          "start": {
                            "line": 167,
                            "column": 15
                          },
                          "end": {
                            "line": 167,
                            "column": 36
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 5283,
                          "end": 5293,
                          "loc": {
                            "start": {
                              "line": 167,
                              "column": 15
                            },
                            "end": {
                              "line": 167,
                              "column": 25
                            },
                            "identifierName": "PrivateKey"
                          },
                          "name": "PrivateKey"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 5294,
                          "end": 5304,
                          "loc": {
                            "start": {
                              "line": 167,
                              "column": 26
                            },
                            "end": {
                              "line": 167,
                              "column": 36
                            },
                            "identifierName": "fromBuffer"
                          },
                          "name": "fromBuffer"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "NewExpression",
                          "start": 5305,
                          "end": 5327,
                          "loc": {
                            "start": {
                              "line": 167,
                              "column": 37
                            },
                            "end": {
                              "line": 167,
                              "column": 59
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 5309,
                            "end": 5315,
                            "loc": {
                              "start": {
                                "line": 167,
                                "column": 41
                              },
                              "end": {
                                "line": 167,
                                "column": 47
                              },
                              "identifierName": "Buffer"
                            },
                            "name": "Buffer"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 5316,
                              "end": 5319,
                              "loc": {
                                "start": {
                                  "line": 167,
                                  "column": 48
                                },
                                "end": {
                                  "line": 167,
                                  "column": 51
                                },
                                "identifierName": "hex"
                              },
                              "name": "hex"
                            },
                            {
                              "type": "StringLiteral",
                              "start": 5321,
                              "end": 5326,
                              "loc": {
                                "start": {
                                  "line": 167,
                                  "column": 53
                                },
                                "end": {
                                  "line": 167,
                                  "column": 58
                                }
                              },
                              "extra": {
                                "rawValue": "hex",
                                "raw": "\"hex\""
                              },
                              "value": "hex"
                            }
                          ]
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              }
            },
            {
              "type": "ClassMethod",
              "start": 5341,
              "end": 5404,
              "loc": {
                "start": {
                  "line": 170,
                  "column": 4
                },
                "end": {
                  "line": 172,
                  "column": 5
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5341,
                "end": 5346,
                "loc": {
                  "start": {
                    "line": 170,
                    "column": 4
                  },
                  "end": {
                    "line": 170,
                    "column": 9
                  },
                  "identifierName": "toHex"
                },
                "name": "toHex"
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 5349,
                "end": 5404,
                "loc": {
                  "start": {
                    "line": 170,
                    "column": 12
                  },
                  "end": {
                    "line": 172,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 5359,
                    "end": 5398,
                    "loc": {
                      "start": {
                        "line": 171,
                        "column": 8
                      },
                      "end": {
                        "line": 171,
                        "column": 47
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 5366,
                      "end": 5397,
                      "loc": {
                        "start": {
                          "line": 171,
                          "column": 15
                        },
                        "end": {
                          "line": 171,
                          "column": 46
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 5366,
                        "end": 5390,
                        "loc": {
                          "start": {
                            "line": 171,
                            "column": 15
                          },
                          "end": {
                            "line": 171,
                            "column": 39
                          }
                        },
                        "object": {
                          "type": "CallExpression",
                          "start": 5366,
                          "end": 5381,
                          "loc": {
                            "start": {
                              "line": 171,
                              "column": 15
                            },
                            "end": {
                              "line": 171,
                              "column": 30
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 5366,
                            "end": 5379,
                            "loc": {
                              "start": {
                                "line": 171,
                                "column": 15
                              },
                              "end": {
                                "line": 171,
                                "column": 28
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5366,
                              "end": 5370,
                              "loc": {
                                "start": {
                                  "line": 171,
                                  "column": 15
                                },
                                "end": {
                                  "line": 171,
                                  "column": 19
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5371,
                              "end": 5379,
                              "loc": {
                                "start": {
                                  "line": 171,
                                  "column": 20
                                },
                                "end": {
                                  "line": 171,
                                  "column": 28
                                },
                                "identifierName": "toBuffer"
                              },
                              "name": "toBuffer"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 5382,
                          "end": 5390,
                          "loc": {
                            "start": {
                              "line": 171,
                              "column": 31
                            },
                            "end": {
                              "line": 171,
                              "column": 39
                            },
                            "identifierName": "toString"
                          },
                          "name": "toString"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "StringLiteral",
                          "start": 5391,
                          "end": 5396,
                          "loc": {
                            "start": {
                              "line": 171,
                              "column": 40
                            },
                            "end": {
                              "line": 171,
                              "column": 45
                            }
                          },
                          "extra": {
                            "rawValue": "hex",
                            "raw": "\"hex\""
                          },
                          "value": "hex"
                        }
                      ]
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": " </helper_functions> ",
                  "start": 5410,
                  "end": 5435,
                  "loc": {
                    "start": {
                      "line": 174,
                      "column": 4
                    },
                    "end": {
                      "line": 174,
                      "column": 29
                    }
                  }
                }
              ]
            }
          ]
        },
        "name": "_",
        "leadingComments": [],
        "trailingComments": []
      },
      {
        "type": "Identifier",
        "start": 5439,
        "end": 5465,
        "loc": {
          "start": {
            "line": 177,
            "column": 0
          },
          "end": {
            "line": 177,
            "column": 26
          }
        },
        "declaration": {
          "type": "Identifier",
          "start": 5454,
          "end": 5464,
          "loc": {
            "start": {
              "line": 177,
              "column": 15
            },
            "end": {
              "line": 177,
              "column": 25
            },
            "identifierName": "PrivateKey"
          },
          "name": "PrivateKey"
        },
        "name": "_",
        "leadingComments": [],
        "trailingComments": []
      },
      {
        "type": "VariableDeclaration",
        "start": 5467,
        "end": 5566,
        "loc": {
          "start": {
            "line": 179,
            "column": 0
          },
          "end": {
            "line": 180,
            "column": 76
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 5471,
            "end": 5565,
            "loc": {
              "start": {
                "line": 179,
                "column": 4
              },
              "end": {
                "line": 180,
                "column": 75
              }
            },
            "id": {
              "type": "Identifier",
              "start": 5471,
              "end": 5479,
              "loc": {
                "start": {
                  "line": 179,
                  "column": 4
                },
                "end": {
                  "line": 179,
                  "column": 12
                },
                "identifierName": "toPublic"
              },
              "name": "toPublic"
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "start": 5482,
              "end": 5565,
              "loc": {
                "start": {
                  "line": 179,
                  "column": 15
                },
                "end": {
                  "line": 180,
                  "column": 75
                }
              },
              "id": {
                "type": "Identifier",
                "start": 5471,
                "end": 5479,
                "loc": {
                  "start": {
                    "line": 179,
                    "column": 4
                  },
                  "end": {
                    "line": 179,
                    "column": 12
                  },
                  "identifierName": "toPublic"
                },
                "name": "toPublic"
              },
              "generator": false,
              "expression": true,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 5482,
                  "end": 5486,
                  "loc": {
                    "start": {
                      "line": 179,
                      "column": 15
                    },
                    "end": {
                      "line": 179,
                      "column": 19
                    },
                    "identifierName": "data"
                  },
                  "name": "data"
                }
              ],
              "body": {
                "type": "ConditionalExpression",
                "start": 5494,
                "end": 5565,
                "loc": {
                  "start": {
                    "line": 180,
                    "column": 4
                  },
                  "end": {
                    "line": 180,
                    "column": 75
                  }
                },
                "test": {
                  "type": "BinaryExpression",
                  "start": 5494,
                  "end": 5506,
                  "loc": {
                    "start": {
                      "line": 180,
                      "column": 4
                    },
                    "end": {
                      "line": 180,
                      "column": 16
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 5494,
                    "end": 5498,
                    "loc": {
                      "start": {
                        "line": 180,
                        "column": 4
                      },
                      "end": {
                        "line": 180,
                        "column": 8
                      },
                      "identifierName": "data"
                    },
                    "name": "data"
                  },
                  "operator": "==",
                  "right": {
                    "type": "NullLiteral",
                    "start": 5502,
                    "end": 5506,
                    "loc": {
                      "start": {
                        "line": 180,
                        "column": 12
                      },
                      "end": {
                        "line": 180,
                        "column": 16
                      }
                    }
                  }
                },
                "consequent": {
                  "type": "Identifier",
                  "start": 5509,
                  "end": 5513,
                  "loc": {
                    "start": {
                      "line": 180,
                      "column": 19
                    },
                    "end": {
                      "line": 180,
                      "column": 23
                    },
                    "identifierName": "data"
                  },
                  "name": "data"
                },
                "alternate": {
                  "type": "ConditionalExpression",
                  "start": 5516,
                  "end": 5565,
                  "loc": {
                    "start": {
                      "line": 180,
                      "column": 26
                    },
                    "end": {
                      "line": 180,
                      "column": 75
                    }
                  },
                  "test": {
                    "type": "MemberExpression",
                    "start": 5516,
                    "end": 5522,
                    "loc": {
                      "start": {
                        "line": 180,
                        "column": 26
                      },
                      "end": {
                        "line": 180,
                        "column": 32
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 5516,
                      "end": 5520,
                      "loc": {
                        "start": {
                          "line": 180,
                          "column": 26
                        },
                        "end": {
                          "line": 180,
                          "column": 30
                        },
                        "identifierName": "data"
                      },
                      "name": "data"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 5521,
                      "end": 5522,
                      "loc": {
                        "start": {
                          "line": 180,
                          "column": 31
                        },
                        "end": {
                          "line": 180,
                          "column": 32
                        },
                        "identifierName": "Q"
                      },
                      "name": "Q"
                    },
                    "computed": false
                  },
                  "consequent": {
                    "type": "Identifier",
                    "start": 5525,
                    "end": 5529,
                    "loc": {
                      "start": {
                        "line": 180,
                        "column": 35
                      },
                      "end": {
                        "line": 180,
                        "column": 39
                      },
                      "identifierName": "data"
                    },
                    "name": "data"
                  },
                  "alternate": {
                    "type": "CallExpression",
                    "start": 5532,
                    "end": 5565,
                    "loc": {
                      "start": {
                        "line": 180,
                        "column": 42
                      },
                      "end": {
                        "line": 180,
                        "column": 75
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 5532,
                      "end": 5559,
                      "loc": {
                        "start": {
                          "line": 180,
                          "column": 42
                        },
                        "end": {
                          "line": 180,
                          "column": 69
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 5532,
                        "end": 5541,
                        "loc": {
                          "start": {
                            "line": 180,
                            "column": 42
                          },
                          "end": {
                            "line": 180,
                            "column": 51
                          },
                          "identifierName": "PublicKey"
                        },
                        "name": "PublicKey"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 5542,
                        "end": 5559,
                        "loc": {
                          "start": {
                            "line": 180,
                            "column": 52
                          },
                          "end": {
                            "line": 180,
                            "column": 69
                          },
                          "identifierName": "fromStringOrThrow"
                        },
                        "name": "fromStringOrThrow"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 5560,
                        "end": 5564,
                        "loc": {
                          "start": {
                            "line": 180,
                            "column": 70
                          },
                          "end": {
                            "line": 180,
                            "column": 74
                          },
                          "identifierName": "data"
                        },
                        "name": "data"
                      }
                    ]
                  }
                }
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "ExportDefaultDeclaration",
        "start": 5439,
        "end": 5465,
        "loc": {
          "start": {
            "line": 177,
            "column": 0
          },
          "end": {
            "line": 177,
            "column": 26
          }
        },
        "declaration": {
          "type": "ClassDeclaration",
          "start": 373,
          "end": 5437,
          "loc": {
            "start": {
              "line": 13,
              "column": 0
            },
            "end": {
              "line": 175,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 379,
            "end": 389,
            "loc": {
              "start": {
                "line": 13,
                "column": 6
              },
              "end": {
                "line": 13,
                "column": 16
              },
              "identifierName": "PrivateKey"
            },
            "name": "PrivateKey"
          },
          "superClass": null,
          "body": {
            "type": "ClassBody",
            "start": 390,
            "end": 5437,
            "loc": {
              "start": {
                "line": 13,
                "column": 17
              },
              "end": {
                "line": 175,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 477,
                "end": 519,
                "loc": {
                  "start": {
                    "line": 18,
                    "column": 4
                  },
                  "end": {
                    "line": 20,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 477,
                  "end": 488,
                  "loc": {
                    "start": {
                      "line": 18,
                      "column": 4
                    },
                    "end": {
                      "line": 18,
                      "column": 15
                    },
                    "identifierName": "constructor"
                  },
                  "name": "constructor",
                  "leadingComments": null
                },
                "kind": "constructor",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 489,
                    "end": 490,
                    "loc": {
                      "start": {
                        "line": 18,
                        "column": 16
                      },
                      "end": {
                        "line": 18,
                        "column": 17
                      },
                      "identifierName": "d"
                    },
                    "name": "d"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 492,
                  "end": 519,
                  "loc": {
                    "start": {
                      "line": 18,
                      "column": 19
                    },
                    "end": {
                      "line": 20,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 502,
                      "end": 513,
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 8
                        },
                        "end": {
                          "line": 19,
                          "column": 19
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 502,
                        "end": 512,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 8
                          },
                          "end": {
                            "line": 19,
                            "column": 18
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 502,
                          "end": 508,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 8
                            },
                            "end": {
                              "line": 19,
                              "column": 14
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 502,
                            "end": 506,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 8
                              },
                              "end": {
                                "line": 19,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 507,
                            "end": 508,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 13
                              },
                              "end": {
                                "line": 19,
                                "column": 14
                              },
                              "identifierName": "d"
                            },
                            "name": "d"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 511,
                          "end": 512,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 17
                            },
                            "end": {
                              "line": 19,
                              "column": 18
                            },
                            "identifierName": "d"
                          },
                          "name": "d"
                        }
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n        @private see static functions\n        @param {BigInteger}\n    ",
                    "start": 396,
                    "end": 472,
                    "loc": {
                      "start": {
                        "line": 14,
                        "column": 4
                      },
                      "end": {
                        "line": 17,
                        "column": 6
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 525,
                "end": 1059,
                "loc": {
                  "start": {
                    "line": 22,
                    "column": 4
                  },
                  "end": {
                    "line": 38,
                    "column": 5
                  }
                },
                "static": true,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 532,
                  "end": 542,
                  "loc": {
                    "start": {
                      "line": 22,
                      "column": 11
                    },
                    "end": {
                      "line": 22,
                      "column": 21
                    },
                    "identifierName": "fromBuffer"
                  },
                  "name": "fromBuffer"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 543,
                    "end": 546,
                    "loc": {
                      "start": {
                        "line": 22,
                        "column": 22
                      },
                      "end": {
                        "line": 22,
                        "column": 25
                      },
                      "identifierName": "buf"
                    },
                    "name": "buf"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 548,
                  "end": 1059,
                  "loc": {
                    "start": {
                      "line": 22,
                      "column": 27
                    },
                    "end": {
                      "line": 38,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 558,
                      "end": 667,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 8
                        },
                        "end": {
                          "line": 25,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 562,
                        "end": 583,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 12
                          },
                          "end": {
                            "line": 23,
                            "column": 33
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "CallExpression",
                          "start": 563,
                          "end": 583,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 13
                            },
                            "end": {
                              "line": 23,
                              "column": 33
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 563,
                            "end": 578,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 13
                              },
                              "end": {
                                "line": 23,
                                "column": 28
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 563,
                              "end": 569,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 13
                                },
                                "end": {
                                  "line": 23,
                                  "column": 19
                                },
                                "identifierName": "Buffer"
                              },
                              "name": "Buffer"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 570,
                              "end": 578,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 20
                                },
                                "end": {
                                  "line": 23,
                                  "column": 28
                                },
                                "identifierName": "isBuffer"
                              },
                              "name": "isBuffer"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 579,
                              "end": 582,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 29
                                },
                                "end": {
                                  "line": 23,
                                  "column": 32
                                },
                                "identifierName": "buf"
                              },
                              "name": "buf"
                            }
                          ]
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 585,
                        "end": 667,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 35
                          },
                          "end": {
                            "line": 25,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "start": 599,
                            "end": 657,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 12
                              },
                              "end": {
                                "line": 24,
                                "column": 70
                              }
                            },
                            "argument": {
                              "type": "NewExpression",
                              "start": 605,
                              "end": 656,
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 18
                                },
                                "end": {
                                  "line": 24,
                                  "column": 69
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 609,
                                "end": 614,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 27
                                  },
                                  "identifierName": "Error"
                                },
                                "name": "Error"
                              },
                              "arguments": [
                                {
                                  "type": "StringLiteral",
                                  "start": 615,
                                  "end": 655,
                                  "loc": {
                                    "start": {
                                      "line": 24,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 24,
                                      "column": 68
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "Expecting paramter to be a Buffer type",
                                    "raw": "\"Expecting paramter to be a Buffer type\""
                                  },
                                  "value": "Expecting paramter to be a Buffer type"
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 676,
                      "end": 907,
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 8
                        },
                        "end": {
                          "line": 33,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 680,
                        "end": 697,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 12
                          },
                          "end": {
                            "line": 26,
                            "column": 29
                          }
                        },
                        "left": {
                          "type": "NumericLiteral",
                          "start": 680,
                          "end": 682,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 12
                            },
                            "end": {
                              "line": 26,
                              "column": 14
                            }
                          },
                          "extra": {
                            "rawValue": 32,
                            "raw": "32"
                          },
                          "value": 32
                        },
                        "operator": "!==",
                        "right": {
                          "type": "MemberExpression",
                          "start": 687,
                          "end": 697,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 19
                            },
                            "end": {
                              "line": 26,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 687,
                            "end": 690,
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 19
                              },
                              "end": {
                                "line": 26,
                                "column": 22
                              },
                              "identifierName": "buf"
                            },
                            "name": "buf"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 691,
                            "end": 697,
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 23
                              },
                              "end": {
                                "line": 26,
                                "column": 29
                              },
                              "identifierName": "length"
                            },
                            "name": "length"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 699,
                        "end": 907,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 31
                          },
                          "end": {
                            "line": 33,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 713,
                            "end": 897,
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 12
                              },
                              "end": {
                                "line": 32,
                                "column": 14
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 713,
                              "end": 896,
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 12
                                },
                                "end": {
                                  "line": 32,
                                  "column": 13
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 713,
                                "end": 724,
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 713,
                                  "end": 720,
                                  "loc": {
                                    "start": {
                                      "line": 27,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 27,
                                      "column": 19
                                    },
                                    "identifierName": "console"
                                  },
                                  "name": "console"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 721,
                                  "end": 724,
                                  "loc": {
                                    "start": {
                                      "line": 27,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 27,
                                      "column": 23
                                    },
                                    "identifierName": "log"
                                  },
                                  "name": "log"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "TemplateLiteral",
                                  "start": 742,
                                  "end": 847,
                                  "loc": {
                                    "start": {
                                      "line": 28,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 30,
                                      "column": 32
                                    }
                                  },
                                  "expressions": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 804,
                                      "end": 814,
                                      "loc": {
                                        "start": {
                                          "line": 29,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 29,
                                          "column": 30
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 804,
                                        "end": 807,
                                        "loc": {
                                          "start": {
                                            "line": 29,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 29,
                                            "column": 23
                                          },
                                          "identifierName": "buf"
                                        },
                                        "name": "buf"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 808,
                                        "end": 814,
                                        "loc": {
                                          "start": {
                                            "line": 29,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 29,
                                            "column": 30
                                          },
                                          "identifierName": "length"
                                        },
                                        "name": "length"
                                      },
                                      "computed": false
                                    }
                                  ],
                                  "quasis": [
                                    {
                                      "type": "TemplateElement",
                                      "start": 743,
                                      "end": 781,
                                      "loc": {
                                        "start": {
                                          "line": 28,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 28,
                                          "column": 55
                                        }
                                      },
                                      "value": {
                                        "raw": "WARN: Expecting 32 bytes, instead got ",
                                        "cooked": "WARN: Expecting 32 bytes, instead got "
                                      },
                                      "tail": false
                                    },
                                    {
                                      "type": "TemplateElement",
                                      "start": 832,
                                      "end": 846,
                                      "loc": {
                                        "start": {
                                          "line": 30,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 30,
                                          "column": 31
                                        }
                                      },
                                      "value": {
                                        "raw": ", stack trace:",
                                        "cooked": ", stack trace:"
                                      },
                                      "tail": true
                                    }
                                  ]
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 865,
                                  "end": 882,
                                  "loc": {
                                    "start": {
                                      "line": 31,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 31,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "NewExpression",
                                    "start": 865,
                                    "end": 876,
                                    "loc": {
                                      "start": {
                                        "line": 31,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 31,
                                        "column": 27
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 869,
                                      "end": 874,
                                      "loc": {
                                        "start": {
                                          "line": 31,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 31,
                                          "column": 25
                                        },
                                        "identifierName": "Error"
                                      },
                                      "name": "Error"
                                    },
                                    "arguments": []
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 877,
                                    "end": 882,
                                    "loc": {
                                      "start": {
                                        "line": 31,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 31,
                                        "column": 33
                                      },
                                      "identifierName": "stack"
                                    },
                                    "name": "stack"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 916,
                      "end": 994,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 8
                        },
                        "end": {
                          "line": 36,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 920,
                        "end": 936,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 12
                          },
                          "end": {
                            "line": 34,
                            "column": 28
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 920,
                          "end": 930,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 12
                            },
                            "end": {
                              "line": 34,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 920,
                            "end": 923,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 12
                              },
                              "end": {
                                "line": 34,
                                "column": 15
                              },
                              "identifierName": "buf"
                            },
                            "name": "buf"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 924,
                            "end": 930,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 16
                              },
                              "end": {
                                "line": 34,
                                "column": 22
                              },
                              "identifierName": "length"
                            },
                            "name": "length"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "NumericLiteral",
                          "start": 935,
                          "end": 936,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 27
                            },
                            "end": {
                              "line": 34,
                              "column": 28
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 938,
                        "end": 994,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 30
                          },
                          "end": {
                            "line": 36,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "start": 952,
                            "end": 984,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 12
                              },
                              "end": {
                                "line": 35,
                                "column": 44
                              }
                            },
                            "argument": {
                              "type": "NewExpression",
                              "start": 958,
                              "end": 983,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 18
                                },
                                "end": {
                                  "line": 35,
                                  "column": 43
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 962,
                                "end": 967,
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 27
                                  },
                                  "identifierName": "Error"
                                },
                                "name": "Error"
                              },
                              "arguments": [
                                {
                                  "type": "StringLiteral",
                                  "start": 968,
                                  "end": 982,
                                  "loc": {
                                    "start": {
                                      "line": 35,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 35,
                                      "column": 42
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "Empty buffer",
                                    "raw": "\"Empty buffer\""
                                  },
                                  "value": "Empty buffer"
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 1003,
                      "end": 1053,
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 8
                        },
                        "end": {
                          "line": 37,
                          "column": 58
                        }
                      },
                      "argument": {
                        "type": "NewExpression",
                        "start": 1010,
                        "end": 1052,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 15
                          },
                          "end": {
                            "line": 37,
                            "column": 57
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 1014,
                          "end": 1024,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 19
                            },
                            "end": {
                              "line": 37,
                              "column": 29
                            },
                            "identifierName": "PrivateKey"
                          },
                          "name": "PrivateKey"
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 1025,
                            "end": 1051,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 30
                              },
                              "end": {
                                "line": 37,
                                "column": 56
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1025,
                              "end": 1046,
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 30
                                },
                                "end": {
                                  "line": 37,
                                  "column": 51
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1025,
                                "end": 1035,
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 40
                                  },
                                  "identifierName": "BigInteger"
                                },
                                "name": "BigInteger"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1036,
                                "end": 1046,
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 51
                                  },
                                  "identifierName": "fromBuffer"
                                },
                                "name": "fromBuffer"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 1047,
                                "end": 1050,
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 55
                                  },
                                  "identifierName": "buf"
                                },
                                "name": "buf"
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "* @arg {string} seed - any length string.  This is private, the same seed produces the same private key every time.  ",
                    "start": 1065,
                    "end": 1186,
                    "loc": {
                      "start": {
                        "line": 40,
                        "column": 4
                      },
                      "end": {
                        "line": 40,
                        "column": 125
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 1191,
                "end": 1417,
                "loc": {
                  "start": {
                    "line": 41,
                    "column": 4
                  },
                  "end": {
                    "line": 47,
                    "column": 5
                  }
                },
                "static": true,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1198,
                  "end": 1206,
                  "loc": {
                    "start": {
                      "line": 41,
                      "column": 11
                    },
                    "end": {
                      "line": 41,
                      "column": 19
                    },
                    "identifierName": "fromSeed"
                  },
                  "name": "fromSeed"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1207,
                    "end": 1211,
                    "loc": {
                      "start": {
                        "line": 41,
                        "column": 20
                      },
                      "end": {
                        "line": 41,
                        "column": 24
                      },
                      "identifierName": "seed"
                    },
                    "name": "seed"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1213,
                  "end": 1417,
                  "loc": {
                    "start": {
                      "line": 41,
                      "column": 26
                    },
                    "end": {
                      "line": 47,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 1255,
                      "end": 1359,
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 8
                        },
                        "end": {
                          "line": 45,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 1259,
                        "end": 1286,
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 12
                          },
                          "end": {
                            "line": 43,
                            "column": 39
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "BinaryExpression",
                          "start": 1261,
                          "end": 1285,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 14
                            },
                            "end": {
                              "line": 43,
                              "column": 38
                            }
                          },
                          "left": {
                            "type": "UnaryExpression",
                            "start": 1261,
                            "end": 1272,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 14
                              },
                              "end": {
                                "line": 43,
                                "column": 25
                              }
                            },
                            "operator": "typeof",
                            "prefix": true,
                            "argument": {
                              "type": "Identifier",
                              "start": 1268,
                              "end": 1272,
                              "loc": {
                                "start": {
                                  "line": 43,
                                  "column": 21
                                },
                                "end": {
                                  "line": 43,
                                  "column": 25
                                },
                                "identifierName": "seed"
                              },
                              "name": "seed",
                              "leadingComments": null
                            },
                            "extra": {
                              "parenthesizedArgument": false
                            },
                            "leadingComments": null
                          },
                          "operator": "===",
                          "right": {
                            "type": "StringLiteral",
                            "start": 1277,
                            "end": 1285,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 30
                              },
                              "end": {
                                "line": 43,
                                "column": 38
                              }
                            },
                            "extra": {
                              "rawValue": "string",
                              "raw": "\"string\""
                            },
                            "value": "string"
                          },
                          "leadingComments": null,
                          "extra": {
                            "parenthesized": true,
                            "parenStart": 1260
                          }
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 1288,
                        "end": 1359,
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 41
                          },
                          "end": {
                            "line": 45,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "start": 1302,
                            "end": 1349,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 12
                              },
                              "end": {
                                "line": 44,
                                "column": 59
                              }
                            },
                            "argument": {
                              "type": "NewExpression",
                              "start": 1308,
                              "end": 1348,
                              "loc": {
                                "start": {
                                  "line": 44,
                                  "column": 18
                                },
                                "end": {
                                  "line": 44,
                                  "column": 58
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 1312,
                                "end": 1317,
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 27
                                  },
                                  "identifierName": "Error"
                                },
                                "name": "Error"
                              },
                              "arguments": [
                                {
                                  "type": "StringLiteral",
                                  "start": 1318,
                                  "end": 1347,
                                  "loc": {
                                    "start": {
                                      "line": 44,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 44,
                                      "column": 57
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "seed must be of type string",
                                    "raw": "\"seed must be of type string\""
                                  },
                                  "value": "seed must be of type string"
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " generate_private_key",
                          "start": 1223,
                          "end": 1246,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 8
                            },
                            "end": {
                              "line": 42,
                              "column": 31
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 1368,
                      "end": 1411,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 8
                        },
                        "end": {
                          "line": 46,
                          "column": 51
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 1375,
                        "end": 1410,
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 15
                          },
                          "end": {
                            "line": 46,
                            "column": 50
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1375,
                          "end": 1396,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 15
                            },
                            "end": {
                              "line": 46,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1375,
                            "end": 1385,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 15
                              },
                              "end": {
                                "line": 46,
                                "column": 25
                              },
                              "identifierName": "PrivateKey"
                            },
                            "name": "PrivateKey"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1386,
                            "end": 1396,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 26
                              },
                              "end": {
                                "line": 46,
                                "column": 36
                              },
                              "identifierName": "fromBuffer"
                            },
                            "name": "fromBuffer"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 1397,
                            "end": 1409,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 37
                              },
                              "end": {
                                "line": 46,
                                "column": 49
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 1397,
                              "end": 1403,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 37
                                },
                                "end": {
                                  "line": 46,
                                  "column": 43
                                },
                                "identifierName": "sha256"
                              },
                              "name": "sha256"
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 1404,
                                "end": 1408,
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 48
                                  },
                                  "identifierName": "seed"
                                },
                                "name": "seed"
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "* @arg {string} seed - any length string.  This is private, the same seed produces the same private key every time.  ",
                    "start": 1065,
                    "end": 1186,
                    "loc": {
                      "start": {
                        "line": 40,
                        "column": 4
                      },
                      "end": {
                        "line": 40,
                        "column": 125
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "* @return {string} Wallet Import Format (still a secret, Not encrypted) ",
                    "start": 1423,
                    "end": 1499,
                    "loc": {
                      "start": {
                        "line": 49,
                        "column": 4
                      },
                      "end": {
                        "line": 49,
                        "column": 80
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 1504,
                "end": 2329,
                "loc": {
                  "start": {
                    "line": 50,
                    "column": 4
                  },
                  "end": {
                    "line": 70,
                    "column": 5
                  }
                },
                "static": true,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1511,
                  "end": 1518,
                  "loc": {
                    "start": {
                      "line": 50,
                      "column": 11
                    },
                    "end": {
                      "line": 50,
                      "column": 18
                    },
                    "identifierName": "fromWif"
                  },
                  "name": "fromWif"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1519,
                    "end": 1531,
                    "loc": {
                      "start": {
                        "line": 50,
                        "column": 19
                      },
                      "end": {
                        "line": 50,
                        "column": 31
                      },
                      "identifierName": "_private_wif"
                    },
                    "name": "_private_wif"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1533,
                  "end": 2329,
                  "loc": {
                    "start": {
                      "line": 50,
                      "column": 33
                    },
                    "end": {
                      "line": 70,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 1543,
                      "end": 1595,
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 8
                        },
                        "end": {
                          "line": 51,
                          "column": 60
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1547,
                          "end": 1594,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 12
                            },
                            "end": {
                              "line": 51,
                              "column": 59
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1547,
                            "end": 1558,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 12
                              },
                              "end": {
                                "line": 51,
                                "column": 23
                              },
                              "identifierName": "private_wif"
                            },
                            "name": "private_wif"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 1561,
                            "end": 1594,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 26
                              },
                              "end": {
                                "line": 51,
                                "column": 59
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1561,
                              "end": 1572,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 26
                                },
                                "end": {
                                  "line": 51,
                                  "column": 37
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1561,
                                "end": 1567,
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 32
                                  },
                                  "identifierName": "Buffer"
                                },
                                "name": "Buffer"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1568,
                                "end": 1572,
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 37
                                  },
                                  "identifierName": "from"
                                },
                                "name": "from"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "CallExpression",
                                "start": 1573,
                                "end": 1593,
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 58
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 1573,
                                  "end": 1579,
                                  "loc": {
                                    "start": {
                                      "line": 51,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 51,
                                      "column": 44
                                    },
                                    "identifierName": "decode"
                                  },
                                  "name": "decode"
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 1580,
                                    "end": 1592,
                                    "loc": {
                                      "start": {
                                        "line": 51,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 51,
                                        "column": 57
                                      },
                                      "identifierName": "_private_wif"
                                    },
                                    "name": "_private_wif"
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1604,
                      "end": 1643,
                      "loc": {
                        "start": {
                          "line": 52,
                          "column": 8
                        },
                        "end": {
                          "line": 52,
                          "column": 47
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1608,
                          "end": 1642,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 12
                            },
                            "end": {
                              "line": 52,
                              "column": 46
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1608,
                            "end": 1615,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 12
                              },
                              "end": {
                                "line": 52,
                                "column": 19
                              },
                              "identifierName": "version"
                            },
                            "name": "version"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 1618,
                            "end": 1642,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 22
                              },
                              "end": {
                                "line": 52,
                                "column": 46
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1618,
                              "end": 1639,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 22
                                },
                                "end": {
                                  "line": 52,
                                  "column": 43
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1618,
                                "end": 1629,
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 33
                                  },
                                  "identifierName": "private_wif"
                                },
                                "name": "private_wif"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1630,
                                "end": 1639,
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 43
                                  },
                                  "identifierName": "readUInt8"
                                },
                                "name": "readUInt8"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "NumericLiteral",
                                "start": 1640,
                                "end": 1641,
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 45
                                  }
                                },
                                "extra": {
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                "value": 0
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1652,
                      "end": 1778,
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 8
                        },
                        "end": {
                          "line": 57,
                          "column": 10
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1652,
                        "end": 1777,
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 8
                          },
                          "end": {
                            "line": 57,
                            "column": 9
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1652,
                          "end": 1664,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 8
                            },
                            "end": {
                              "line": 53,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1652,
                            "end": 1658,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 8
                              },
                              "end": {
                                "line": 53,
                                "column": 14
                              },
                              "identifierName": "assert"
                            },
                            "name": "assert"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1659,
                            "end": 1664,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 15
                              },
                              "end": {
                                "line": 53,
                                "column": 20
                              },
                              "identifierName": "equal"
                            },
                            "name": "equal"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "NumericLiteral",
                            "start": 1678,
                            "end": 1682,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 12
                              },
                              "end": {
                                "line": 54,
                                "column": 16
                              }
                            },
                            "extra": {
                              "rawValue": 128,
                              "raw": "0x80"
                            },
                            "value": 128
                          },
                          {
                            "type": "Identifier",
                            "start": 1696,
                            "end": 1703,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 12
                              },
                              "end": {
                                "line": 55,
                                "column": 19
                              },
                              "identifierName": "version"
                            },
                            "name": "version"
                          },
                          {
                            "type": "TemplateLiteral",
                            "start": 1717,
                            "end": 1767,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 12
                              },
                              "end": {
                                "line": 56,
                                "column": 62
                              }
                            },
                            "expressions": [
                              {
                                "type": "NumericLiteral",
                                "start": 1737,
                                "end": 1741,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 36
                                  }
                                },
                                "extra": {
                                  "rawValue": 128,
                                  "raw": "0x80"
                                },
                                "value": 128
                              },
                              {
                                "type": "Identifier",
                                "start": 1758,
                                "end": 1765,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 53
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 60
                                  },
                                  "identifierName": "version"
                                },
                                "name": "version"
                              }
                            ],
                            "quasis": [
                              {
                                "type": "TemplateElement",
                                "start": 1718,
                                "end": 1735,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 30
                                  }
                                },
                                "value": {
                                  "raw": "Expected version ",
                                  "cooked": "Expected version "
                                },
                                "tail": false
                              },
                              {
                                "type": "TemplateElement",
                                "start": 1742,
                                "end": 1756,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 51
                                  }
                                },
                                "value": {
                                  "raw": ", instead got ",
                                  "cooked": ", instead got "
                                },
                                "tail": false
                              },
                              {
                                "type": "TemplateElement",
                                "start": 1766,
                                "end": 1766,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 61
                                  }
                                },
                                "value": {
                                  "raw": "",
                                  "cooked": ""
                                },
                                "tail": true
                              }
                            ]
                          }
                        ]
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " checksum includes the version",
                          "start": 1787,
                          "end": 1819,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 8
                            },
                            "end": {
                              "line": 58,
                              "column": 40
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1828,
                      "end": 1871,
                      "loc": {
                        "start": {
                          "line": 59,
                          "column": 8
                        },
                        "end": {
                          "line": 59,
                          "column": 51
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1832,
                          "end": 1870,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 12
                            },
                            "end": {
                              "line": 59,
                              "column": 50
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1832,
                            "end": 1843,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 12
                              },
                              "end": {
                                "line": 59,
                                "column": 23
                              },
                              "identifierName": "private_key"
                            },
                            "name": "private_key",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 1846,
                            "end": 1870,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 26
                              },
                              "end": {
                                "line": 59,
                                "column": 50
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1846,
                              "end": 1863,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 26
                                },
                                "end": {
                                  "line": 59,
                                  "column": 43
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1846,
                                "end": 1857,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 37
                                  },
                                  "identifierName": "private_wif"
                                },
                                "name": "private_wif"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1858,
                                "end": 1863,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 43
                                  },
                                  "identifierName": "slice"
                                },
                                "name": "slice"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "NumericLiteral",
                                "start": 1864,
                                "end": 1865,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 45
                                  }
                                },
                                "extra": {
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                "value": 0
                              },
                              {
                                "type": "UnaryExpression",
                                "start": 1867,
                                "end": 1869,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 49
                                  }
                                },
                                "operator": "-",
                                "prefix": true,
                                "argument": {
                                  "type": "NumericLiteral",
                                  "start": 1868,
                                  "end": 1869,
                                  "loc": {
                                    "start": {
                                      "line": 59,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 59,
                                      "column": 49
                                    }
                                  },
                                  "extra": {
                                    "rawValue": 4,
                                    "raw": "4"
                                  },
                                  "value": 4
                                },
                                "extra": {
                                  "parenthesizedArgument": false
                                }
                              }
                            ]
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " checksum includes the version",
                          "start": 1787,
                          "end": 1819,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 8
                            },
                            "end": {
                              "line": 58,
                              "column": 40
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1880,
                      "end": 1917,
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 8
                        },
                        "end": {
                          "line": 60,
                          "column": 45
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1884,
                          "end": 1916,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 12
                            },
                            "end": {
                              "line": 60,
                              "column": 44
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1884,
                            "end": 1892,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 12
                              },
                              "end": {
                                "line": 60,
                                "column": 20
                              },
                              "identifierName": "checksum"
                            },
                            "name": "checksum"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 1895,
                            "end": 1916,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 23
                              },
                              "end": {
                                "line": 60,
                                "column": 44
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1895,
                              "end": 1912,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 23
                                },
                                "end": {
                                  "line": 60,
                                  "column": 40
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1895,
                                "end": 1906,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 34
                                  },
                                  "identifierName": "private_wif"
                                },
                                "name": "private_wif"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1907,
                                "end": 1912,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 40
                                  },
                                  "identifierName": "slice"
                                },
                                "name": "slice"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "UnaryExpression",
                                "start": 1913,
                                "end": 1915,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 43
                                  }
                                },
                                "operator": "-",
                                "prefix": true,
                                "argument": {
                                  "type": "NumericLiteral",
                                  "start": 1914,
                                  "end": 1915,
                                  "loc": {
                                    "start": {
                                      "line": 60,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 60,
                                      "column": 43
                                    }
                                  },
                                  "extra": {
                                    "rawValue": 4,
                                    "raw": "4"
                                  },
                                  "value": 4
                                },
                                "extra": {
                                  "parenthesizedArgument": false
                                }
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1926,
                      "end": 1965,
                      "loc": {
                        "start": {
                          "line": 61,
                          "column": 8
                        },
                        "end": {
                          "line": 61,
                          "column": 47
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1930,
                          "end": 1964,
                          "loc": {
                            "start": {
                              "line": 61,
                              "column": 12
                            },
                            "end": {
                              "line": 61,
                              "column": 46
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1930,
                            "end": 1942,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 12
                              },
                              "end": {
                                "line": 61,
                                "column": 24
                              },
                              "identifierName": "new_checksum"
                            },
                            "name": "new_checksum"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 1945,
                            "end": 1964,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 27
                              },
                              "end": {
                                "line": 61,
                                "column": 46
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 1945,
                              "end": 1951,
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 27
                                },
                                "end": {
                                  "line": 61,
                                  "column": 33
                                },
                                "identifierName": "sha256"
                              },
                              "name": "sha256"
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 1952,
                                "end": 1963,
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 45
                                  },
                                  "identifierName": "private_key"
                                },
                                "name": "private_key"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1974,
                      "end": 2010,
                      "loc": {
                        "start": {
                          "line": 62,
                          "column": 8
                        },
                        "end": {
                          "line": 62,
                          "column": 44
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1974,
                        "end": 2009,
                        "loc": {
                          "start": {
                            "line": 62,
                            "column": 8
                          },
                          "end": {
                            "line": 62,
                            "column": 43
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 1974,
                          "end": 1986,
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 8
                            },
                            "end": {
                              "line": 62,
                              "column": 20
                            },
                            "identifierName": "new_checksum"
                          },
                          "name": "new_checksum"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 1989,
                          "end": 2009,
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 23
                            },
                            "end": {
                              "line": 62,
                              "column": 43
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1989,
                            "end": 1995,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 23
                              },
                              "end": {
                                "line": 62,
                                "column": 29
                              },
                              "identifierName": "sha256"
                            },
                            "name": "sha256"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1996,
                              "end": 2008,
                              "loc": {
                                "start": {
                                  "line": 62,
                                  "column": 30
                                },
                                "end": {
                                  "line": 62,
                                  "column": 42
                                },
                                "identifierName": "new_checksum"
                              },
                              "name": "new_checksum"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2019,
                      "end": 2059,
                      "loc": {
                        "start": {
                          "line": 63,
                          "column": 8
                        },
                        "end": {
                          "line": 63,
                          "column": 48
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2019,
                        "end": 2058,
                        "loc": {
                          "start": {
                            "line": 63,
                            "column": 8
                          },
                          "end": {
                            "line": 63,
                            "column": 47
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 2019,
                          "end": 2031,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 8
                            },
                            "end": {
                              "line": 63,
                              "column": 20
                            },
                            "identifierName": "new_checksum"
                          },
                          "name": "new_checksum"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 2034,
                          "end": 2058,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 23
                            },
                            "end": {
                              "line": 63,
                              "column": 47
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2034,
                            "end": 2052,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 23
                              },
                              "end": {
                                "line": 63,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2034,
                              "end": 2046,
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 23
                                },
                                "end": {
                                  "line": 63,
                                  "column": 35
                                },
                                "identifierName": "new_checksum"
                              },
                              "name": "new_checksum"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2047,
                              "end": 2052,
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 36
                                },
                                "end": {
                                  "line": 63,
                                  "column": 41
                                },
                                "identifierName": "slice"
                              },
                              "name": "slice"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "NumericLiteral",
                              "start": 2053,
                              "end": 2054,
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 42
                                },
                                "end": {
                                  "line": 63,
                                  "column": 43
                                }
                              },
                              "extra": {
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "value": 0
                            },
                            {
                              "type": "NumericLiteral",
                              "start": 2056,
                              "end": 2057,
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 45
                                },
                                "end": {
                                  "line": 63,
                                  "column": 46
                                }
                              },
                              "extra": {
                                "rawValue": 4,
                                "raw": "4"
                              },
                              "value": 4
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 2068,
                      "end": 2116,
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 8
                        },
                        "end": {
                          "line": 64,
                          "column": 56
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2072,
                          "end": 2115,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 12
                            },
                            "end": {
                              "line": 64,
                              "column": 55
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2072,
                            "end": 2079,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 12
                              },
                              "end": {
                                "line": 64,
                                "column": 19
                              },
                              "identifierName": "isEqual"
                            },
                            "name": "isEqual"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 2082,
                            "end": 2115,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 22
                              },
                              "end": {
                                "line": 64,
                                "column": 55
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 2082,
                              "end": 2091,
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 22
                                },
                                "end": {
                                  "line": 64,
                                  "column": 31
                                },
                                "identifierName": "deepEqual"
                              },
                              "name": "deepEqual"
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 2092,
                                "end": 2100,
                                "loc": {
                                  "start": {
                                    "line": 64,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 64,
                                    "column": 40
                                  },
                                  "identifierName": "checksum"
                                },
                                "name": "checksum"
                              },
                              {
                                "type": "Identifier",
                                "start": 2102,
                                "end": 2114,
                                "loc": {
                                  "start": {
                                    "line": 64,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 64,
                                    "column": 54
                                  },
                                  "identifierName": "new_checksum"
                                },
                                "name": "new_checksum"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var",
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": ", 'Invalid checksum'",
                          "start": 2117,
                          "end": 2139,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 57
                            },
                            "end": {
                              "line": 64,
                              "column": 79
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 2148,
                      "end": 2228,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 8
                        },
                        "end": {
                          "line": 67,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 2152,
                        "end": 2160,
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 12
                          },
                          "end": {
                            "line": 65,
                            "column": 20
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 2153,
                          "end": 2160,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 13
                            },
                            "end": {
                              "line": 65,
                              "column": 20
                            },
                            "identifierName": "isEqual"
                          },
                          "name": "isEqual",
                          "leadingComments": null
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 2162,
                        "end": 2228,
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 22
                          },
                          "end": {
                            "line": 67,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "start": 2176,
                            "end": 2218,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 12
                              },
                              "end": {
                                "line": 66,
                                "column": 54
                              }
                            },
                            "argument": {
                              "type": "NewExpression",
                              "start": 2182,
                              "end": 2217,
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 18
                                },
                                "end": {
                                  "line": 66,
                                  "column": 53
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 2186,
                                "end": 2191,
                                "loc": {
                                  "start": {
                                    "line": 66,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 66,
                                    "column": 27
                                  },
                                  "identifierName": "Error"
                                },
                                "name": "Error"
                              },
                              "arguments": [
                                {
                                  "type": "StringLiteral",
                                  "start": 2192,
                                  "end": 2216,
                                  "loc": {
                                    "start": {
                                      "line": 66,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 66,
                                      "column": 52
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "Checksum did not match",
                                    "raw": "\"Checksum did not match\""
                                  },
                                  "value": "Checksum did not match"
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": ", 'Invalid checksum'",
                          "start": 2117,
                          "end": 2139,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 57
                            },
                            "end": {
                              "line": 64,
                              "column": 79
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2237,
                      "end": 2272,
                      "loc": {
                        "start": {
                          "line": 68,
                          "column": 8
                        },
                        "end": {
                          "line": 68,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2237,
                        "end": 2271,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 8
                          },
                          "end": {
                            "line": 68,
                            "column": 42
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 2237,
                          "end": 2248,
                          "loc": {
                            "start": {
                              "line": 68,
                              "column": 8
                            },
                            "end": {
                              "line": 68,
                              "column": 19
                            },
                            "identifierName": "private_key"
                          },
                          "name": "private_key"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 2251,
                          "end": 2271,
                          "loc": {
                            "start": {
                              "line": 68,
                              "column": 22
                            },
                            "end": {
                              "line": 68,
                              "column": 42
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2251,
                            "end": 2268,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 22
                              },
                              "end": {
                                "line": 68,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2251,
                              "end": 2262,
                              "loc": {
                                "start": {
                                  "line": 68,
                                  "column": 22
                                },
                                "end": {
                                  "line": 68,
                                  "column": 33
                                },
                                "identifierName": "private_key"
                              },
                              "name": "private_key"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2263,
                              "end": 2268,
                              "loc": {
                                "start": {
                                  "line": 68,
                                  "column": 34
                                },
                                "end": {
                                  "line": 68,
                                  "column": 39
                                },
                                "identifierName": "slice"
                              },
                              "name": "slice"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "NumericLiteral",
                              "start": 2269,
                              "end": 2270,
                              "loc": {
                                "start": {
                                  "line": 68,
                                  "column": 40
                                },
                                "end": {
                                  "line": 68,
                                  "column": 41
                                }
                              },
                              "extra": {
                                "rawValue": 1,
                                "raw": "1"
                              },
                              "value": 1
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 2281,
                      "end": 2323,
                      "loc": {
                        "start": {
                          "line": 69,
                          "column": 8
                        },
                        "end": {
                          "line": 69,
                          "column": 50
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 2288,
                        "end": 2322,
                        "loc": {
                          "start": {
                            "line": 69,
                            "column": 15
                          },
                          "end": {
                            "line": 69,
                            "column": 49
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2288,
                          "end": 2309,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 15
                            },
                            "end": {
                              "line": 69,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2288,
                            "end": 2298,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 15
                              },
                              "end": {
                                "line": 69,
                                "column": 25
                              },
                              "identifierName": "PrivateKey"
                            },
                            "name": "PrivateKey"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2299,
                            "end": 2309,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 26
                              },
                              "end": {
                                "line": 69,
                                "column": 36
                              },
                              "identifierName": "fromBuffer"
                            },
                            "name": "fromBuffer"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 2310,
                            "end": 2321,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 37
                              },
                              "end": {
                                "line": 69,
                                "column": 48
                              },
                              "identifierName": "private_key"
                            },
                            "name": "private_key"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "* @return {string} Wallet Import Format (still a secret, Not encrypted) ",
                    "start": 1423,
                    "end": 1499,
                    "loc": {
                      "start": {
                        "line": 49,
                        "column": 4
                      },
                      "end": {
                        "line": 49,
                        "column": 80
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 2335,
                "end": 2731,
                "loc": {
                  "start": {
                    "line": 72,
                    "column": 4
                  },
                  "end": {
                    "line": 81,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2335,
                  "end": 2340,
                  "loc": {
                    "start": {
                      "line": 72,
                      "column": 4
                    },
                    "end": {
                      "line": 72,
                      "column": 9
                    },
                    "identifierName": "toWif"
                  },
                  "name": "toWif"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 2343,
                  "end": 2731,
                  "loc": {
                    "start": {
                      "line": 72,
                      "column": 12
                    },
                    "end": {
                      "line": 81,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 2353,
                      "end": 2387,
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 8
                        },
                        "end": {
                          "line": 73,
                          "column": 42
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2357,
                          "end": 2386,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 12
                            },
                            "end": {
                              "line": 73,
                              "column": 41
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2357,
                            "end": 2368,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 12
                              },
                              "end": {
                                "line": 73,
                                "column": 23
                              },
                              "identifierName": "private_key"
                            },
                            "name": "private_key"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 2371,
                            "end": 2386,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 26
                              },
                              "end": {
                                "line": 73,
                                "column": 41
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 2371,
                              "end": 2384,
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 26
                                },
                                "end": {
                                  "line": 73,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2371,
                                "end": 2375,
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 30
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2376,
                                "end": 2384,
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 39
                                  },
                                  "identifierName": "toBuffer"
                                },
                                "name": "toBuffer"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "var",
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " checksum includes the version",
                          "start": 2396,
                          "end": 2428,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 8
                            },
                            "end": {
                              "line": 74,
                              "column": 40
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2437,
                      "end": 2501,
                      "loc": {
                        "start": {
                          "line": 75,
                          "column": 8
                        },
                        "end": {
                          "line": 75,
                          "column": 72
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2437,
                        "end": 2500,
                        "loc": {
                          "start": {
                            "line": 75,
                            "column": 8
                          },
                          "end": {
                            "line": 75,
                            "column": 71
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 2437,
                          "end": 2448,
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 8
                            },
                            "end": {
                              "line": 75,
                              "column": 19
                            },
                            "identifierName": "private_key"
                          },
                          "name": "private_key",
                          "leadingComments": null
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 2451,
                          "end": 2500,
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 22
                            },
                            "end": {
                              "line": 75,
                              "column": 71
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2451,
                            "end": 2464,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 22
                              },
                              "end": {
                                "line": 75,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2451,
                              "end": 2457,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 22
                                },
                                "end": {
                                  "line": 75,
                                  "column": 28
                                },
                                "identifierName": "Buffer"
                              },
                              "name": "Buffer"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2458,
                              "end": 2464,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 29
                                },
                                "end": {
                                  "line": 75,
                                  "column": 35
                                },
                                "identifierName": "concat"
                              },
                              "name": "concat"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ArrayExpression",
                              "start": 2465,
                              "end": 2499,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 36
                                },
                                "end": {
                                  "line": 75,
                                  "column": 70
                                }
                              },
                              "elements": [
                                {
                                  "type": "CallExpression",
                                  "start": 2466,
                                  "end": 2485,
                                  "loc": {
                                    "start": {
                                      "line": 75,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 75,
                                      "column": 56
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 2466,
                                    "end": 2477,
                                    "loc": {
                                      "start": {
                                        "line": 75,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 75,
                                        "column": 48
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 2466,
                                      "end": 2472,
                                      "loc": {
                                        "start": {
                                          "line": 75,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 75,
                                          "column": 43
                                        },
                                        "identifierName": "Buffer"
                                      },
                                      "name": "Buffer"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2473,
                                      "end": 2477,
                                      "loc": {
                                        "start": {
                                          "line": 75,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 75,
                                          "column": 48
                                        },
                                        "identifierName": "from"
                                      },
                                      "name": "from"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "ArrayExpression",
                                      "start": 2478,
                                      "end": 2484,
                                      "loc": {
                                        "start": {
                                          "line": 75,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 75,
                                          "column": 55
                                        }
                                      },
                                      "elements": [
                                        {
                                          "type": "NumericLiteral",
                                          "start": 2479,
                                          "end": 2483,
                                          "loc": {
                                            "start": {
                                              "line": 75,
                                              "column": 50
                                            },
                                            "end": {
                                              "line": 75,
                                              "column": 54
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 128,
                                            "raw": "0x80"
                                          },
                                          "value": 128
                                        }
                                      ]
                                    }
                                  ]
                                },
                                {
                                  "type": "Identifier",
                                  "start": 2487,
                                  "end": 2498,
                                  "loc": {
                                    "start": {
                                      "line": 75,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 75,
                                      "column": 69
                                    },
                                    "identifierName": "private_key"
                                  },
                                  "name": "private_key"
                                }
                              ]
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " checksum includes the version",
                          "start": 2396,
                          "end": 2428,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 8
                            },
                            "end": {
                              "line": 74,
                              "column": 40
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 2510,
                      "end": 2545,
                      "loc": {
                        "start": {
                          "line": 76,
                          "column": 8
                        },
                        "end": {
                          "line": 76,
                          "column": 43
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2514,
                          "end": 2544,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 12
                            },
                            "end": {
                              "line": 76,
                              "column": 42
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2514,
                            "end": 2522,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 12
                              },
                              "end": {
                                "line": 76,
                                "column": 20
                              },
                              "identifierName": "checksum"
                            },
                            "name": "checksum"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 2525,
                            "end": 2544,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 23
                              },
                              "end": {
                                "line": 76,
                                "column": 42
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 2525,
                              "end": 2531,
                              "loc": {
                                "start": {
                                  "line": 76,
                                  "column": 23
                                },
                                "end": {
                                  "line": 76,
                                  "column": 29
                                },
                                "identifierName": "sha256"
                              },
                              "name": "sha256"
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 2532,
                                "end": 2543,
                                "loc": {
                                  "start": {
                                    "line": 76,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 76,
                                    "column": 41
                                  },
                                  "identifierName": "private_key"
                                },
                                "name": "private_key"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2554,
                      "end": 2582,
                      "loc": {
                        "start": {
                          "line": 77,
                          "column": 8
                        },
                        "end": {
                          "line": 77,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2554,
                        "end": 2581,
                        "loc": {
                          "start": {
                            "line": 77,
                            "column": 8
                          },
                          "end": {
                            "line": 77,
                            "column": 35
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 2554,
                          "end": 2562,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 8
                            },
                            "end": {
                              "line": 77,
                              "column": 16
                            },
                            "identifierName": "checksum"
                          },
                          "name": "checksum"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 2565,
                          "end": 2581,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 19
                            },
                            "end": {
                              "line": 77,
                              "column": 35
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2565,
                            "end": 2571,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 19
                              },
                              "end": {
                                "line": 77,
                                "column": 25
                              },
                              "identifierName": "sha256"
                            },
                            "name": "sha256"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 2572,
                              "end": 2580,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 26
                                },
                                "end": {
                                  "line": 77,
                                  "column": 34
                                },
                                "identifierName": "checksum"
                              },
                              "name": "checksum"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2591,
                      "end": 2623,
                      "loc": {
                        "start": {
                          "line": 78,
                          "column": 8
                        },
                        "end": {
                          "line": 78,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2591,
                        "end": 2622,
                        "loc": {
                          "start": {
                            "line": 78,
                            "column": 8
                          },
                          "end": {
                            "line": 78,
                            "column": 39
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 2591,
                          "end": 2599,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 8
                            },
                            "end": {
                              "line": 78,
                              "column": 16
                            },
                            "identifierName": "checksum"
                          },
                          "name": "checksum"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 2602,
                          "end": 2622,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 19
                            },
                            "end": {
                              "line": 78,
                              "column": 39
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2602,
                            "end": 2616,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 19
                              },
                              "end": {
                                "line": 78,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2602,
                              "end": 2610,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 19
                                },
                                "end": {
                                  "line": 78,
                                  "column": 27
                                },
                                "identifierName": "checksum"
                              },
                              "name": "checksum"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2611,
                              "end": 2616,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 28
                                },
                                "end": {
                                  "line": 78,
                                  "column": 33
                                },
                                "identifierName": "slice"
                              },
                              "name": "slice"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "NumericLiteral",
                              "start": 2617,
                              "end": 2618,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 34
                                },
                                "end": {
                                  "line": 78,
                                  "column": 35
                                }
                              },
                              "extra": {
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "value": 0
                            },
                            {
                              "type": "NumericLiteral",
                              "start": 2620,
                              "end": 2621,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 37
                                },
                                "end": {
                                  "line": 78,
                                  "column": 38
                                }
                              },
                              "extra": {
                                "rawValue": 4,
                                "raw": "4"
                              },
                              "value": 4
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 2632,
                      "end": 2689,
                      "loc": {
                        "start": {
                          "line": 79,
                          "column": 8
                        },
                        "end": {
                          "line": 79,
                          "column": 65
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2636,
                          "end": 2688,
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 12
                            },
                            "end": {
                              "line": 79,
                              "column": 64
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2636,
                            "end": 2647,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 12
                              },
                              "end": {
                                "line": 79,
                                "column": 23
                              },
                              "identifierName": "private_wif"
                            },
                            "name": "private_wif"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 2650,
                            "end": 2688,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 26
                              },
                              "end": {
                                "line": 79,
                                "column": 64
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 2650,
                              "end": 2663,
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 26
                                },
                                "end": {
                                  "line": 79,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2650,
                                "end": 2656,
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 32
                                  },
                                  "identifierName": "Buffer"
                                },
                                "name": "Buffer"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2657,
                                "end": 2663,
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 39
                                  },
                                  "identifierName": "concat"
                                },
                                "name": "concat"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ArrayExpression",
                                "start": 2664,
                                "end": 2687,
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 63
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "Identifier",
                                    "start": 2665,
                                    "end": 2676,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 52
                                      },
                                      "identifierName": "private_key"
                                    },
                                    "name": "private_key"
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 2678,
                                    "end": 2686,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 62
                                      },
                                      "identifierName": "checksum"
                                    },
                                    "name": "checksum"
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 2698,
                      "end": 2725,
                      "loc": {
                        "start": {
                          "line": 80,
                          "column": 8
                        },
                        "end": {
                          "line": 80,
                          "column": 35
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 2705,
                        "end": 2724,
                        "loc": {
                          "start": {
                            "line": 80,
                            "column": 15
                          },
                          "end": {
                            "line": 80,
                            "column": 34
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 2705,
                          "end": 2711,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 15
                            },
                            "end": {
                              "line": 80,
                              "column": 21
                            },
                            "identifierName": "encode"
                          },
                          "name": "encode"
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 2712,
                            "end": 2723,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 22
                              },
                              "end": {
                                "line": 80,
                                "column": 33
                              },
                              "identifierName": "private_wif"
                            },
                            "name": "private_wif"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n        @return {Point}\n    ",
                    "start": 2737,
                    "end": 2771,
                    "loc": {
                      "start": {
                        "line": 83,
                        "column": 4
                      },
                      "end": {
                        "line": 85,
                        "column": 6
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 2776,
                "end": 2847,
                "loc": {
                  "start": {
                    "line": 86,
                    "column": 4
                  },
                  "end": {
                    "line": 88,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2776,
                  "end": 2792,
                  "loc": {
                    "start": {
                      "line": 86,
                      "column": 4
                    },
                    "end": {
                      "line": 86,
                      "column": 20
                    },
                    "identifierName": "toPublicKeyPoint"
                  },
                  "name": "toPublicKeyPoint",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 2795,
                  "end": 2847,
                  "loc": {
                    "start": {
                      "line": 86,
                      "column": 23
                    },
                    "end": {
                      "line": 88,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 2805,
                      "end": 2841,
                      "loc": {
                        "start": {
                          "line": 87,
                          "column": 8
                        },
                        "end": {
                          "line": 87,
                          "column": 44
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 2812,
                        "end": 2840,
                        "loc": {
                          "start": {
                            "line": 87,
                            "column": 15
                          },
                          "end": {
                            "line": 87,
                            "column": 43
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2812,
                          "end": 2832,
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 15
                            },
                            "end": {
                              "line": 87,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2812,
                            "end": 2823,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 15
                              },
                              "end": {
                                "line": 87,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2812,
                              "end": 2821,
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 15
                                },
                                "end": {
                                  "line": 87,
                                  "column": 24
                                },
                                "identifierName": "secp256k1"
                              },
                              "name": "secp256k1"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2822,
                              "end": 2823,
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 25
                                },
                                "end": {
                                  "line": 87,
                                  "column": 26
                                },
                                "identifierName": "G"
                              },
                              "name": "G"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2824,
                            "end": 2832,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 27
                              },
                              "end": {
                                "line": 87,
                                "column": 35
                              },
                              "identifierName": "multiply"
                            },
                            "name": "multiply"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 2833,
                            "end": 2839,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 36
                              },
                              "end": {
                                "line": 87,
                                "column": 42
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2833,
                              "end": 2837,
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 36
                                },
                                "end": {
                                  "line": 87,
                                  "column": 40
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2838,
                              "end": 2839,
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 41
                                },
                                "end": {
                                  "line": 87,
                                  "column": 42
                                },
                                "identifierName": "d"
                              },
                              "name": "d"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n        @return {Point}\n    ",
                    "start": 2737,
                    "end": 2771,
                    "loc": {
                      "start": {
                        "line": 83,
                        "column": 4
                      },
                      "end": {
                        "line": 85,
                        "column": 6
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 2853,
                "end": 3032,
                "loc": {
                  "start": {
                    "line": 90,
                    "column": 4
                  },
                  "end": {
                    "line": 95,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2853,
                  "end": 2864,
                  "loc": {
                    "start": {
                      "line": 90,
                      "column": 4
                    },
                    "end": {
                      "line": 90,
                      "column": 15
                    },
                    "identifierName": "toPublicKey"
                  },
                  "name": "toPublicKey"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 2867,
                  "end": 3032,
                  "loc": {
                    "start": {
                      "line": 90,
                      "column": 18
                    },
                    "end": {
                      "line": 95,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 2877,
                      "end": 2945,
                      "loc": {
                        "start": {
                          "line": 91,
                          "column": 8
                        },
                        "end": {
                          "line": 93,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 2881,
                        "end": 2896,
                        "loc": {
                          "start": {
                            "line": 91,
                            "column": 12
                          },
                          "end": {
                            "line": 91,
                            "column": 27
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 2881,
                          "end": 2885,
                          "loc": {
                            "start": {
                              "line": 91,
                              "column": 12
                            },
                            "end": {
                              "line": 91,
                              "column": 16
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2886,
                          "end": 2896,
                          "loc": {
                            "start": {
                              "line": 91,
                              "column": 17
                            },
                            "end": {
                              "line": 91,
                              "column": 27
                            },
                            "identifierName": "public_key"
                          },
                          "name": "public_key"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 2898,
                        "end": 2945,
                        "loc": {
                          "start": {
                            "line": 91,
                            "column": 29
                          },
                          "end": {
                            "line": 93,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ReturnStatement",
                            "start": 2912,
                            "end": 2935,
                            "loc": {
                              "start": {
                                "line": 92,
                                "column": 12
                              },
                              "end": {
                                "line": 92,
                                "column": 35
                              }
                            },
                            "argument": {
                              "type": "MemberExpression",
                              "start": 2919,
                              "end": 2934,
                              "loc": {
                                "start": {
                                  "line": 92,
                                  "column": 19
                                },
                                "end": {
                                  "line": 92,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2919,
                                "end": 2923,
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 92,
                                    "column": 23
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2924,
                                "end": 2934,
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 92,
                                    "column": 34
                                  },
                                  "identifierName": "public_key"
                                },
                                "name": "public_key"
                              },
                              "computed": false
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 2954,
                      "end": 3026,
                      "loc": {
                        "start": {
                          "line": 94,
                          "column": 8
                        },
                        "end": {
                          "line": 94,
                          "column": 80
                        }
                      },
                      "argument": {
                        "type": "AssignmentExpression",
                        "start": 2962,
                        "end": 3024,
                        "loc": {
                          "start": {
                            "line": 94,
                            "column": 16
                          },
                          "end": {
                            "line": 94,
                            "column": 78
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2962,
                          "end": 2977,
                          "loc": {
                            "start": {
                              "line": 94,
                              "column": 16
                            },
                            "end": {
                              "line": 94,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2962,
                            "end": 2966,
                            "loc": {
                              "start": {
                                "line": 94,
                                "column": 16
                              },
                              "end": {
                                "line": 94,
                                "column": 20
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2967,
                            "end": 2977,
                            "loc": {
                              "start": {
                                "line": 94,
                                "column": 21
                              },
                              "end": {
                                "line": 94,
                                "column": 31
                              },
                              "identifierName": "public_key"
                            },
                            "name": "public_key"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 2980,
                          "end": 3024,
                          "loc": {
                            "start": {
                              "line": 94,
                              "column": 34
                            },
                            "end": {
                              "line": 94,
                              "column": 78
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2980,
                            "end": 2999,
                            "loc": {
                              "start": {
                                "line": 94,
                                "column": 34
                              },
                              "end": {
                                "line": 94,
                                "column": 53
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2980,
                              "end": 2989,
                              "loc": {
                                "start": {
                                  "line": 94,
                                  "column": 34
                                },
                                "end": {
                                  "line": 94,
                                  "column": 43
                                },
                                "identifierName": "PublicKey"
                              },
                              "name": "PublicKey"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2990,
                              "end": 2999,
                              "loc": {
                                "start": {
                                  "line": 94,
                                  "column": 44
                                },
                                "end": {
                                  "line": 94,
                                  "column": 53
                                },
                                "identifierName": "fromPoint"
                              },
                              "name": "fromPoint"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 3000,
                              "end": 3023,
                              "loc": {
                                "start": {
                                  "line": 94,
                                  "column": 54
                                },
                                "end": {
                                  "line": 94,
                                  "column": 77
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 3000,
                                "end": 3021,
                                "loc": {
                                  "start": {
                                    "line": 94,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 94,
                                    "column": 75
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 3000,
                                  "end": 3004,
                                  "loc": {
                                    "start": {
                                      "line": 94,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 94,
                                      "column": 58
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3005,
                                  "end": 3021,
                                  "loc": {
                                    "start": {
                                      "line": 94,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 94,
                                      "column": 75
                                    },
                                    "identifierName": "toPublicKeyPoint"
                                  },
                                  "name": "toPublicKeyPoint"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          ]
                        },
                        "extra": {
                          "parenthesized": true,
                          "parenStart": 2961
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 3038,
                "end": 3092,
                "loc": {
                  "start": {
                    "line": 97,
                    "column": 4
                  },
                  "end": {
                    "line": 99,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 3038,
                  "end": 3046,
                  "loc": {
                    "start": {
                      "line": 97,
                      "column": 4
                    },
                    "end": {
                      "line": 97,
                      "column": 12
                    },
                    "identifierName": "toBuffer"
                  },
                  "name": "toBuffer"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 3049,
                  "end": 3092,
                  "loc": {
                    "start": {
                      "line": 97,
                      "column": 15
                    },
                    "end": {
                      "line": 99,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 3059,
                      "end": 3086,
                      "loc": {
                        "start": {
                          "line": 98,
                          "column": 8
                        },
                        "end": {
                          "line": 98,
                          "column": 35
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 3066,
                        "end": 3085,
                        "loc": {
                          "start": {
                            "line": 98,
                            "column": 15
                          },
                          "end": {
                            "line": 98,
                            "column": 34
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 3066,
                          "end": 3081,
                          "loc": {
                            "start": {
                              "line": 98,
                              "column": 15
                            },
                            "end": {
                              "line": 98,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 3066,
                            "end": 3072,
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 15
                              },
                              "end": {
                                "line": 98,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 3066,
                              "end": 3070,
                              "loc": {
                                "start": {
                                  "line": 98,
                                  "column": 15
                                },
                                "end": {
                                  "line": 98,
                                  "column": 19
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3071,
                              "end": 3072,
                              "loc": {
                                "start": {
                                  "line": 98,
                                  "column": 20
                                },
                                "end": {
                                  "line": 98,
                                  "column": 21
                                },
                                "identifierName": "d"
                              },
                              "name": "d"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3073,
                            "end": 3081,
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 22
                              },
                              "end": {
                                "line": 98,
                                "column": 30
                              },
                              "identifierName": "toBuffer"
                            },
                            "name": "toBuffer"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "NumericLiteral",
                            "start": 3082,
                            "end": 3084,
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 31
                              },
                              "end": {
                                "line": 98,
                                "column": 33
                              }
                            },
                            "extra": {
                              "rawValue": 32,
                              "raw": "32"
                            },
                            "value": 32
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "* ECIES ",
                    "start": 3098,
                    "end": 3110,
                    "loc": {
                      "start": {
                        "line": 101,
                        "column": 4
                      },
                      "end": {
                        "line": 101,
                        "column": 16
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 3115,
                "end": 4048,
                "loc": {
                  "start": {
                    "line": 102,
                    "column": 4
                  },
                  "end": {
                    "line": 125,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 3115,
                  "end": 3132,
                  "loc": {
                    "start": {
                      "line": 102,
                      "column": 4
                    },
                    "end": {
                      "line": 102,
                      "column": 21
                    },
                    "identifierName": "get_shared_secret"
                  },
                  "name": "get_shared_secret",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 3133,
                    "end": 3143,
                    "loc": {
                      "start": {
                        "line": 102,
                        "column": 22
                      },
                      "end": {
                        "line": 102,
                        "column": 32
                      },
                      "identifierName": "public_key"
                    },
                    "name": "public_key"
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 3145,
                    "end": 3159,
                    "loc": {
                      "start": {
                        "line": 102,
                        "column": 34
                      },
                      "end": {
                        "line": 102,
                        "column": 48
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 3145,
                      "end": 3151,
                      "loc": {
                        "start": {
                          "line": 102,
                          "column": 34
                        },
                        "end": {
                          "line": 102,
                          "column": 40
                        },
                        "identifierName": "legacy"
                      },
                      "name": "legacy"
                    },
                    "right": {
                      "type": "BooleanLiteral",
                      "start": 3154,
                      "end": 3159,
                      "loc": {
                        "start": {
                          "line": 102,
                          "column": 43
                        },
                        "end": {
                          "line": 102,
                          "column": 48
                        }
                      },
                      "value": false
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 3161,
                  "end": 4048,
                  "loc": {
                    "start": {
                      "line": 102,
                      "column": 50
                    },
                    "end": {
                      "line": 125,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 3171,
                      "end": 3205,
                      "loc": {
                        "start": {
                          "line": 103,
                          "column": 8
                        },
                        "end": {
                          "line": 103,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3171,
                        "end": 3204,
                        "loc": {
                          "start": {
                            "line": 103,
                            "column": 8
                          },
                          "end": {
                            "line": 103,
                            "column": 41
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 3171,
                          "end": 3181,
                          "loc": {
                            "start": {
                              "line": 103,
                              "column": 8
                            },
                            "end": {
                              "line": 103,
                              "column": 18
                            },
                            "identifierName": "public_key"
                          },
                          "name": "public_key"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 3184,
                          "end": 3204,
                          "loc": {
                            "start": {
                              "line": 103,
                              "column": 21
                            },
                            "end": {
                              "line": 103,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 3184,
                            "end": 3192,
                            "loc": {
                              "start": {
                                "line": 103,
                                "column": 21
                              },
                              "end": {
                                "line": 103,
                                "column": 29
                              },
                              "identifierName": "toPublic"
                            },
                            "name": "toPublic"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 3193,
                              "end": 3203,
                              "loc": {
                                "start": {
                                  "line": 103,
                                  "column": 30
                                },
                                "end": {
                                  "line": 103,
                                  "column": 40
                                },
                                "identifierName": "public_key"
                              },
                              "name": "public_key"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 3214,
                      "end": 3262,
                      "loc": {
                        "start": {
                          "line": 104,
                          "column": 8
                        },
                        "end": {
                          "line": 104,
                          "column": 56
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 3218,
                          "end": 3261,
                          "loc": {
                            "start": {
                              "line": 104,
                              "column": 12
                            },
                            "end": {
                              "line": 104,
                              "column": 55
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 3218,
                            "end": 3220,
                            "loc": {
                              "start": {
                                "line": 104,
                                "column": 12
                              },
                              "end": {
                                "line": 104,
                                "column": 14
                              },
                              "identifierName": "KB"
                            },
                            "name": "KB"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 3223,
                            "end": 3261,
                            "loc": {
                              "start": {
                                "line": 104,
                                "column": 17
                              },
                              "end": {
                                "line": 104,
                                "column": 55
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 3223,
                              "end": 3259,
                              "loc": {
                                "start": {
                                  "line": 104,
                                  "column": 17
                                },
                                "end": {
                                  "line": 104,
                                  "column": 53
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 3223,
                                "end": 3250,
                                "loc": {
                                  "start": {
                                    "line": 104,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 104,
                                    "column": 44
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3223,
                                  "end": 3248,
                                  "loc": {
                                    "start": {
                                      "line": 104,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 104,
                                      "column": 42
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 3223,
                                    "end": 3233,
                                    "loc": {
                                      "start": {
                                        "line": 104,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 104,
                                        "column": 27
                                      },
                                      "identifierName": "public_key"
                                    },
                                    "name": "public_key"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3234,
                                    "end": 3248,
                                    "loc": {
                                      "start": {
                                        "line": 104,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 104,
                                        "column": 42
                                      },
                                      "identifierName": "toUncompressed"
                                    },
                                    "name": "toUncompressed"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3251,
                                "end": 3259,
                                "loc": {
                                  "start": {
                                    "line": 104,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 104,
                                    "column": 53
                                  },
                                  "identifierName": "toBuffer"
                                },
                                "name": "toBuffer"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 3271,
                      "end": 3446,
                      "loc": {
                        "start": {
                          "line": 105,
                          "column": 8
                        },
                        "end": {
                          "line": 109,
                          "column": 10
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 3275,
                          "end": 3445,
                          "loc": {
                            "start": {
                              "line": 105,
                              "column": 12
                            },
                            "end": {
                              "line": 109,
                              "column": 9
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 3275,
                            "end": 3278,
                            "loc": {
                              "start": {
                                "line": 105,
                                "column": 12
                              },
                              "end": {
                                "line": 105,
                                "column": 15
                              },
                              "identifierName": "KBP"
                            },
                            "name": "KBP"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 3281,
                            "end": 3445,
                            "loc": {
                              "start": {
                                "line": 105,
                                "column": 18
                              },
                              "end": {
                                "line": 109,
                                "column": 9
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 3281,
                              "end": 3297,
                              "loc": {
                                "start": {
                                  "line": 105,
                                  "column": 18
                                },
                                "end": {
                                  "line": 105,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3281,
                                "end": 3286,
                                "loc": {
                                  "start": {
                                    "line": 105,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 105,
                                    "column": 23
                                  },
                                  "identifierName": "Point"
                                },
                                "name": "Point"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3287,
                                "end": 3297,
                                "loc": {
                                  "start": {
                                    "line": 105,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 105,
                                    "column": 34
                                  },
                                  "identifierName": "fromAffine"
                                },
                                "name": "fromAffine"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 3311,
                                "end": 3320,
                                "loc": {
                                  "start": {
                                    "line": 106,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 106,
                                    "column": 21
                                  },
                                  "identifierName": "secp256k1"
                                },
                                "name": "secp256k1"
                              },
                              {
                                "type": "CallExpression",
                                "start": 3334,
                                "end": 3372,
                                "loc": {
                                  "start": {
                                    "line": 107,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 107,
                                    "column": 50
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3334,
                                  "end": 3355,
                                  "loc": {
                                    "start": {
                                      "line": 107,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 107,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 3334,
                                    "end": 3344,
                                    "loc": {
                                      "start": {
                                        "line": 107,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 22
                                      },
                                      "identifierName": "BigInteger"
                                    },
                                    "name": "BigInteger"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3345,
                                    "end": 3355,
                                    "loc": {
                                      "start": {
                                        "line": 107,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 33
                                      },
                                      "identifierName": "fromBuffer"
                                    },
                                    "name": "fromBuffer"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "CallExpression",
                                    "start": 3356,
                                    "end": 3371,
                                    "loc": {
                                      "start": {
                                        "line": 107,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 49
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 3356,
                                      "end": 3364,
                                      "loc": {
                                        "start": {
                                          "line": 107,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 107,
                                          "column": 42
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 3356,
                                        "end": 3358,
                                        "loc": {
                                          "start": {
                                            "line": 107,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 107,
                                            "column": 36
                                          },
                                          "identifierName": "KB"
                                        },
                                        "name": "KB"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3359,
                                        "end": 3364,
                                        "loc": {
                                          "start": {
                                            "line": 107,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 107,
                                            "column": 42
                                          },
                                          "identifierName": "slice"
                                        },
                                        "name": "slice"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "NumericLiteral",
                                        "start": 3365,
                                        "end": 3366,
                                        "loc": {
                                          "start": {
                                            "line": 107,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 107,
                                            "column": 44
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 1,
                                          "raw": "1"
                                        },
                                        "value": 1
                                      },
                                      {
                                        "type": "NumericLiteral",
                                        "start": 3368,
                                        "end": 3370,
                                        "loc": {
                                          "start": {
                                            "line": 107,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 107,
                                            "column": 48
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 33,
                                          "raw": "33"
                                        },
                                        "value": 33
                                      }
                                    ]
                                  }
                                ]
                              },
                              {
                                "type": "CallExpression",
                                "start": 3391,
                                "end": 3430,
                                "loc": {
                                  "start": {
                                    "line": 108,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 108,
                                    "column": 51
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3391,
                                  "end": 3412,
                                  "loc": {
                                    "start": {
                                      "line": 108,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 108,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 3391,
                                    "end": 3401,
                                    "loc": {
                                      "start": {
                                        "line": 108,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 108,
                                        "column": 22
                                      },
                                      "identifierName": "BigInteger"
                                    },
                                    "name": "BigInteger",
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3402,
                                    "end": 3412,
                                    "loc": {
                                      "start": {
                                        "line": 108,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 108,
                                        "column": 33
                                      },
                                      "identifierName": "fromBuffer"
                                    },
                                    "name": "fromBuffer"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "arguments": [
                                  {
                                    "type": "CallExpression",
                                    "start": 3413,
                                    "end": 3429,
                                    "loc": {
                                      "start": {
                                        "line": 108,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 108,
                                        "column": 50
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 3413,
                                      "end": 3421,
                                      "loc": {
                                        "start": {
                                          "line": 108,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 108,
                                          "column": 42
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 3413,
                                        "end": 3415,
                                        "loc": {
                                          "start": {
                                            "line": 108,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 108,
                                            "column": 36
                                          },
                                          "identifierName": "KB"
                                        },
                                        "name": "KB"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3416,
                                        "end": 3421,
                                        "loc": {
                                          "start": {
                                            "line": 108,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 108,
                                            "column": 42
                                          },
                                          "identifierName": "slice"
                                        },
                                        "name": "slice"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "NumericLiteral",
                                        "start": 3422,
                                        "end": 3424,
                                        "loc": {
                                          "start": {
                                            "line": 108,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 108,
                                            "column": 45
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 33,
                                          "raw": "33"
                                        },
                                        "value": 33
                                      },
                                      {
                                        "type": "NumericLiteral",
                                        "start": 3426,
                                        "end": 3428,
                                        "loc": {
                                          "start": {
                                            "line": 108,
                                            "column": 47
                                          },
                                          "end": {
                                            "line": 108,
                                            "column": 49
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 65,
                                          "raw": "65"
                                        },
                                        "value": 65
                                      }
                                    ]
                                  }
                                ],
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " x",
                                    "start": 3374,
                                    "end": 3378,
                                    "loc": {
                                      "start": {
                                        "line": 107,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 56
                                      }
                                    }
                                  }
                                ],
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " y",
                                    "start": 3431,
                                    "end": 3435,
                                    "loc": {
                                      "start": {
                                        "line": 108,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 108,
                                        "column": 56
                                      }
                                    }
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 3455,
                      "end": 3479,
                      "loc": {
                        "start": {
                          "line": 110,
                          "column": 8
                        },
                        "end": {
                          "line": 110,
                          "column": 32
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 3459,
                          "end": 3478,
                          "loc": {
                            "start": {
                              "line": 110,
                              "column": 12
                            },
                            "end": {
                              "line": 110,
                              "column": 31
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 3459,
                            "end": 3460,
                            "loc": {
                              "start": {
                                "line": 110,
                                "column": 12
                              },
                              "end": {
                                "line": 110,
                                "column": 13
                              },
                              "identifierName": "r"
                            },
                            "name": "r"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 3463,
                            "end": 3478,
                            "loc": {
                              "start": {
                                "line": 110,
                                "column": 16
                              },
                              "end": {
                                "line": 110,
                                "column": 31
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 3463,
                              "end": 3476,
                              "loc": {
                                "start": {
                                  "line": 110,
                                  "column": 16
                                },
                                "end": {
                                  "line": 110,
                                  "column": 29
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 3463,
                                "end": 3467,
                                "loc": {
                                  "start": {
                                    "line": 110,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 110,
                                    "column": 20
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3468,
                                "end": 3476,
                                "loc": {
                                  "start": {
                                    "line": 110,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 110,
                                    "column": 29
                                  },
                                  "identifierName": "toBuffer"
                                },
                                "name": "toBuffer"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 3488,
                      "end": 3535,
                      "loc": {
                        "start": {
                          "line": 111,
                          "column": 8
                        },
                        "end": {
                          "line": 111,
                          "column": 55
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 3492,
                          "end": 3534,
                          "loc": {
                            "start": {
                              "line": 111,
                              "column": 12
                            },
                            "end": {
                              "line": 111,
                              "column": 54
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 3492,
                            "end": 3493,
                            "loc": {
                              "start": {
                                "line": 111,
                                "column": 12
                              },
                              "end": {
                                "line": 111,
                                "column": 13
                              },
                              "identifierName": "P"
                            },
                            "name": "P"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 3496,
                            "end": 3534,
                            "loc": {
                              "start": {
                                "line": 111,
                                "column": 16
                              },
                              "end": {
                                "line": 111,
                                "column": 54
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 3496,
                              "end": 3508,
                              "loc": {
                                "start": {
                                  "line": 111,
                                  "column": 16
                                },
                                "end": {
                                  "line": 111,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3496,
                                "end": 3499,
                                "loc": {
                                  "start": {
                                    "line": 111,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 111,
                                    "column": 19
                                  },
                                  "identifierName": "KBP"
                                },
                                "name": "KBP"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3500,
                                "end": 3508,
                                "loc": {
                                  "start": {
                                    "line": 111,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 111,
                                    "column": 28
                                  },
                                  "identifierName": "multiply"
                                },
                                "name": "multiply"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "CallExpression",
                                "start": 3509,
                                "end": 3533,
                                "loc": {
                                  "start": {
                                    "line": 111,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 111,
                                    "column": 53
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3509,
                                  "end": 3530,
                                  "loc": {
                                    "start": {
                                      "line": 111,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 111,
                                      "column": 50
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 3509,
                                    "end": 3519,
                                    "loc": {
                                      "start": {
                                        "line": 111,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 111,
                                        "column": 39
                                      },
                                      "identifierName": "BigInteger"
                                    },
                                    "name": "BigInteger"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3520,
                                    "end": 3530,
                                    "loc": {
                                      "start": {
                                        "line": 111,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 111,
                                        "column": 50
                                      },
                                      "identifierName": "fromBuffer"
                                    },
                                    "name": "fromBuffer"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 3531,
                                    "end": 3532,
                                    "loc": {
                                      "start": {
                                        "line": 111,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 111,
                                        "column": 52
                                      },
                                      "identifierName": "r"
                                    },
                                    "name": "r"
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 3544,
                      "end": 3583,
                      "loc": {
                        "start": {
                          "line": 112,
                          "column": 8
                        },
                        "end": {
                          "line": 112,
                          "column": 47
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 3548,
                          "end": 3582,
                          "loc": {
                            "start": {
                              "line": 112,
                              "column": 12
                            },
                            "end": {
                              "line": 112,
                              "column": 46
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 3548,
                            "end": 3549,
                            "loc": {
                              "start": {
                                "line": 112,
                                "column": 12
                              },
                              "end": {
                                "line": 112,
                                "column": 13
                              },
                              "identifierName": "S"
                            },
                            "name": "S"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 3552,
                            "end": 3582,
                            "loc": {
                              "start": {
                                "line": 112,
                                "column": 16
                              },
                              "end": {
                                "line": 112,
                                "column": 46
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 3552,
                              "end": 3570,
                              "loc": {
                                "start": {
                                  "line": 112,
                                  "column": 16
                                },
                                "end": {
                                  "line": 112,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 3552,
                                "end": 3561,
                                "loc": {
                                  "start": {
                                    "line": 112,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 112,
                                    "column": 25
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3552,
                                  "end": 3553,
                                  "loc": {
                                    "start": {
                                      "line": 112,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 112,
                                      "column": 17
                                    },
                                    "identifierName": "P"
                                  },
                                  "name": "P"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3554,
                                  "end": 3561,
                                  "loc": {
                                    "start": {
                                      "line": 112,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 112,
                                      "column": 25
                                    },
                                    "identifierName": "affineX"
                                  },
                                  "name": "affineX"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3562,
                                "end": 3570,
                                "loc": {
                                  "start": {
                                    "line": 112,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 112,
                                    "column": 34
                                  },
                                  "identifierName": "toBuffer"
                                },
                                "name": "toBuffer"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ObjectExpression",
                                "start": 3571,
                                "end": 3581,
                                "loc": {
                                  "start": {
                                    "line": 112,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 112,
                                    "column": 45
                                  }
                                },
                                "properties": [
                                  {
                                    "type": "ObjectProperty",
                                    "start": 3572,
                                    "end": 3580,
                                    "loc": {
                                      "start": {
                                        "line": 112,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 112,
                                        "column": 44
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 3572,
                                      "end": 3576,
                                      "loc": {
                                        "start": {
                                          "line": 112,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 112,
                                          "column": 40
                                        },
                                        "identifierName": "size"
                                      },
                                      "name": "size"
                                    },
                                    "value": {
                                      "type": "NumericLiteral",
                                      "start": 3578,
                                      "end": 3580,
                                      "loc": {
                                        "start": {
                                          "line": 112,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 112,
                                          "column": 44
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 32,
                                        "raw": "32"
                                      },
                                      "value": 32
                                    }
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let",
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "\n        the input to sha512 must be exactly 32-bytes, to match the c++ implementation\n        of get_shared_secret.  Right now S will be shorter if the most significant\n        byte(s) is zero.  Pad it back to the full 32-bytes\n        ",
                          "start": 3592,
                          "end": 3833,
                          "loc": {
                            "start": {
                              "line": 113,
                              "column": 8
                            },
                            "end": {
                              "line": 117,
                              "column": 10
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 3842,
                      "end": 3983,
                      "loc": {
                        "start": {
                          "line": 118,
                          "column": 8
                        },
                        "end": {
                          "line": 121,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 3846,
                        "end": 3870,
                        "loc": {
                          "start": {
                            "line": 118,
                            "column": 12
                          },
                          "end": {
                            "line": 118,
                            "column": 36
                          }
                        },
                        "left": {
                          "type": "UnaryExpression",
                          "start": 3846,
                          "end": 3853,
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 12
                            },
                            "end": {
                              "line": 118,
                              "column": 19
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "Identifier",
                            "start": 3847,
                            "end": 3853,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 13
                              },
                              "end": {
                                "line": 118,
                                "column": 19
                              },
                              "identifierName": "legacy"
                            },
                            "name": "legacy",
                            "leadingComments": null
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          },
                          "leadingComments": null
                        },
                        "operator": "&&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 3857,
                          "end": 3870,
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 23
                            },
                            "end": {
                              "line": 118,
                              "column": 36
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 3857,
                            "end": 3865,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 23
                              },
                              "end": {
                                "line": 118,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3857,
                              "end": 3858,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 23
                                },
                                "end": {
                                  "line": 118,
                                  "column": 24
                                },
                                "identifierName": "S"
                              },
                              "name": "S"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3859,
                              "end": 3865,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 25
                                },
                                "end": {
                                  "line": 118,
                                  "column": 31
                                },
                                "identifierName": "length"
                              },
                              "name": "length"
                            },
                            "computed": false
                          },
                          "operator": "<",
                          "right": {
                            "type": "NumericLiteral",
                            "start": 3868,
                            "end": 3870,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 34
                              },
                              "end": {
                                "line": 118,
                                "column": 36
                              }
                            },
                            "extra": {
                              "rawValue": 32,
                              "raw": "32"
                            },
                            "value": 32
                          }
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 3872,
                        "end": 3983,
                        "loc": {
                          "start": {
                            "line": 118,
                            "column": 38
                          },
                          "end": {
                            "line": 121,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 3886,
                            "end": 3932,
                            "loc": {
                              "start": {
                                "line": 119,
                                "column": 12
                              },
                              "end": {
                                "line": 119,
                                "column": 58
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 3890,
                                "end": 3931,
                                "loc": {
                                  "start": {
                                    "line": 119,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 119,
                                    "column": 57
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 3890,
                                  "end": 3893,
                                  "loc": {
                                    "start": {
                                      "line": 119,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 119,
                                      "column": 19
                                    },
                                    "identifierName": "pad"
                                  },
                                  "name": "pad"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 3896,
                                  "end": 3931,
                                  "loc": {
                                    "start": {
                                      "line": 119,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 119,
                                      "column": 57
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 3896,
                                    "end": 3928,
                                    "loc": {
                                      "start": {
                                        "line": 119,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 119,
                                        "column": 54
                                      }
                                    },
                                    "object": {
                                      "type": "CallExpression",
                                      "start": 3896,
                                      "end": 3923,
                                      "loc": {
                                        "start": {
                                          "line": 119,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 119,
                                          "column": 49
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 3896,
                                        "end": 3908,
                                        "loc": {
                                          "start": {
                                            "line": 119,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 119,
                                            "column": 34
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 3896,
                                          "end": 3902,
                                          "loc": {
                                            "start": {
                                              "line": 119,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 119,
                                              "column": 28
                                            },
                                            "identifierName": "Buffer"
                                          },
                                          "name": "Buffer"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 3903,
                                          "end": 3908,
                                          "loc": {
                                            "start": {
                                              "line": 119,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 119,
                                              "column": 34
                                            },
                                            "identifierName": "alloc"
                                          },
                                          "name": "alloc"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "BinaryExpression",
                                          "start": 3909,
                                          "end": 3922,
                                          "loc": {
                                            "start": {
                                              "line": 119,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 119,
                                              "column": 48
                                            }
                                          },
                                          "left": {
                                            "type": "NumericLiteral",
                                            "start": 3909,
                                            "end": 3911,
                                            "loc": {
                                              "start": {
                                                "line": 119,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 119,
                                                "column": 37
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 32,
                                              "raw": "32"
                                            },
                                            "value": 32
                                          },
                                          "operator": "-",
                                          "right": {
                                            "type": "MemberExpression",
                                            "start": 3914,
                                            "end": 3922,
                                            "loc": {
                                              "start": {
                                                "line": 119,
                                                "column": 40
                                              },
                                              "end": {
                                                "line": 119,
                                                "column": 48
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 3914,
                                              "end": 3915,
                                              "loc": {
                                                "start": {
                                                  "line": 119,
                                                  "column": 40
                                                },
                                                "end": {
                                                  "line": 119,
                                                  "column": 41
                                                },
                                                "identifierName": "S"
                                              },
                                              "name": "S"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 3916,
                                              "end": 3922,
                                              "loc": {
                                                "start": {
                                                  "line": 119,
                                                  "column": 42
                                                },
                                                "end": {
                                                  "line": 119,
                                                  "column": 48
                                                },
                                                "identifierName": "length"
                                              },
                                              "name": "length"
                                            },
                                            "computed": false
                                          }
                                        }
                                      ]
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3924,
                                      "end": 3928,
                                      "loc": {
                                        "start": {
                                          "line": 119,
                                          "column": 50
                                        },
                                        "end": {
                                          "line": 119,
                                          "column": 54
                                        },
                                        "identifierName": "fill"
                                      },
                                      "name": "fill"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "NumericLiteral",
                                      "start": 3929,
                                      "end": 3930,
                                      "loc": {
                                        "start": {
                                          "line": 119,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 119,
                                          "column": 56
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "value": 0
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "let"
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 3945,
                            "end": 3973,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 12
                              },
                              "end": {
                                "line": 120,
                                "column": 40
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 3945,
                              "end": 3972,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 12
                                },
                                "end": {
                                  "line": 120,
                                  "column": 39
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 3945,
                                "end": 3946,
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 13
                                  },
                                  "identifierName": "S"
                                },
                                "name": "S"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 3949,
                                "end": 3972,
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 39
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3949,
                                  "end": 3962,
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 29
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 3949,
                                    "end": 3955,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 22
                                      },
                                      "identifierName": "Buffer"
                                    },
                                    "name": "Buffer"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3956,
                                    "end": 3962,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 29
                                      },
                                      "identifierName": "concat"
                                    },
                                    "name": "concat"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ArrayExpression",
                                    "start": 3963,
                                    "end": 3971,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 38
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "Identifier",
                                        "start": 3964,
                                        "end": 3967,
                                        "loc": {
                                          "start": {
                                            "line": 120,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 120,
                                            "column": 34
                                          },
                                          "identifierName": "pad"
                                        },
                                        "name": "pad"
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 3969,
                                        "end": 3970,
                                        "loc": {
                                          "start": {
                                            "line": 120,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 120,
                                            "column": 37
                                          },
                                          "identifierName": "S"
                                        },
                                        "name": "S"
                                      }
                                    ]
                                  }
                                ]
                              }
                            }
                          }
                        ],
                        "directives": [],
                        "trailingComments": null
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "\n        the input to sha512 must be exactly 32-bytes, to match the c++ implementation\n        of get_shared_secret.  Right now S will be shorter if the most significant\n        byte(s) is zero.  Pad it back to the full 32-bytes\n        ",
                          "start": 3592,
                          "end": 3833,
                          "loc": {
                            "start": {
                              "line": 113,
                              "column": 8
                            },
                            "end": {
                              "line": 117,
                              "column": 10
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " SHA512 used in ECIES",
                          "start": 3993,
                          "end": 4016,
                          "loc": {
                            "start": {
                              "line": 123,
                              "column": 8
                            },
                            "end": {
                              "line": 123,
                              "column": 31
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 4025,
                      "end": 4042,
                      "loc": {
                        "start": {
                          "line": 124,
                          "column": 8
                        },
                        "end": {
                          "line": 124,
                          "column": 25
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 4032,
                        "end": 4041,
                        "loc": {
                          "start": {
                            "line": 124,
                            "column": 15
                          },
                          "end": {
                            "line": 124,
                            "column": 24
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 4032,
                          "end": 4038,
                          "loc": {
                            "start": {
                              "line": 124,
                              "column": 15
                            },
                            "end": {
                              "line": 124,
                              "column": 21
                            },
                            "identifierName": "sha512"
                          },
                          "name": "sha512",
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 4039,
                            "end": 4040,
                            "loc": {
                              "start": {
                                "line": 124,
                                "column": 22
                              },
                              "end": {
                                "line": 124,
                                "column": 23
                              },
                              "identifierName": "S"
                            },
                            "name": "S"
                          }
                        ],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " SHA512 used in ECIES",
                          "start": 3993,
                          "end": 4016,
                          "loc": {
                            "start": {
                              "line": 123,
                              "column": 8
                            },
                            "end": {
                              "line": 123,
                              "column": 31
                            }
                          }
                        }
                      ]
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "* ECIES ",
                    "start": 3098,
                    "end": 3110,
                    "loc": {
                      "start": {
                        "line": 101,
                        "column": 4
                      },
                      "end": {
                        "line": 101,
                        "column": 16
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentLine",
                    "value": " /** ECIES (does not always match the Point.fromAffine version above) */",
                    "start": 4054,
                    "end": 4128,
                    "loc": {
                      "start": {
                        "line": 127,
                        "column": 4
                      },
                      "end": {
                        "line": 127,
                        "column": 78
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": " get_shared_secret(public_key){",
                    "start": 4133,
                    "end": 4166,
                    "loc": {
                      "start": {
                        "line": 128,
                        "column": 4
                      },
                      "end": {
                        "line": 128,
                        "column": 37
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     public_key = toPublic(public_key)",
                    "start": 4171,
                    "end": 4211,
                    "loc": {
                      "start": {
                        "line": 129,
                        "column": 4
                      },
                      "end": {
                        "line": 129,
                        "column": 44
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     var P = public_key.Q.multiply( this.d );",
                    "start": 4216,
                    "end": 4263,
                    "loc": {
                      "start": {
                        "line": 130,
                        "column": 4
                      },
                      "end": {
                        "line": 130,
                        "column": 51
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     var S = P.affineX.toBuffer({size: 32});",
                    "start": 4268,
                    "end": 4314,
                    "loc": {
                      "start": {
                        "line": 131,
                        "column": 4
                      },
                      "end": {
                        "line": 131,
                        "column": 50
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     // ECIES, adds an extra sha512",
                    "start": 4319,
                    "end": 4356,
                    "loc": {
                      "start": {
                        "line": 132,
                        "column": 4
                      },
                      "end": {
                        "line": 132,
                        "column": 41
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     return sha512(S);",
                    "start": 4361,
                    "end": 4385,
                    "loc": {
                      "start": {
                        "line": 133,
                        "column": 4
                      },
                      "end": {
                        "line": 133,
                        "column": 28
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": " }",
                    "start": 4390,
                    "end": 4394,
                    "loc": {
                      "start": {
                        "line": 134,
                        "column": 4
                      },
                      "end": {
                        "line": 134,
                        "column": 8
                      }
                    }
                  },
                  {
                    "type": "CommentBlock",
                    "value": "* @throws {Error} - overflow of the key could not be derived ",
                    "start": 4400,
                    "end": 4465,
                    "loc": {
                      "start": {
                        "line": 136,
                        "column": 4
                      },
                      "end": {
                        "line": 136,
                        "column": 69
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 4470,
                "end": 4991,
                "loc": {
                  "start": {
                    "line": 137,
                    "column": 4
                  },
                  "end": {
                    "line": 153,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 4470,
                  "end": 4475,
                  "loc": {
                    "start": {
                      "line": 137,
                      "column": 4
                    },
                    "end": {
                      "line": 137,
                      "column": 9
                    },
                    "identifierName": "child"
                  },
                  "name": "child",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 4476,
                    "end": 4482,
                    "loc": {
                      "start": {
                        "line": 137,
                        "column": 10
                      },
                      "end": {
                        "line": 137,
                        "column": 16
                      },
                      "identifierName": "offset"
                    },
                    "name": "offset"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 4484,
                  "end": 4991,
                  "loc": {
                    "start": {
                      "line": 137,
                      "column": 18
                    },
                    "end": {
                      "line": 153,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 4494,
                      "end": 4558,
                      "loc": {
                        "start": {
                          "line": 138,
                          "column": 8
                        },
                        "end": {
                          "line": 138,
                          "column": 72
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4494,
                        "end": 4557,
                        "loc": {
                          "start": {
                            "line": 138,
                            "column": 8
                          },
                          "end": {
                            "line": 138,
                            "column": 71
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 4494,
                          "end": 4500,
                          "loc": {
                            "start": {
                              "line": 138,
                              "column": 8
                            },
                            "end": {
                              "line": 138,
                              "column": 14
                            },
                            "identifierName": "offset"
                          },
                          "name": "offset"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 4503,
                          "end": 4557,
                          "loc": {
                            "start": {
                              "line": 138,
                              "column": 17
                            },
                            "end": {
                              "line": 138,
                              "column": 71
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 4503,
                            "end": 4516,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 17
                              },
                              "end": {
                                "line": 138,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 4503,
                              "end": 4509,
                              "loc": {
                                "start": {
                                  "line": 138,
                                  "column": 17
                                },
                                "end": {
                                  "line": 138,
                                  "column": 23
                                },
                                "identifierName": "Buffer"
                              },
                              "name": "Buffer"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4510,
                              "end": 4516,
                              "loc": {
                                "start": {
                                  "line": 138,
                                  "column": 24
                                },
                                "end": {
                                  "line": 138,
                                  "column": 30
                                },
                                "identifierName": "concat"
                              },
                              "name": "concat"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ArrayExpression",
                              "start": 4517,
                              "end": 4556,
                              "loc": {
                                "start": {
                                  "line": 138,
                                  "column": 31
                                },
                                "end": {
                                  "line": 138,
                                  "column": 70
                                }
                              },
                              "elements": [
                                {
                                  "type": "CallExpression",
                                  "start": 4518,
                                  "end": 4547,
                                  "loc": {
                                    "start": {
                                      "line": 138,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 138,
                                      "column": 61
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 4518,
                                    "end": 4545,
                                    "loc": {
                                      "start": {
                                        "line": 138,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 138,
                                        "column": 59
                                      }
                                    },
                                    "object": {
                                      "type": "CallExpression",
                                      "start": 4518,
                                      "end": 4536,
                                      "loc": {
                                        "start": {
                                          "line": 138,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 138,
                                          "column": 50
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 4518,
                                        "end": 4534,
                                        "loc": {
                                          "start": {
                                            "line": 138,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 138,
                                            "column": 48
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 4518,
                                          "end": 4522,
                                          "loc": {
                                            "start": {
                                              "line": 138,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 138,
                                              "column": 36
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4523,
                                          "end": 4534,
                                          "loc": {
                                            "start": {
                                              "line": 138,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 138,
                                              "column": 48
                                            },
                                            "identifierName": "toPublicKey"
                                          },
                                          "name": "toPublicKey"
                                        },
                                        "computed": false
                                      },
                                      "arguments": []
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4537,
                                      "end": 4545,
                                      "loc": {
                                        "start": {
                                          "line": 138,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 138,
                                          "column": 59
                                        },
                                        "identifierName": "toBuffer"
                                      },
                                      "name": "toBuffer"
                                    },
                                    "computed": false
                                  },
                                  "arguments": []
                                },
                                {
                                  "type": "Identifier",
                                  "start": 4549,
                                  "end": 4555,
                                  "loc": {
                                    "start": {
                                      "line": 138,
                                      "column": 63
                                    },
                                    "end": {
                                      "line": 138,
                                      "column": 69
                                    },
                                    "identifierName": "offset"
                                  },
                                  "name": "offset"
                                }
                              ]
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4567,
                      "end": 4591,
                      "loc": {
                        "start": {
                          "line": 139,
                          "column": 8
                        },
                        "end": {
                          "line": 139,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4567,
                        "end": 4590,
                        "loc": {
                          "start": {
                            "line": 139,
                            "column": 8
                          },
                          "end": {
                            "line": 139,
                            "column": 31
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 4567,
                          "end": 4573,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 8
                            },
                            "end": {
                              "line": 139,
                              "column": 14
                            },
                            "identifierName": "offset"
                          },
                          "name": "offset"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 4576,
                          "end": 4590,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 17
                            },
                            "end": {
                              "line": 139,
                              "column": 31
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 4576,
                            "end": 4582,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 17
                              },
                              "end": {
                                "line": 139,
                                "column": 23
                              },
                              "identifierName": "sha256"
                            },
                            "name": "sha256"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 4583,
                              "end": 4589,
                              "loc": {
                                "start": {
                                  "line": 139,
                                  "column": 24
                                },
                                "end": {
                                  "line": 139,
                                  "column": 30
                                },
                                "identifierName": "offset"
                              },
                              "name": "offset"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 4600,
                      "end": 4638,
                      "loc": {
                        "start": {
                          "line": 140,
                          "column": 8
                        },
                        "end": {
                          "line": 140,
                          "column": 46
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 4604,
                          "end": 4637,
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 12
                            },
                            "end": {
                              "line": 140,
                              "column": 45
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 4604,
                            "end": 4605,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 12
                              },
                              "end": {
                                "line": 140,
                                "column": 13
                              },
                              "identifierName": "c"
                            },
                            "name": "c"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 4608,
                            "end": 4637,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 16
                              },
                              "end": {
                                "line": 140,
                                "column": 45
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 4608,
                              "end": 4629,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 16
                                },
                                "end": {
                                  "line": 140,
                                  "column": 37
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 4608,
                                "end": 4618,
                                "loc": {
                                  "start": {
                                    "line": 140,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 140,
                                    "column": 26
                                  },
                                  "identifierName": "BigInteger"
                                },
                                "name": "BigInteger"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4619,
                                "end": 4629,
                                "loc": {
                                  "start": {
                                    "line": 140,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 140,
                                    "column": 37
                                  },
                                  "identifierName": "fromBuffer"
                                },
                                "name": "fromBuffer"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 4630,
                                "end": 4636,
                                "loc": {
                                  "start": {
                                    "line": 140,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 140,
                                    "column": 44
                                  },
                                  "identifierName": "offset"
                                },
                                "name": "offset"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "IfStatement",
                      "start": 4648,
                      "end": 4747,
                      "loc": {
                        "start": {
                          "line": 142,
                          "column": 8
                        },
                        "end": {
                          "line": 143,
                          "column": 74
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 4652,
                        "end": 4671,
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 12
                          },
                          "end": {
                            "line": 142,
                            "column": 31
                          }
                        },
                        "left": {
                          "type": "CallExpression",
                          "start": 4652,
                          "end": 4666,
                          "loc": {
                            "start": {
                              "line": 142,
                              "column": 12
                            },
                            "end": {
                              "line": 142,
                              "column": 26
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 4652,
                            "end": 4663,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 12
                              },
                              "end": {
                                "line": 142,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 4652,
                              "end": 4653,
                              "loc": {
                                "start": {
                                  "line": 142,
                                  "column": 12
                                },
                                "end": {
                                  "line": 142,
                                  "column": 13
                                },
                                "identifierName": "c"
                              },
                              "name": "c"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4654,
                              "end": 4663,
                              "loc": {
                                "start": {
                                  "line": 142,
                                  "column": 14
                                },
                                "end": {
                                  "line": 142,
                                  "column": 23
                                },
                                "identifierName": "compareTo"
                              },
                              "name": "compareTo"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 4664,
                              "end": 4665,
                              "loc": {
                                "start": {
                                  "line": 142,
                                  "column": 24
                                },
                                "end": {
                                  "line": 142,
                                  "column": 25
                                },
                                "identifierName": "n"
                              },
                              "name": "n"
                            }
                          ]
                        },
                        "operator": ">=",
                        "right": {
                          "type": "NumericLiteral",
                          "start": 4670,
                          "end": 4671,
                          "loc": {
                            "start": {
                              "line": 142,
                              "column": 30
                            },
                            "end": {
                              "line": 142,
                              "column": 31
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        }
                      },
                      "consequent": {
                        "type": "ThrowStatement",
                        "start": 4685,
                        "end": 4747,
                        "loc": {
                          "start": {
                            "line": 143,
                            "column": 12
                          },
                          "end": {
                            "line": 143,
                            "column": 74
                          }
                        },
                        "argument": {
                          "type": "NewExpression",
                          "start": 4691,
                          "end": 4746,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 18
                            },
                            "end": {
                              "line": 143,
                              "column": 73
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 4695,
                            "end": 4700,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 22
                              },
                              "end": {
                                "line": 143,
                                "column": 27
                              },
                              "identifierName": "Error"
                            },
                            "name": "Error"
                          },
                          "arguments": [
                            {
                              "type": "StringLiteral",
                              "start": 4701,
                              "end": 4745,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 28
                                },
                                "end": {
                                  "line": 143,
                                  "column": 72
                                }
                              },
                              "extra": {
                                "rawValue": "Child offset went out of bounds, try again",
                                "raw": "\"Child offset went out of bounds, try again\""
                              },
                              "value": "Child offset went out of bounds, try again"
                            }
                          ]
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 4757,
                      "end": 4785,
                      "loc": {
                        "start": {
                          "line": 145,
                          "column": 8
                        },
                        "end": {
                          "line": 145,
                          "column": 36
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 4761,
                          "end": 4784,
                          "loc": {
                            "start": {
                              "line": 145,
                              "column": 12
                            },
                            "end": {
                              "line": 145,
                              "column": 35
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 4761,
                            "end": 4768,
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 12
                              },
                              "end": {
                                "line": 145,
                                "column": 19
                              },
                              "identifierName": "derived"
                            },
                            "name": "derived"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 4771,
                            "end": 4784,
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 22
                              },
                              "end": {
                                "line": 145,
                                "column": 35
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 4771,
                              "end": 4781,
                              "loc": {
                                "start": {
                                  "line": 145,
                                  "column": 22
                                },
                                "end": {
                                  "line": 145,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 4771,
                                "end": 4777,
                                "loc": {
                                  "start": {
                                    "line": 145,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 145,
                                    "column": 28
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 4771,
                                  "end": 4775,
                                  "loc": {
                                    "start": {
                                      "line": 145,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 145,
                                      "column": 26
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4776,
                                  "end": 4777,
                                  "loc": {
                                    "start": {
                                      "line": 145,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 145,
                                      "column": 28
                                    },
                                    "identifierName": "d"
                                  },
                                  "name": "d"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4778,
                                "end": 4781,
                                "loc": {
                                  "start": {
                                    "line": 145,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 145,
                                    "column": 32
                                  },
                                  "identifierName": "add"
                                },
                                "name": "add"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 4782,
                                "end": 4783,
                                "loc": {
                                  "start": {
                                    "line": 145,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 145,
                                    "column": 34
                                  },
                                  "identifierName": "c"
                                },
                                "name": "c"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let",
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": ".mod(n)",
                          "start": 4786,
                          "end": 4795,
                          "loc": {
                            "start": {
                              "line": 145,
                              "column": 37
                            },
                            "end": {
                              "line": 145,
                              "column": 46
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 4805,
                      "end": 4944,
                      "loc": {
                        "start": {
                          "line": 147,
                          "column": 8
                        },
                        "end": {
                          "line": 150,
                          "column": 14
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 4809,
                        "end": 4831,
                        "loc": {
                          "start": {
                            "line": 147,
                            "column": 12
                          },
                          "end": {
                            "line": 147,
                            "column": 34
                          }
                        },
                        "left": {
                          "type": "CallExpression",
                          "start": 4809,
                          "end": 4825,
                          "loc": {
                            "start": {
                              "line": 147,
                              "column": 12
                            },
                            "end": {
                              "line": 147,
                              "column": 28
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 4809,
                            "end": 4823,
                            "loc": {
                              "start": {
                                "line": 147,
                                "column": 12
                              },
                              "end": {
                                "line": 147,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 4809,
                              "end": 4816,
                              "loc": {
                                "start": {
                                  "line": 147,
                                  "column": 12
                                },
                                "end": {
                                  "line": 147,
                                  "column": 19
                                },
                                "identifierName": "derived"
                              },
                              "name": "derived",
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4817,
                              "end": 4823,
                              "loc": {
                                "start": {
                                  "line": 147,
                                  "column": 20
                                },
                                "end": {
                                  "line": 147,
                                  "column": 26
                                },
                                "identifierName": "signum"
                              },
                              "name": "signum"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "arguments": [],
                          "leadingComments": null
                        },
                        "operator": "===",
                        "right": {
                          "type": "NumericLiteral",
                          "start": 4830,
                          "end": 4831,
                          "loc": {
                            "start": {
                              "line": 147,
                              "column": 33
                            },
                            "end": {
                              "line": 147,
                              "column": 34
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ThrowStatement",
                        "start": 4845,
                        "end": 4944,
                        "loc": {
                          "start": {
                            "line": 148,
                            "column": 12
                          },
                          "end": {
                            "line": 150,
                            "column": 14
                          }
                        },
                        "argument": {
                          "type": "NewExpression",
                          "start": 4851,
                          "end": 4943,
                          "loc": {
                            "start": {
                              "line": 148,
                              "column": 18
                            },
                            "end": {
                              "line": 150,
                              "column": 13
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 4855,
                            "end": 4860,
                            "loc": {
                              "start": {
                                "line": 148,
                                "column": 22
                              },
                              "end": {
                                "line": 148,
                                "column": 27
                              },
                              "identifierName": "Error"
                            },
                            "name": "Error"
                          },
                          "arguments": [
                            {
                              "type": "StringLiteral",
                              "start": 4878,
                              "end": 4929,
                              "loc": {
                                "start": {
                                  "line": 149,
                                  "column": 16
                                },
                                "end": {
                                  "line": 149,
                                  "column": 67
                                }
                              },
                              "extra": {
                                "rawValue": "Child offset derived to an invalid key, try again",
                                "raw": "\"Child offset derived to an invalid key, try again\""
                              },
                              "value": "Child offset derived to an invalid key, try again"
                            }
                          ]
                        }
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": ".mod(n)",
                          "start": 4786,
                          "end": 4795,
                          "loc": {
                            "start": {
                              "line": 145,
                              "column": 37
                            },
                            "end": {
                              "line": 145,
                              "column": 46
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 4954,
                      "end": 4985,
                      "loc": {
                        "start": {
                          "line": 152,
                          "column": 8
                        },
                        "end": {
                          "line": 152,
                          "column": 39
                        }
                      },
                      "argument": {
                        "type": "NewExpression",
                        "start": 4961,
                        "end": 4984,
                        "loc": {
                          "start": {
                            "line": 152,
                            "column": 15
                          },
                          "end": {
                            "line": 152,
                            "column": 38
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 4965,
                          "end": 4975,
                          "loc": {
                            "start": {
                              "line": 152,
                              "column": 19
                            },
                            "end": {
                              "line": 152,
                              "column": 29
                            },
                            "identifierName": "PrivateKey"
                          },
                          "name": "PrivateKey"
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 4976,
                            "end": 4983,
                            "loc": {
                              "start": {
                                "line": 152,
                                "column": 30
                              },
                              "end": {
                                "line": 152,
                                "column": 37
                              },
                              "identifierName": "derived"
                            },
                            "name": "derived"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentLine",
                    "value": " /** ECIES (does not always match the Point.fromAffine version above) */",
                    "start": 4054,
                    "end": 4128,
                    "loc": {
                      "start": {
                        "line": 127,
                        "column": 4
                      },
                      "end": {
                        "line": 127,
                        "column": 78
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": " get_shared_secret(public_key){",
                    "start": 4133,
                    "end": 4166,
                    "loc": {
                      "start": {
                        "line": 128,
                        "column": 4
                      },
                      "end": {
                        "line": 128,
                        "column": 37
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     public_key = toPublic(public_key)",
                    "start": 4171,
                    "end": 4211,
                    "loc": {
                      "start": {
                        "line": 129,
                        "column": 4
                      },
                      "end": {
                        "line": 129,
                        "column": 44
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     var P = public_key.Q.multiply( this.d );",
                    "start": 4216,
                    "end": 4263,
                    "loc": {
                      "start": {
                        "line": 130,
                        "column": 4
                      },
                      "end": {
                        "line": 130,
                        "column": 51
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     var S = P.affineX.toBuffer({size: 32});",
                    "start": 4268,
                    "end": 4314,
                    "loc": {
                      "start": {
                        "line": 131,
                        "column": 4
                      },
                      "end": {
                        "line": 131,
                        "column": 50
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     // ECIES, adds an extra sha512",
                    "start": 4319,
                    "end": 4356,
                    "loc": {
                      "start": {
                        "line": 132,
                        "column": 4
                      },
                      "end": {
                        "line": 132,
                        "column": 41
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": "     return sha512(S);",
                    "start": 4361,
                    "end": 4385,
                    "loc": {
                      "start": {
                        "line": 133,
                        "column": 4
                      },
                      "end": {
                        "line": 133,
                        "column": 28
                      }
                    }
                  },
                  {
                    "type": "CommentLine",
                    "value": " }",
                    "start": 4390,
                    "end": 4394,
                    "loc": {
                      "start": {
                        "line": 134,
                        "column": 4
                      },
                      "end": {
                        "line": 134,
                        "column": 8
                      }
                    }
                  },
                  {
                    "type": "CommentBlock",
                    "value": "* @throws {Error} - overflow of the key could not be derived ",
                    "start": 4400,
                    "end": 4465,
                    "loc": {
                      "start": {
                        "line": 136,
                        "column": 4
                      },
                      "end": {
                        "line": 136,
                        "column": 69
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": " <helper_functions> ",
                    "start": 4997,
                    "end": 5021,
                    "loc": {
                      "start": {
                        "line": 155,
                        "column": 4
                      },
                      "end": {
                        "line": 155,
                        "column": 28
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 5027,
                "end": 5240,
                "loc": {
                  "start": {
                    "line": 157,
                    "column": 4
                  },
                  "end": {
                    "line": 164,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 5027,
                  "end": 5039,
                  "loc": {
                    "start": {
                      "line": 157,
                      "column": 4
                    },
                    "end": {
                      "line": 157,
                      "column": 16
                    },
                    "identifierName": "toByteBuffer"
                  },
                  "name": "toByteBuffer",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 5042,
                  "end": 5240,
                  "loc": {
                    "start": {
                      "line": 157,
                      "column": 19
                    },
                    "end": {
                      "line": 164,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 5052,
                      "end": 5164,
                      "loc": {
                        "start": {
                          "line": 158,
                          "column": 8
                        },
                        "end": {
                          "line": 161,
                          "column": 10
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 5056,
                          "end": 5163,
                          "loc": {
                            "start": {
                              "line": 158,
                              "column": 12
                            },
                            "end": {
                              "line": 161,
                              "column": 9
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 5056,
                            "end": 5057,
                            "loc": {
                              "start": {
                                "line": 158,
                                "column": 12
                              },
                              "end": {
                                "line": 158,
                                "column": 13
                              },
                              "identifierName": "b"
                            },
                            "name": "b"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 5060,
                            "end": 5163,
                            "loc": {
                              "start": {
                                "line": 158,
                                "column": 16
                              },
                              "end": {
                                "line": 161,
                                "column": 9
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 5064,
                              "end": 5074,
                              "loc": {
                                "start": {
                                  "line": 158,
                                  "column": 20
                                },
                                "end": {
                                  "line": 158,
                                  "column": 30
                                },
                                "identifierName": "ByteBuffer"
                              },
                              "name": "ByteBuffer"
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 5088,
                                "end": 5115,
                                "loc": {
                                  "start": {
                                    "line": 159,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 159,
                                    "column": 39
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 5088,
                                  "end": 5098,
                                  "loc": {
                                    "start": {
                                      "line": 159,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 159,
                                      "column": 22
                                    },
                                    "identifierName": "ByteBuffer"
                                  },
                                  "name": "ByteBuffer"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5099,
                                  "end": 5115,
                                  "loc": {
                                    "start": {
                                      "line": 159,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 159,
                                      "column": 39
                                    },
                                    "identifierName": "DEFAULT_CAPACITY"
                                  },
                                  "name": "DEFAULT_CAPACITY"
                                },
                                "computed": false
                              },
                              {
                                "type": "MemberExpression",
                                "start": 5129,
                                "end": 5153,
                                "loc": {
                                  "start": {
                                    "line": 160,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 160,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 5129,
                                  "end": 5139,
                                  "loc": {
                                    "start": {
                                      "line": 160,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 160,
                                      "column": 22
                                    },
                                    "identifierName": "ByteBuffer"
                                  },
                                  "name": "ByteBuffer"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5140,
                                  "end": 5153,
                                  "loc": {
                                    "start": {
                                      "line": 160,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 160,
                                      "column": 36
                                    },
                                    "identifierName": "LITTLE_ENDIAN"
                                  },
                                  "name": "LITTLE_ENDIAN"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5173,
                      "end": 5198,
                      "loc": {
                        "start": {
                          "line": 162,
                          "column": 8
                        },
                        "end": {
                          "line": 162,
                          "column": 33
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5173,
                        "end": 5197,
                        "loc": {
                          "start": {
                            "line": 162,
                            "column": 8
                          },
                          "end": {
                            "line": 162,
                            "column": 32
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5173,
                          "end": 5194,
                          "loc": {
                            "start": {
                              "line": 162,
                              "column": 8
                            },
                            "end": {
                              "line": 162,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5173,
                            "end": 5177,
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 8
                              },
                              "end": {
                                "line": 162,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5178,
                            "end": 5194,
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 13
                              },
                              "end": {
                                "line": 162,
                                "column": 29
                              },
                              "identifierName": "appendByteBuffer"
                            },
                            "name": "appendByteBuffer"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 5195,
                            "end": 5196,
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 30
                              },
                              "end": {
                                "line": 162,
                                "column": 31
                              },
                              "identifierName": "b"
                            },
                            "name": "b"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 5207,
                      "end": 5234,
                      "loc": {
                        "start": {
                          "line": 163,
                          "column": 8
                        },
                        "end": {
                          "line": 163,
                          "column": 35
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 5214,
                        "end": 5233,
                        "loc": {
                          "start": {
                            "line": 163,
                            "column": 15
                          },
                          "end": {
                            "line": 163,
                            "column": 34
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5214,
                          "end": 5220,
                          "loc": {
                            "start": {
                              "line": 163,
                              "column": 15
                            },
                            "end": {
                              "line": 163,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5214,
                            "end": 5215,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 15
                              },
                              "end": {
                                "line": 163,
                                "column": 16
                              },
                              "identifierName": "b"
                            },
                            "name": "b"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5216,
                            "end": 5220,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 17
                              },
                              "end": {
                                "line": 163,
                                "column": 21
                              },
                              "identifierName": "copy"
                            },
                            "name": "copy"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "NumericLiteral",
                            "start": 5221,
                            "end": 5222,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 22
                              },
                              "end": {
                                "line": 163,
                                "column": 23
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          },
                          {
                            "type": "MemberExpression",
                            "start": 5224,
                            "end": 5232,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 25
                              },
                              "end": {
                                "line": 163,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5224,
                              "end": 5225,
                              "loc": {
                                "start": {
                                  "line": 163,
                                  "column": 25
                                },
                                "end": {
                                  "line": 163,
                                  "column": 26
                                },
                                "identifierName": "b"
                              },
                              "name": "b"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5226,
                              "end": 5232,
                              "loc": {
                                "start": {
                                  "line": 163,
                                  "column": 27
                                },
                                "end": {
                                  "line": 163,
                                  "column": 33
                                },
                                "identifierName": "offset"
                              },
                              "name": "offset"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": " <helper_functions> ",
                    "start": 4997,
                    "end": 5021,
                    "loc": {
                      "start": {
                        "line": 155,
                        "column": 4
                      },
                      "end": {
                        "line": 155,
                        "column": 28
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 5246,
                "end": 5335,
                "loc": {
                  "start": {
                    "line": 166,
                    "column": 4
                  },
                  "end": {
                    "line": 168,
                    "column": 5
                  }
                },
                "static": true,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 5253,
                  "end": 5260,
                  "loc": {
                    "start": {
                      "line": 166,
                      "column": 11
                    },
                    "end": {
                      "line": 166,
                      "column": 18
                    },
                    "identifierName": "fromHex"
                  },
                  "name": "fromHex"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 5261,
                    "end": 5264,
                    "loc": {
                      "start": {
                        "line": 166,
                        "column": 19
                      },
                      "end": {
                        "line": 166,
                        "column": 22
                      },
                      "identifierName": "hex"
                    },
                    "name": "hex"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 5266,
                  "end": 5335,
                  "loc": {
                    "start": {
                      "line": 166,
                      "column": 24
                    },
                    "end": {
                      "line": 168,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 5276,
                      "end": 5329,
                      "loc": {
                        "start": {
                          "line": 167,
                          "column": 8
                        },
                        "end": {
                          "line": 167,
                          "column": 61
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 5283,
                        "end": 5328,
                        "loc": {
                          "start": {
                            "line": 167,
                            "column": 15
                          },
                          "end": {
                            "line": 167,
                            "column": 60
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5283,
                          "end": 5304,
                          "loc": {
                            "start": {
                              "line": 167,
                              "column": 15
                            },
                            "end": {
                              "line": 167,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5283,
                            "end": 5293,
                            "loc": {
                              "start": {
                                "line": 167,
                                "column": 15
                              },
                              "end": {
                                "line": 167,
                                "column": 25
                              },
                              "identifierName": "PrivateKey"
                            },
                            "name": "PrivateKey"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5294,
                            "end": 5304,
                            "loc": {
                              "start": {
                                "line": 167,
                                "column": 26
                              },
                              "end": {
                                "line": 167,
                                "column": 36
                              },
                              "identifierName": "fromBuffer"
                            },
                            "name": "fromBuffer"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "NewExpression",
                            "start": 5305,
                            "end": 5327,
                            "loc": {
                              "start": {
                                "line": 167,
                                "column": 37
                              },
                              "end": {
                                "line": 167,
                                "column": 59
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 5309,
                              "end": 5315,
                              "loc": {
                                "start": {
                                  "line": 167,
                                  "column": 41
                                },
                                "end": {
                                  "line": 167,
                                  "column": 47
                                },
                                "identifierName": "Buffer"
                              },
                              "name": "Buffer"
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 5316,
                                "end": 5319,
                                "loc": {
                                  "start": {
                                    "line": 167,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 167,
                                    "column": 51
                                  },
                                  "identifierName": "hex"
                                },
                                "name": "hex"
                              },
                              {
                                "type": "StringLiteral",
                                "start": 5321,
                                "end": 5326,
                                "loc": {
                                  "start": {
                                    "line": 167,
                                    "column": 53
                                  },
                                  "end": {
                                    "line": 167,
                                    "column": 58
                                  }
                                },
                                "extra": {
                                  "rawValue": "hex",
                                  "raw": "\"hex\""
                                },
                                "value": "hex"
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 5341,
                "end": 5404,
                "loc": {
                  "start": {
                    "line": 170,
                    "column": 4
                  },
                  "end": {
                    "line": 172,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 5341,
                  "end": 5346,
                  "loc": {
                    "start": {
                      "line": 170,
                      "column": 4
                    },
                    "end": {
                      "line": 170,
                      "column": 9
                    },
                    "identifierName": "toHex"
                  },
                  "name": "toHex"
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 5349,
                  "end": 5404,
                  "loc": {
                    "start": {
                      "line": 170,
                      "column": 12
                    },
                    "end": {
                      "line": 172,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 5359,
                      "end": 5398,
                      "loc": {
                        "start": {
                          "line": 171,
                          "column": 8
                        },
                        "end": {
                          "line": 171,
                          "column": 47
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 5366,
                        "end": 5397,
                        "loc": {
                          "start": {
                            "line": 171,
                            "column": 15
                          },
                          "end": {
                            "line": 171,
                            "column": 46
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5366,
                          "end": 5390,
                          "loc": {
                            "start": {
                              "line": 171,
                              "column": 15
                            },
                            "end": {
                              "line": 171,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 5366,
                            "end": 5381,
                            "loc": {
                              "start": {
                                "line": 171,
                                "column": 15
                              },
                              "end": {
                                "line": 171,
                                "column": 30
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 5366,
                              "end": 5379,
                              "loc": {
                                "start": {
                                  "line": 171,
                                  "column": 15
                                },
                                "end": {
                                  "line": 171,
                                  "column": 28
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 5366,
                                "end": 5370,
                                "loc": {
                                  "start": {
                                    "line": 171,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 171,
                                    "column": 19
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5371,
                                "end": 5379,
                                "loc": {
                                  "start": {
                                    "line": 171,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 171,
                                    "column": 28
                                  },
                                  "identifierName": "toBuffer"
                                },
                                "name": "toBuffer"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5382,
                            "end": 5390,
                            "loc": {
                              "start": {
                                "line": 171,
                                "column": 31
                              },
                              "end": {
                                "line": 171,
                                "column": 39
                              },
                              "identifierName": "toString"
                            },
                            "name": "toString"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "StringLiteral",
                            "start": 5391,
                            "end": 5396,
                            "loc": {
                              "start": {
                                "line": 171,
                                "column": 40
                              },
                              "end": {
                                "line": 171,
                                "column": 45
                              }
                            },
                            "extra": {
                              "rawValue": "hex",
                              "raw": "\"hex\""
                            },
                            "value": "hex"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": " </helper_functions> ",
                    "start": 5410,
                    "end": 5435,
                    "loc": {
                      "start": {
                        "line": 174,
                        "column": 4
                      },
                      "end": {
                        "line": 174,
                        "column": 29
                      }
                    }
                  }
                ]
              }
            ]
          },
          "__PseudoExport__": false,
          "leadingComments": [],
          "trailingComments": []
        },
        "leadingComments": null
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentBlock",
      "value": "*\n        @private see static functions\n        @param {BigInteger}\n    ",
      "start": 396,
      "end": 472,
      "loc": {
        "start": {
          "line": 14,
          "column": 4
        },
        "end": {
          "line": 17,
          "column": 6
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* @arg {string} seed - any length string.  This is private, the same seed produces the same private key every time.  ",
      "start": 1065,
      "end": 1186,
      "loc": {
        "start": {
          "line": 40,
          "column": 4
        },
        "end": {
          "line": 40,
          "column": 125
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " generate_private_key",
      "start": 1223,
      "end": 1246,
      "loc": {
        "start": {
          "line": 42,
          "column": 8
        },
        "end": {
          "line": 42,
          "column": 31
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* @return {string} Wallet Import Format (still a secret, Not encrypted) ",
      "start": 1423,
      "end": 1499,
      "loc": {
        "start": {
          "line": 49,
          "column": 4
        },
        "end": {
          "line": 49,
          "column": 80
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " checksum includes the version",
      "start": 1787,
      "end": 1819,
      "loc": {
        "start": {
          "line": 58,
          "column": 8
        },
        "end": {
          "line": 58,
          "column": 40
        }
      }
    },
    {
      "type": "CommentLine",
      "value": ", 'Invalid checksum'",
      "start": 2117,
      "end": 2139,
      "loc": {
        "start": {
          "line": 64,
          "column": 57
        },
        "end": {
          "line": 64,
          "column": 79
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " checksum includes the version",
      "start": 2396,
      "end": 2428,
      "loc": {
        "start": {
          "line": 74,
          "column": 8
        },
        "end": {
          "line": 74,
          "column": 40
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n        @return {Point}\n    ",
      "start": 2737,
      "end": 2771,
      "loc": {
        "start": {
          "line": 83,
          "column": 4
        },
        "end": {
          "line": 85,
          "column": 6
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* ECIES ",
      "start": 3098,
      "end": 3110,
      "loc": {
        "start": {
          "line": 101,
          "column": 4
        },
        "end": {
          "line": 101,
          "column": 16
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " x",
      "start": 3374,
      "end": 3378,
      "loc": {
        "start": {
          "line": 107,
          "column": 52
        },
        "end": {
          "line": 107,
          "column": 56
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " y",
      "start": 3431,
      "end": 3435,
      "loc": {
        "start": {
          "line": 108,
          "column": 52
        },
        "end": {
          "line": 108,
          "column": 56
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "\n        the input to sha512 must be exactly 32-bytes, to match the c++ implementation\n        of get_shared_secret.  Right now S will be shorter if the most significant\n        byte(s) is zero.  Pad it back to the full 32-bytes\n        ",
      "start": 3592,
      "end": 3833,
      "loc": {
        "start": {
          "line": 113,
          "column": 8
        },
        "end": {
          "line": 117,
          "column": 10
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " SHA512 used in ECIES",
      "start": 3993,
      "end": 4016,
      "loc": {
        "start": {
          "line": 123,
          "column": 8
        },
        "end": {
          "line": 123,
          "column": 31
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " /** ECIES (does not always match the Point.fromAffine version above) */",
      "start": 4054,
      "end": 4128,
      "loc": {
        "start": {
          "line": 127,
          "column": 4
        },
        "end": {
          "line": 127,
          "column": 78
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " get_shared_secret(public_key){",
      "start": 4133,
      "end": 4166,
      "loc": {
        "start": {
          "line": 128,
          "column": 4
        },
        "end": {
          "line": 128,
          "column": 37
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     public_key = toPublic(public_key)",
      "start": 4171,
      "end": 4211,
      "loc": {
        "start": {
          "line": 129,
          "column": 4
        },
        "end": {
          "line": 129,
          "column": 44
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     var P = public_key.Q.multiply( this.d );",
      "start": 4216,
      "end": 4263,
      "loc": {
        "start": {
          "line": 130,
          "column": 4
        },
        "end": {
          "line": 130,
          "column": 51
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     var S = P.affineX.toBuffer({size: 32});",
      "start": 4268,
      "end": 4314,
      "loc": {
        "start": {
          "line": 131,
          "column": 4
        },
        "end": {
          "line": 131,
          "column": 50
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     // ECIES, adds an extra sha512",
      "start": 4319,
      "end": 4356,
      "loc": {
        "start": {
          "line": 132,
          "column": 4
        },
        "end": {
          "line": 132,
          "column": 41
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     return sha512(S);",
      "start": 4361,
      "end": 4385,
      "loc": {
        "start": {
          "line": 133,
          "column": 4
        },
        "end": {
          "line": 133,
          "column": 28
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " }",
      "start": 4390,
      "end": 4394,
      "loc": {
        "start": {
          "line": 134,
          "column": 4
        },
        "end": {
          "line": 134,
          "column": 8
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* @throws {Error} - overflow of the key could not be derived ",
      "start": 4400,
      "end": 4465,
      "loc": {
        "start": {
          "line": 136,
          "column": 4
        },
        "end": {
          "line": 136,
          "column": 69
        }
      }
    },
    {
      "type": "CommentLine",
      "value": ".mod(n)",
      "start": 4786,
      "end": 4795,
      "loc": {
        "start": {
          "line": 145,
          "column": 37
        },
        "end": {
          "line": 145,
          "column": 46
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": " <helper_functions> ",
      "start": 4997,
      "end": 5021,
      "loc": {
        "start": {
          "line": 155,
          "column": 4
        },
        "end": {
          "line": 155,
          "column": 28
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": " </helper_functions> ",
      "start": 5410,
      "end": 5435,
      "loc": {
        "start": {
          "line": 174,
          "column": 4
        },
        "end": {
          "line": 174,
          "column": 29
        }
      }
    }
  ],
  "tokens": [
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 0,
      "end": 6,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7,
      "end": 8,
      "loc": {
        "start": {
          "line": 1,
          "column": 7
        },
        "end": {
          "line": 1,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Point",
      "start": 8,
      "end": 13,
      "loc": {
        "start": {
          "line": 1,
          "column": 8
        },
        "end": {
          "line": 1,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 13,
      "end": 14,
      "loc": {
        "start": {
          "line": 1,
          "column": 13
        },
        "end": {
          "line": 1,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getCurveByName",
      "start": 15,
      "end": 29,
      "loc": {
        "start": {
          "line": 1,
          "column": 15
        },
        "end": {
          "line": 1,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 29,
      "end": 30,
      "loc": {
        "start": {
          "line": 1,
          "column": 29
        },
        "end": {
          "line": 1,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 31,
      "end": 35,
      "loc": {
        "start": {
          "line": 1,
          "column": 31
        },
        "end": {
          "line": 1,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "ecurve",
      "start": 36,
      "end": 44,
      "loc": {
        "start": {
          "line": 1,
          "column": 36
        },
        "end": {
          "line": 1,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 44,
      "end": 45,
      "loc": {
        "start": {
          "line": 1,
          "column": 44
        },
        "end": {
          "line": 1,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 46,
      "end": 52,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BigInteger",
      "start": 53,
      "end": 63,
      "loc": {
        "start": {
          "line": 2,
          "column": 7
        },
        "end": {
          "line": 2,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 64,
      "end": 68,
      "loc": {
        "start": {
          "line": 2,
          "column": 18
        },
        "end": {
          "line": 2,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "bigi",
      "start": 69,
      "end": 75,
      "loc": {
        "start": {
          "line": 2,
          "column": 23
        },
        "end": {
          "line": 2,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 75,
      "end": 76,
      "loc": {
        "start": {
          "line": 2,
          "column": 29
        },
        "end": {
          "line": 2,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 77,
      "end": 83,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 84,
      "end": 85,
      "loc": {
        "start": {
          "line": 3,
          "column": 7
        },
        "end": {
          "line": 3,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "encode",
      "start": 85,
      "end": 91,
      "loc": {
        "start": {
          "line": 3,
          "column": 8
        },
        "end": {
          "line": 3,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 91,
      "end": 92,
      "loc": {
        "start": {
          "line": 3,
          "column": 14
        },
        "end": {
          "line": 3,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "decode",
      "start": 93,
      "end": 99,
      "loc": {
        "start": {
          "line": 3,
          "column": 16
        },
        "end": {
          "line": 3,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 99,
      "end": 100,
      "loc": {
        "start": {
          "line": 3,
          "column": 22
        },
        "end": {
          "line": 3,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 101,
      "end": 105,
      "loc": {
        "start": {
          "line": 3,
          "column": 24
        },
        "end": {
          "line": 3,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "bs58",
      "start": 106,
      "end": 112,
      "loc": {
        "start": {
          "line": 3,
          "column": 29
        },
        "end": {
          "line": 3,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 112,
      "end": 113,
      "loc": {
        "start": {
          "line": 3,
          "column": 35
        },
        "end": {
          "line": 3,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 114,
      "end": 120,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 121,
      "end": 122,
      "loc": {
        "start": {
          "line": 4,
          "column": 7
        },
        "end": {
          "line": 4,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sha256",
      "start": 122,
      "end": 128,
      "loc": {
        "start": {
          "line": 4,
          "column": 8
        },
        "end": {
          "line": 4,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 128,
      "end": 129,
      "loc": {
        "start": {
          "line": 4,
          "column": 14
        },
        "end": {
          "line": 4,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sha512",
      "start": 130,
      "end": 136,
      "loc": {
        "start": {
          "line": 4,
          "column": 16
        },
        "end": {
          "line": 4,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 136,
      "end": 137,
      "loc": {
        "start": {
          "line": 4,
          "column": 22
        },
        "end": {
          "line": 4,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 138,
      "end": 142,
      "loc": {
        "start": {
          "line": 4,
          "column": 24
        },
        "end": {
          "line": 4,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./hash",
      "start": 143,
      "end": 151,
      "loc": {
        "start": {
          "line": 4,
          "column": 29
        },
        "end": {
          "line": 4,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 151,
      "end": 152,
      "loc": {
        "start": {
          "line": 4,
          "column": 37
        },
        "end": {
          "line": 4,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 153,
      "end": 159,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PublicKey",
      "start": 160,
      "end": 169,
      "loc": {
        "start": {
          "line": 5,
          "column": 7
        },
        "end": {
          "line": 5,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 170,
      "end": 174,
      "loc": {
        "start": {
          "line": 5,
          "column": 17
        },
        "end": {
          "line": 5,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./PublicKey",
      "start": 175,
      "end": 188,
      "loc": {
        "start": {
          "line": 5,
          "column": 22
        },
        "end": {
          "line": 5,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 188,
      "end": 189,
      "loc": {
        "start": {
          "line": 5,
          "column": 35
        },
        "end": {
          "line": 5,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 190,
      "end": 196,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "deepEqual",
      "start": 197,
      "end": 206,
      "loc": {
        "start": {
          "line": 6,
          "column": 7
        },
        "end": {
          "line": 6,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 207,
      "end": 211,
      "loc": {
        "start": {
          "line": 6,
          "column": 17
        },
        "end": {
          "line": 6,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "deep-equal",
      "start": 212,
      "end": 224,
      "loc": {
        "start": {
          "line": 6,
          "column": 22
        },
        "end": {
          "line": 6,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 224,
      "end": 225,
      "loc": {
        "start": {
          "line": 6,
          "column": 34
        },
        "end": {
          "line": 6,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 226,
      "end": 232,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assert",
      "start": 233,
      "end": 239,
      "loc": {
        "start": {
          "line": 7,
          "column": 7
        },
        "end": {
          "line": 7,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 240,
      "end": 244,
      "loc": {
        "start": {
          "line": 7,
          "column": 14
        },
        "end": {
          "line": 7,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "assert",
      "start": 245,
      "end": 253,
      "loc": {
        "start": {
          "line": 7,
          "column": 19
        },
        "end": {
          "line": 7,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 253,
      "end": 254,
      "loc": {
        "start": {
          "line": 7,
          "column": 27
        },
        "end": {
          "line": 7,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 256,
      "end": 261,
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "secp256k1",
      "start": 262,
      "end": 271,
      "loc": {
        "start": {
          "line": 9,
          "column": 6
        },
        "end": {
          "line": 9,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 272,
      "end": 273,
      "loc": {
        "start": {
          "line": 9,
          "column": 16
        },
        "end": {
          "line": 9,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getCurveByName",
      "start": 274,
      "end": 288,
      "loc": {
        "start": {
          "line": 9,
          "column": 18
        },
        "end": {
          "line": 9,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 288,
      "end": 289,
      "loc": {
        "start": {
          "line": 9,
          "column": 32
        },
        "end": {
          "line": 9,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "secp256k1",
      "start": 289,
      "end": 300,
      "loc": {
        "start": {
          "line": 9,
          "column": 33
        },
        "end": {
          "line": 9,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 300,
      "end": 301,
      "loc": {
        "start": {
          "line": 9,
          "column": 44
        },
        "end": {
          "line": 9,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 301,
      "end": 302,
      "loc": {
        "start": {
          "line": 9,
          "column": 45
        },
        "end": {
          "line": 9,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 303,
      "end": 308,
      "loc": {
        "start": {
          "line": 10,
          "column": 0
        },
        "end": {
          "line": 10,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 309,
      "end": 310,
      "loc": {
        "start": {
          "line": 10,
          "column": 6
        },
        "end": {
          "line": 10,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "n",
      "start": 310,
      "end": 311,
      "loc": {
        "start": {
          "line": 10,
          "column": 7
        },
        "end": {
          "line": 10,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 311,
      "end": 312,
      "loc": {
        "start": {
          "line": 10,
          "column": 8
        },
        "end": {
          "line": 10,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 313,
      "end": 314,
      "loc": {
        "start": {
          "line": 10,
          "column": 10
        },
        "end": {
          "line": 10,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "secp256k1",
      "start": 315,
      "end": 324,
      "loc": {
        "start": {
          "line": 10,
          "column": 12
        },
        "end": {
          "line": 10,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 324,
      "end": 325,
      "loc": {
        "start": {
          "line": 10,
          "column": 21
        },
        "end": {
          "line": 10,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 326,
      "end": 331,
      "loc": {
        "start": {
          "line": 11,
          "column": 0
        },
        "end": {
          "line": 11,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Buffer",
      "start": 332,
      "end": 338,
      "loc": {
        "start": {
          "line": 11,
          "column": 6
        },
        "end": {
          "line": 11,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 339,
      "end": 340,
      "loc": {
        "start": {
          "line": 11,
          "column": 13
        },
        "end": {
          "line": 11,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "require",
      "start": 341,
      "end": 348,
      "loc": {
        "start": {
          "line": 11,
          "column": 15
        },
        "end": {
          "line": 11,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 348,
      "end": 349,
      "loc": {
        "start": {
          "line": 11,
          "column": 22
        },
        "end": {
          "line": 11,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "safe-buffer",
      "start": 349,
      "end": 362,
      "loc": {
        "start": {
          "line": 11,
          "column": 23
        },
        "end": {
          "line": 11,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 362,
      "end": 363,
      "loc": {
        "start": {
          "line": 11,
          "column": 36
        },
        "end": {
          "line": 11,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 363,
      "end": 364,
      "loc": {
        "start": {
          "line": 11,
          "column": 37
        },
        "end": {
          "line": 11,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Buffer",
      "start": 364,
      "end": 370,
      "loc": {
        "start": {
          "line": 11,
          "column": 38
        },
        "end": {
          "line": 11,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 370,
      "end": 371,
      "loc": {
        "start": {
          "line": 11,
          "column": 44
        },
        "end": {
          "line": 11,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 373,
      "end": 378,
      "loc": {
        "start": {
          "line": 13,
          "column": 0
        },
        "end": {
          "line": 13,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PrivateKey",
      "start": 379,
      "end": 389,
      "loc": {
        "start": {
          "line": 13,
          "column": 6
        },
        "end": {
          "line": 13,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 390,
      "end": 391,
      "loc": {
        "start": {
          "line": 13,
          "column": 17
        },
        "end": {
          "line": 13,
          "column": 18
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n        @private see static functions\n        @param {BigInteger}\n    ",
      "start": 396,
      "end": 472,
      "loc": {
        "start": {
          "line": 14,
          "column": 4
        },
        "end": {
          "line": 17,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 477,
      "end": 488,
      "loc": {
        "start": {
          "line": 18,
          "column": 4
        },
        "end": {
          "line": 18,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 488,
      "end": 489,
      "loc": {
        "start": {
          "line": 18,
          "column": 15
        },
        "end": {
          "line": 18,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "d",
      "start": 489,
      "end": 490,
      "loc": {
        "start": {
          "line": 18,
          "column": 16
        },
        "end": {
          "line": 18,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 490,
      "end": 491,
      "loc": {
        "start": {
          "line": 18,
          "column": 17
        },
        "end": {
          "line": 18,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 492,
      "end": 493,
      "loc": {
        "start": {
          "line": 18,
          "column": 19
        },
        "end": {
          "line": 18,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 502,
      "end": 506,
      "loc": {
        "start": {
          "line": 19,
          "column": 8
        },
        "end": {
          "line": 19,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 506,
      "end": 507,
      "loc": {
        "start": {
          "line": 19,
          "column": 12
        },
        "end": {
          "line": 19,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "d",
      "start": 507,
      "end": 508,
      "loc": {
        "start": {
          "line": 19,
          "column": 13
        },
        "end": {
          "line": 19,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 509,
      "end": 510,
      "loc": {
        "start": {
          "line": 19,
          "column": 15
        },
        "end": {
          "line": 19,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "d",
      "start": 511,
      "end": 512,
      "loc": {
        "start": {
          "line": 19,
          "column": 17
        },
        "end": {
          "line": 19,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 512,
      "end": 513,
      "loc": {
        "start": {
          "line": 19,
          "column": 18
        },
        "end": {
          "line": 19,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 518,
      "end": 519,
      "loc": {
        "start": {
          "line": 20,
          "column": 4
        },
        "end": {
          "line": 20,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "static",
      "start": 525,
      "end": 531,
      "loc": {
        "start": {
          "line": 22,
          "column": 4
        },
        "end": {
          "line": 22,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromBuffer",
      "start": 532,
      "end": 542,
      "loc": {
        "start": {
          "line": 22,
          "column": 11
        },
        "end": {
          "line": 22,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 542,
      "end": 543,
      "loc": {
        "start": {
          "line": 22,
          "column": 21
        },
        "end": {
          "line": 22,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 543,
      "end": 546,
      "loc": {
        "start": {
          "line": 22,
          "column": 22
        },
        "end": {
          "line": 22,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 546,
      "end": 547,
      "loc": {
        "start": {
          "line": 22,
          "column": 25
        },
        "end": {
          "line": 22,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 548,
      "end": 549,
      "loc": {
        "start": {
          "line": 22,
          "column": 27
        },
        "end": {
          "line": 22,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 558,
      "end": 560,
      "loc": {
        "start": {
          "line": 23,
          "column": 8
        },
        "end": {
          "line": 23,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 561,
      "end": 562,
      "loc": {
        "start": {
          "line": 23,
          "column": 11
        },
        "end": {
          "line": 23,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 562,
      "end": 563,
      "loc": {
        "start": {
          "line": 23,
          "column": 12
        },
        "end": {
          "line": 23,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Buffer",
      "start": 563,
      "end": 569,
      "loc": {
        "start": {
          "line": 23,
          "column": 13
        },
        "end": {
          "line": 23,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 569,
      "end": 570,
      "loc": {
        "start": {
          "line": 23,
          "column": 19
        },
        "end": {
          "line": 23,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isBuffer",
      "start": 570,
      "end": 578,
      "loc": {
        "start": {
          "line": 23,
          "column": 20
        },
        "end": {
          "line": 23,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 578,
      "end": 579,
      "loc": {
        "start": {
          "line": 23,
          "column": 28
        },
        "end": {
          "line": 23,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 579,
      "end": 582,
      "loc": {
        "start": {
          "line": 23,
          "column": 29
        },
        "end": {
          "line": 23,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 582,
      "end": 583,
      "loc": {
        "start": {
          "line": 23,
          "column": 32
        },
        "end": {
          "line": 23,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 583,
      "end": 584,
      "loc": {
        "start": {
          "line": 23,
          "column": 33
        },
        "end": {
          "line": 23,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 585,
      "end": 586,
      "loc": {
        "start": {
          "line": 23,
          "column": 35
        },
        "end": {
          "line": 23,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 599,
      "end": 604,
      "loc": {
        "start": {
          "line": 24,
          "column": 12
        },
        "end": {
          "line": 24,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 605,
      "end": 608,
      "loc": {
        "start": {
          "line": 24,
          "column": 18
        },
        "end": {
          "line": 24,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Error",
      "start": 609,
      "end": 614,
      "loc": {
        "start": {
          "line": 24,
          "column": 22
        },
        "end": {
          "line": 24,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 614,
      "end": 615,
      "loc": {
        "start": {
          "line": 24,
          "column": 27
        },
        "end": {
          "line": 24,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Expecting paramter to be a Buffer type",
      "start": 615,
      "end": 655,
      "loc": {
        "start": {
          "line": 24,
          "column": 28
        },
        "end": {
          "line": 24,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 655,
      "end": 656,
      "loc": {
        "start": {
          "line": 24,
          "column": 68
        },
        "end": {
          "line": 24,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 656,
      "end": 657,
      "loc": {
        "start": {
          "line": 24,
          "column": 69
        },
        "end": {
          "line": 24,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 666,
      "end": 667,
      "loc": {
        "start": {
          "line": 25,
          "column": 8
        },
        "end": {
          "line": 25,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 676,
      "end": 678,
      "loc": {
        "start": {
          "line": 26,
          "column": 8
        },
        "end": {
          "line": 26,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 679,
      "end": 680,
      "loc": {
        "start": {
          "line": 26,
          "column": 11
        },
        "end": {
          "line": 26,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 32,
      "start": 680,
      "end": 682,
      "loc": {
        "start": {
          "line": 26,
          "column": 12
        },
        "end": {
          "line": 26,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 683,
      "end": 686,
      "loc": {
        "start": {
          "line": 26,
          "column": 15
        },
        "end": {
          "line": 26,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 687,
      "end": 690,
      "loc": {
        "start": {
          "line": 26,
          "column": 19
        },
        "end": {
          "line": 26,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 690,
      "end": 691,
      "loc": {
        "start": {
          "line": 26,
          "column": 22
        },
        "end": {
          "line": 26,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 691,
      "end": 697,
      "loc": {
        "start": {
          "line": 26,
          "column": 23
        },
        "end": {
          "line": 26,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 697,
      "end": 698,
      "loc": {
        "start": {
          "line": 26,
          "column": 29
        },
        "end": {
          "line": 26,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 699,
      "end": 700,
      "loc": {
        "start": {
          "line": 26,
          "column": 31
        },
        "end": {
          "line": 26,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "console",
      "start": 713,
      "end": 720,
      "loc": {
        "start": {
          "line": 27,
          "column": 12
        },
        "end": {
          "line": 27,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 720,
      "end": 721,
      "loc": {
        "start": {
          "line": 27,
          "column": 19
        },
        "end": {
          "line": 27,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "log",
      "start": 721,
      "end": 724,
      "loc": {
        "start": {
          "line": 27,
          "column": 20
        },
        "end": {
          "line": 27,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 724,
      "end": 725,
      "loc": {
        "start": {
          "line": 27,
          "column": 23
        },
        "end": {
          "line": 27,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 742,
      "end": 743,
      "loc": {
        "start": {
          "line": 28,
          "column": 16
        },
        "end": {
          "line": 28,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "WARN: Expecting 32 bytes, instead got ",
      "start": 743,
      "end": 781,
      "loc": {
        "start": {
          "line": 28,
          "column": 17
        },
        "end": {
          "line": 28,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 781,
      "end": 783,
      "loc": {
        "start": {
          "line": 28,
          "column": 55
        },
        "end": {
          "line": 28,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 804,
      "end": 807,
      "loc": {
        "start": {
          "line": 29,
          "column": 20
        },
        "end": {
          "line": 29,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 807,
      "end": 808,
      "loc": {
        "start": {
          "line": 29,
          "column": 23
        },
        "end": {
          "line": 29,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 808,
      "end": 814,
      "loc": {
        "start": {
          "line": 29,
          "column": 24
        },
        "end": {
          "line": 29,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 831,
      "end": 832,
      "loc": {
        "start": {
          "line": 30,
          "column": 16
        },
        "end": {
          "line": 30,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ", stack trace:",
      "start": 832,
      "end": 846,
      "loc": {
        "start": {
          "line": 30,
          "column": 17
        },
        "end": {
          "line": 30,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 846,
      "end": 847,
      "loc": {
        "start": {
          "line": 30,
          "column": 31
        },
        "end": {
          "line": 30,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 847,
      "end": 848,
      "loc": {
        "start": {
          "line": 30,
          "column": 32
        },
        "end": {
          "line": 30,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 865,
      "end": 868,
      "loc": {
        "start": {
          "line": 31,
          "column": 16
        },
        "end": {
          "line": 31,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Error",
      "start": 869,
      "end": 874,
      "loc": {
        "start": {
          "line": 31,
          "column": 20
        },
        "end": {
          "line": 31,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 874,
      "end": 875,
      "loc": {
        "start": {
          "line": 31,
          "column": 25
        },
        "end": {
          "line": 31,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 875,
      "end": 876,
      "loc": {
        "start": {
          "line": 31,
          "column": 26
        },
        "end": {
          "line": 31,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 876,
      "end": 877,
      "loc": {
        "start": {
          "line": 31,
          "column": 27
        },
        "end": {
          "line": 31,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "stack",
      "start": 877,
      "end": 882,
      "loc": {
        "start": {
          "line": 31,
          "column": 28
        },
        "end": {
          "line": 31,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 895,
      "end": 896,
      "loc": {
        "start": {
          "line": 32,
          "column": 12
        },
        "end": {
          "line": 32,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 896,
      "end": 897,
      "loc": {
        "start": {
          "line": 32,
          "column": 13
        },
        "end": {
          "line": 32,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 906,
      "end": 907,
      "loc": {
        "start": {
          "line": 33,
          "column": 8
        },
        "end": {
          "line": 33,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 916,
      "end": 918,
      "loc": {
        "start": {
          "line": 34,
          "column": 8
        },
        "end": {
          "line": 34,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 919,
      "end": 920,
      "loc": {
        "start": {
          "line": 34,
          "column": 11
        },
        "end": {
          "line": 34,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 920,
      "end": 923,
      "loc": {
        "start": {
          "line": 34,
          "column": 12
        },
        "end": {
          "line": 34,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 923,
      "end": 924,
      "loc": {
        "start": {
          "line": 34,
          "column": 15
        },
        "end": {
          "line": 34,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 924,
      "end": 930,
      "loc": {
        "start": {
          "line": 34,
          "column": 16
        },
        "end": {
          "line": 34,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 931,
      "end": 934,
      "loc": {
        "start": {
          "line": 34,
          "column": 23
        },
        "end": {
          "line": 34,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 935,
      "end": 936,
      "loc": {
        "start": {
          "line": 34,
          "column": 27
        },
        "end": {
          "line": 34,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 936,
      "end": 937,
      "loc": {
        "start": {
          "line": 34,
          "column": 28
        },
        "end": {
          "line": 34,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 938,
      "end": 939,
      "loc": {
        "start": {
          "line": 34,
          "column": 30
        },
        "end": {
          "line": 34,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 952,
      "end": 957,
      "loc": {
        "start": {
          "line": 35,
          "column": 12
        },
        "end": {
          "line": 35,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 958,
      "end": 961,
      "loc": {
        "start": {
          "line": 35,
          "column": 18
        },
        "end": {
          "line": 35,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Error",
      "start": 962,
      "end": 967,
      "loc": {
        "start": {
          "line": 35,
          "column": 22
        },
        "end": {
          "line": 35,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 967,
      "end": 968,
      "loc": {
        "start": {
          "line": 35,
          "column": 27
        },
        "end": {
          "line": 35,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Empty buffer",
      "start": 968,
      "end": 982,
      "loc": {
        "start": {
          "line": 35,
          "column": 28
        },
        "end": {
          "line": 35,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 982,
      "end": 983,
      "loc": {
        "start": {
          "line": 35,
          "column": 42
        },
        "end": {
          "line": 35,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 983,
      "end": 984,
      "loc": {
        "start": {
          "line": 35,
          "column": 43
        },
        "end": {
          "line": 35,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 993,
      "end": 994,
      "loc": {
        "start": {
          "line": 36,
          "column": 8
        },
        "end": {
          "line": 36,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 1003,
      "end": 1009,
      "loc": {
        "start": {
          "line": 37,
          "column": 8
        },
        "end": {
          "line": 37,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 1010,
      "end": 1013,
      "loc": {
        "start": {
          "line": 37,
          "column": 15
        },
        "end": {
          "line": 37,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PrivateKey",
      "start": 1014,
      "end": 1024,
      "loc": {
        "start": {
          "line": 37,
          "column": 19
        },
        "end": {
          "line": 37,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1024,
      "end": 1025,
      "loc": {
        "start": {
          "line": 37,
          "column": 29
        },
        "end": {
          "line": 37,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BigInteger",
      "start": 1025,
      "end": 1035,
      "loc": {
        "start": {
          "line": 37,
          "column": 30
        },
        "end": {
          "line": 37,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1035,
      "end": 1036,
      "loc": {
        "start": {
          "line": 37,
          "column": 40
        },
        "end": {
          "line": 37,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromBuffer",
      "start": 1036,
      "end": 1046,
      "loc": {
        "start": {
          "line": 37,
          "column": 41
        },
        "end": {
          "line": 37,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1046,
      "end": 1047,
      "loc": {
        "start": {
          "line": 37,
          "column": 51
        },
        "end": {
          "line": 37,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buf",
      "start": 1047,
      "end": 1050,
      "loc": {
        "start": {
          "line": 37,
          "column": 52
        },
        "end": {
          "line": 37,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1050,
      "end": 1051,
      "loc": {
        "start": {
          "line": 37,
          "column": 55
        },
        "end": {
          "line": 37,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1051,
      "end": 1052,
      "loc": {
        "start": {
          "line": 37,
          "column": 56
        },
        "end": {
          "line": 37,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1052,
      "end": 1053,
      "loc": {
        "start": {
          "line": 37,
          "column": 57
        },
        "end": {
          "line": 37,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1058,
      "end": 1059,
      "loc": {
        "start": {
          "line": 38,
          "column": 4
        },
        "end": {
          "line": 38,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* @arg {string} seed - any length string.  This is private, the same seed produces the same private key every time.  ",
      "start": 1065,
      "end": 1186,
      "loc": {
        "start": {
          "line": 40,
          "column": 4
        },
        "end": {
          "line": 40,
          "column": 125
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "static",
      "start": 1191,
      "end": 1197,
      "loc": {
        "start": {
          "line": 41,
          "column": 4
        },
        "end": {
          "line": 41,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromSeed",
      "start": 1198,
      "end": 1206,
      "loc": {
        "start": {
          "line": 41,
          "column": 11
        },
        "end": {
          "line": 41,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1206,
      "end": 1207,
      "loc": {
        "start": {
          "line": 41,
          "column": 19
        },
        "end": {
          "line": 41,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "seed",
      "start": 1207,
      "end": 1211,
      "loc": {
        "start": {
          "line": 41,
          "column": 20
        },
        "end": {
          "line": 41,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1211,
      "end": 1212,
      "loc": {
        "start": {
          "line": 41,
          "column": 24
        },
        "end": {
          "line": 41,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1213,
      "end": 1214,
      "loc": {
        "start": {
          "line": 41,
          "column": 26
        },
        "end": {
          "line": 41,
          "column": 27
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " generate_private_key",
      "start": 1223,
      "end": 1246,
      "loc": {
        "start": {
          "line": 42,
          "column": 8
        },
        "end": {
          "line": 42,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1255,
      "end": 1257,
      "loc": {
        "start": {
          "line": 43,
          "column": 8
        },
        "end": {
          "line": 43,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1258,
      "end": 1259,
      "loc": {
        "start": {
          "line": 43,
          "column": 11
        },
        "end": {
          "line": 43,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 1259,
      "end": 1260,
      "loc": {
        "start": {
          "line": 43,
          "column": 12
        },
        "end": {
          "line": 43,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1260,
      "end": 1261,
      "loc": {
        "start": {
          "line": 43,
          "column": 13
        },
        "end": {
          "line": 43,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "typeof",
        "keyword": "typeof",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "typeof",
      "start": 1261,
      "end": 1267,
      "loc": {
        "start": {
          "line": 43,
          "column": 14
        },
        "end": {
          "line": 43,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "seed",
      "start": 1268,
      "end": 1272,
      "loc": {
        "start": {
          "line": 43,
          "column": 21
        },
        "end": {
          "line": 43,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 1273,
      "end": 1276,
      "loc": {
        "start": {
          "line": 43,
          "column": 26
        },
        "end": {
          "line": 43,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "string",
      "start": 1277,
      "end": 1285,
      "loc": {
        "start": {
          "line": 43,
          "column": 30
        },
        "end": {
          "line": 43,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1285,
      "end": 1286,
      "loc": {
        "start": {
          "line": 43,
          "column": 38
        },
        "end": {
          "line": 43,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1286,
      "end": 1287,
      "loc": {
        "start": {
          "line": 43,
          "column": 39
        },
        "end": {
          "line": 43,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1288,
      "end": 1289,
      "loc": {
        "start": {
          "line": 43,
          "column": 41
        },
        "end": {
          "line": 43,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 1302,
      "end": 1307,
      "loc": {
        "start": {
          "line": 44,
          "column": 12
        },
        "end": {
          "line": 44,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 1308,
      "end": 1311,
      "loc": {
        "start": {
          "line": 44,
          "column": 18
        },
        "end": {
          "line": 44,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Error",
      "start": 1312,
      "end": 1317,
      "loc": {
        "start": {
          "line": 44,
          "column": 22
        },
        "end": {
          "line": 44,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1317,
      "end": 1318,
      "loc": {
        "start": {
          "line": 44,
          "column": 27
        },
        "end": {
          "line": 44,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "seed must be of type string",
      "start": 1318,
      "end": 1347,
      "loc": {
        "start": {
          "line": 44,
          "column": 28
        },
        "end": {
          "line": 44,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1347,
      "end": 1348,
      "loc": {
        "start": {
          "line": 44,
          "column": 57
        },
        "end": {
          "line": 44,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1348,
      "end": 1349,
      "loc": {
        "start": {
          "line": 44,
          "column": 58
        },
        "end": {
          "line": 44,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1358,
      "end": 1359,
      "loc": {
        "start": {
          "line": 45,
          "column": 8
        },
        "end": {
          "line": 45,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 1368,
      "end": 1374,
      "loc": {
        "start": {
          "line": 46,
          "column": 8
        },
        "end": {
          "line": 46,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PrivateKey",
      "start": 1375,
      "end": 1385,
      "loc": {
        "start": {
          "line": 46,
          "column": 15
        },
        "end": {
          "line": 46,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1385,
      "end": 1386,
      "loc": {
        "start": {
          "line": 46,
          "column": 25
        },
        "end": {
          "line": 46,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromBuffer",
      "start": 1386,
      "end": 1396,
      "loc": {
        "start": {
          "line": 46,
          "column": 26
        },
        "end": {
          "line": 46,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1396,
      "end": 1397,
      "loc": {
        "start": {
          "line": 46,
          "column": 36
        },
        "end": {
          "line": 46,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sha256",
      "start": 1397,
      "end": 1403,
      "loc": {
        "start": {
          "line": 46,
          "column": 37
        },
        "end": {
          "line": 46,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1403,
      "end": 1404,
      "loc": {
        "start": {
          "line": 46,
          "column": 43
        },
        "end": {
          "line": 46,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "seed",
      "start": 1404,
      "end": 1408,
      "loc": {
        "start": {
          "line": 46,
          "column": 44
        },
        "end": {
          "line": 46,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1408,
      "end": 1409,
      "loc": {
        "start": {
          "line": 46,
          "column": 48
        },
        "end": {
          "line": 46,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1409,
      "end": 1410,
      "loc": {
        "start": {
          "line": 46,
          "column": 49
        },
        "end": {
          "line": 46,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1410,
      "end": 1411,
      "loc": {
        "start": {
          "line": 46,
          "column": 50
        },
        "end": {
          "line": 46,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1416,
      "end": 1417,
      "loc": {
        "start": {
          "line": 47,
          "column": 4
        },
        "end": {
          "line": 47,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* @return {string} Wallet Import Format (still a secret, Not encrypted) ",
      "start": 1423,
      "end": 1499,
      "loc": {
        "start": {
          "line": 49,
          "column": 4
        },
        "end": {
          "line": 49,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "static",
      "start": 1504,
      "end": 1510,
      "loc": {
        "start": {
          "line": 50,
          "column": 4
        },
        "end": {
          "line": 50,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromWif",
      "start": 1511,
      "end": 1518,
      "loc": {
        "start": {
          "line": 50,
          "column": 11
        },
        "end": {
          "line": 50,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1518,
      "end": 1519,
      "loc": {
        "start": {
          "line": 50,
          "column": 18
        },
        "end": {
          "line": 50,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_private_wif",
      "start": 1519,
      "end": 1531,
      "loc": {
        "start": {
          "line": 50,
          "column": 19
        },
        "end": {
          "line": 50,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1531,
      "end": 1532,
      "loc": {
        "start": {
          "line": 50,
          "column": 31
        },
        "end": {
          "line": 50,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1533,
      "end": 1534,
      "loc": {
        "start": {
          "line": 50,
          "column": 33
        },
        "end": {
          "line": 50,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 1543,
      "end": 1546,
      "loc": {
        "start": {
          "line": 51,
          "column": 8
        },
        "end": {
          "line": 51,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "private_wif",
      "start": 1547,
      "end": 1558,
      "loc": {
        "start": {
          "line": 51,
          "column": 12
        },
        "end": {
          "line": 51,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1559,
      "end": 1560,
      "loc": {
        "start": {
          "line": 51,
          "column": 24
        },
        "end": {
          "line": 51,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Buffer",
      "start": 1561,
      "end": 1567,
      "loc": {
        "start": {
          "line": 51,
          "column": 26
        },
        "end": {
          "line": 51,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1567,
      "end": 1568,
      "loc": {
        "start": {
          "line": 51,
          "column": 32
        },
        "end": {
          "line": 51,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 1568,
      "end": 1572,
      "loc": {
        "start": {
          "line": 51,
          "column": 33
        },
        "end": {
          "line": 51,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1572,
      "end": 1573,
      "loc": {
        "start": {
          "line": 51,
          "column": 37
        },
        "end": {
          "line": 51,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "decode",
      "start": 1573,
      "end": 1579,
      "loc": {
        "start": {
          "line": 51,
          "column": 38
        },
        "end": {
          "line": 51,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1579,
      "end": 1580,
      "loc": {
        "start": {
          "line": 51,
          "column": 44
        },
        "end": {
          "line": 51,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_private_wif",
      "start": 1580,
      "end": 1592,
      "loc": {
        "start": {
          "line": 51,
          "column": 45
        },
        "end": {
          "line": 51,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1592,
      "end": 1593,
      "loc": {
        "start": {
          "line": 51,
          "column": 57
        },
        "end": {
          "line": 51,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1593,
      "end": 1594,
      "loc": {
        "start": {
          "line": 51,
          "column": 58
        },
        "end": {
          "line": 51,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1594,
      "end": 1595,
      "loc": {
        "start": {
          "line": 51,
          "column": 59
        },
        "end": {
          "line": 51,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 1604,
      "end": 1607,
      "loc": {
        "start": {
          "line": 52,
          "column": 8
        },
        "end": {
          "line": 52,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "version",
      "start": 1608,
      "end": 1615,
      "loc": {
        "start": {
          "line": 52,
          "column": 12
        },
        "end": {
          "line": 52,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1616,
      "end": 1617,
      "loc": {
        "start": {
          "line": 52,
          "column": 20
        },
        "end": {
          "line": 52,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "private_wif",
      "start": 1618,
      "end": 1629,
      "loc": {
        "start": {
          "line": 52,
          "column": 22
        },
        "end": {
          "line": 52,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1629,
      "end": 1630,
      "loc": {
        "start": {
          "line": 52,
          "column": 33
        },
        "end": {
          "line": 52,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "readUInt8",
      "start": 1630,
      "end": 1639,
      "loc": {
        "start": {
          "line": 52,
          "column": 34
        },
        "end": {
          "line": 52,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1639,
      "end": 1640,
      "loc": {
        "start": {
          "line": 52,
          "column": 43
        },
        "end": {
          "line": 52,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 1640,
      "end": 1641,
      "loc": {
        "start": {
          "line": 52,
          "column": 44
        },
        "end": {
          "line": 52,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1641,
      "end": 1642,
      "loc": {
        "start": {
          "line": 52,
          "column": 45
        },
        "end": {
          "line": 52,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1642,
      "end": 1643,
      "loc": {
        "start": {
          "line": 52,
          "column": 46
        },
        "end": {
          "line": 52,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assert",
      "start": 1652,
      "end": 1658,
      "loc": {
        "start": {
          "line": 53,
          "column": 8
        },
        "end": {
          "line": 53,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1658,
      "end": 1659,
      "loc": {
        "start": {
          "line": 53,
          "column": 14
        },
        "end": {
          "line": 53,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "equal",
      "start": 1659,
      "end": 1664,
      "loc": {
        "start": {
          "line": 53,
          "column": 15
        },
        "end": {
          "line": 53,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1664,
      "end": 1665,
      "loc": {
        "start": {
          "line": 53,
          "column": 20
        },
        "end": {
          "line": 53,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 128,
      "start": 1678,
      "end": 1682,
      "loc": {
        "start": {
          "line": 54,
          "column": 12
        },
        "end": {
          "line": 54,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1682,
      "end": 1683,
      "loc": {
        "start": {
          "line": 54,
          "column": 16
        },
        "end": {
          "line": 54,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "version",
      "start": 1696,
      "end": 1703,
      "loc": {
        "start": {
          "line": 55,
          "column": 12
        },
        "end": {
          "line": 55,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1703,
      "end": 1704,
      "loc": {
        "start": {
          "line": 55,
          "column": 19
        },
        "end": {
          "line": 55,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1717,
      "end": 1718,
      "loc": {
        "start": {
          "line": 56,
          "column": 12
        },
        "end": {
          "line": 56,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Expected version ",
      "start": 1718,
      "end": 1735,
      "loc": {
        "start": {
          "line": 56,
          "column": 13
        },
        "end": {
          "line": 56,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1735,
      "end": 1737,
      "loc": {
        "start": {
          "line": 56,
          "column": 30
        },
        "end": {
          "line": 56,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 128,
      "start": 1737,
      "end": 1741,
      "loc": {
        "start": {
          "line": 56,
          "column": 32
        },
        "end": {
          "line": 56,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1741,
      "end": 1742,
      "loc": {
        "start": {
          "line": 56,
          "column": 36
        },
        "end": {
          "line": 56,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ", instead got ",
      "start": 1742,
      "end": 1756,
      "loc": {
        "start": {
          "line": 56,
          "column": 37
        },
        "end": {
          "line": 56,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1756,
      "end": 1758,
      "loc": {
        "start": {
          "line": 56,
          "column": 51
        },
        "end": {
          "line": 56,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "version",
      "start": 1758,
      "end": 1765,
      "loc": {
        "start": {
          "line": 56,
          "column": 53
        },
        "end": {
          "line": 56,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1765,
      "end": 1766,
      "loc": {
        "start": {
          "line": 56,
          "column": 60
        },
        "end": {
          "line": 56,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 1766,
      "end": 1766,
      "loc": {
        "start": {
          "line": 56,
          "column": 61
        },
        "end": {
          "line": 56,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1766,
      "end": 1767,
      "loc": {
        "start": {
          "line": 56,
          "column": 61
        },
        "end": {
          "line": 56,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1776,
      "end": 1777,
      "loc": {
        "start": {
          "line": 57,
          "column": 8
        },
        "end": {
          "line": 57,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1777,
      "end": 1778,
      "loc": {
        "start": {
          "line": 57,
          "column": 9
        },
        "end": {
          "line": 57,
          "column": 10
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " checksum includes the version",
      "start": 1787,
      "end": 1819,
      "loc": {
        "start": {
          "line": 58,
          "column": 8
        },
        "end": {
          "line": 58,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 1828,
      "end": 1831,
      "loc": {
        "start": {
          "line": 59,
          "column": 8
        },
        "end": {
          "line": 59,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "private_key",
      "start": 1832,
      "end": 1843,
      "loc": {
        "start": {
          "line": 59,
          "column": 12
        },
        "end": {
          "line": 59,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1844,
      "end": 1845,
      "loc": {
        "start": {
          "line": 59,
          "column": 24
        },
        "end": {
          "line": 59,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "private_wif",
      "start": 1846,
      "end": 1857,
      "loc": {
        "start": {
          "line": 59,
          "column": 26
        },
        "end": {
          "line": 59,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1857,
      "end": 1858,
      "loc": {
        "start": {
          "line": 59,
          "column": 37
        },
        "end": {
          "line": 59,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 1858,
      "end": 1863,
      "loc": {
        "start": {
          "line": 59,
          "column": 38
        },
        "end": {
          "line": 59,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1863,
      "end": 1864,
      "loc": {
        "start": {
          "line": 59,
          "column": 43
        },
        "end": {
          "line": 59,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 1864,
      "end": 1865,
      "loc": {
        "start": {
          "line": 59,
          "column": 44
        },
        "end": {
          "line": 59,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1865,
      "end": 1866,
      "loc": {
        "start": {
          "line": 59,
          "column": 45
        },
        "end": {
          "line": 59,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 1867,
      "end": 1868,
      "loc": {
        "start": {
          "line": 59,
          "column": 47
        },
        "end": {
          "line": 59,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 4,
      "start": 1868,
      "end": 1869,
      "loc": {
        "start": {
          "line": 59,
          "column": 48
        },
        "end": {
          "line": 59,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1869,
      "end": 1870,
      "loc": {
        "start": {
          "line": 59,
          "column": 49
        },
        "end": {
          "line": 59,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1870,
      "end": 1871,
      "loc": {
        "start": {
          "line": 59,
          "column": 50
        },
        "end": {
          "line": 59,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 1880,
      "end": 1883,
      "loc": {
        "start": {
          "line": 60,
          "column": 8
        },
        "end": {
          "line": 60,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "checksum",
      "start": 1884,
      "end": 1892,
      "loc": {
        "start": {
          "line": 60,
          "column": 12
        },
        "end": {
          "line": 60,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1893,
      "end": 1894,
      "loc": {
        "start": {
          "line": 60,
          "column": 21
        },
        "end": {
          "line": 60,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "private_wif",
      "start": 1895,
      "end": 1906,
      "loc": {
        "start": {
          "line": 60,
          "column": 23
        },
        "end": {
          "line": 60,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1906,
      "end": 1907,
      "loc": {
        "start": {
          "line": 60,
          "column": 34
        },
        "end": {
          "line": 60,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 1907,
      "end": 1912,
      "loc": {
        "start": {
          "line": 60,
          "column": 35
        },
        "end": {
          "line": 60,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1912,
      "end": 1913,
      "loc": {
        "start": {
          "line": 60,
          "column": 40
        },
        "end": {
          "line": 60,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 1913,
      "end": 1914,
      "loc": {
        "start": {
          "line": 60,
          "column": 41
        },
        "end": {
          "line": 60,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 4,
      "start": 1914,
      "end": 1915,
      "loc": {
        "start": {
          "line": 60,
          "column": 42
        },
        "end": {
          "line": 60,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1915,
      "end": 1916,
      "loc": {
        "start": {
          "line": 60,
          "column": 43
        },
        "end": {
          "line": 60,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1916,
      "end": 1917,
      "loc": {
        "start": {
          "line": 60,
          "column": 44
        },
        "end": {
          "line": 60,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 1926,
      "end": 1929,
      "loc": {
        "start": {
          "line": 61,
          "column": 8
        },
        "end": {
          "line": 61,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "new_checksum",
      "start": 1930,
      "end": 1942,
      "loc": {
        "start": {
          "line": 61,
          "column": 12
        },
        "end": {
          "line": 61,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1943,
      "end": 1944,
      "loc": {
        "start": {
          "line": 61,
          "column": 25
        },
        "end": {
          "line": 61,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sha256",
      "start": 1945,
      "end": 1951,
      "loc": {
        "start": {
          "line": 61,
          "column": 27
        },
        "end": {
          "line": 61,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1951,
      "end": 1952,
      "loc": {
        "start": {
          "line": 61,
          "column": 33
        },
        "end": {
          "line": 61,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "private_key",
      "start": 1952,
      "end": 1963,
      "loc": {
        "start": {
          "line": 61,
          "column": 34
        },
        "end": {
          "line": 61,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1963,
      "end": 1964,
      "loc": {
        "start": {
          "line": 61,
          "column": 45
        },
        "end": {
          "line": 61,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1964,
      "end": 1965,
      "loc": {
        "start": {
          "line": 61,
          "column": 46
        },
        "end": {
          "line": 61,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "new_checksum",
      "start": 1974,
      "end": 1986,
      "loc": {
        "start": {
          "line": 62,
          "column": 8
        },
        "end": {
          "line": 62,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1987,
      "end": 1988,
      "loc": {
        "start": {
          "line": 62,
          "column": 21
        },
        "end": {
          "line": 62,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sha256",
      "start": 1989,
      "end": 1995,
      "loc": {
        "start": {
          "line": 62,
          "column": 23
        },
        "end": {
          "line": 62,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1995,
      "end": 1996,
      "loc": {
        "start": {
          "line": 62,
          "column": 29
        },
        "end": {
          "line": 62,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "new_checksum",
      "start": 1996,
      "end": 2008,
      "loc": {
        "start": {
          "line": 62,
          "column": 30
        },
        "end": {
          "line": 62,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2008,
      "end": 2009,
      "loc": {
        "start": {
          "line": 62,
          "column": 42
        },
        "end": {
          "line": 62,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2009,
      "end": 2010,
      "loc": {
        "start": {
          "line": 62,
          "column": 43
        },
        "end": {
          "line": 62,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "new_checksum",
      "start": 2019,
      "end": 2031,
      "loc": {
        "start": {
          "line": 63,
          "column": 8
        },
        "end": {
          "line": 63,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2032,
      "end": 2033,
      "loc": {
        "start": {
          "line": 63,
          "column": 21
        },
        "end": {
          "line": 63,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "new_checksum",
      "start": 2034,
      "end": 2046,
      "loc": {
        "start": {
          "line": 63,
          "column": 23
        },
        "end": {
          "line": 63,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2046,
      "end": 2047,
      "loc": {
        "start": {
          "line": 63,
          "column": 35
        },
        "end": {
          "line": 63,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 2047,
      "end": 2052,
      "loc": {
        "start": {
          "line": 63,
          "column": 36
        },
        "end": {
          "line": 63,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2052,
      "end": 2053,
      "loc": {
        "start": {
          "line": 63,
          "column": 41
        },
        "end": {
          "line": 63,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 2053,
      "end": 2054,
      "loc": {
        "start": {
          "line": 63,
          "column": 42
        },
        "end": {
          "line": 63,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2054,
      "end": 2055,
      "loc": {
        "start": {
          "line": 63,
          "column": 43
        },
        "end": {
          "line": 63,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 4,
      "start": 2056,
      "end": 2057,
      "loc": {
        "start": {
          "line": 63,
          "column": 45
        },
        "end": {
          "line": 63,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2057,
      "end": 2058,
      "loc": {
        "start": {
          "line": 63,
          "column": 46
        },
        "end": {
          "line": 63,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2058,
      "end": 2059,
      "loc": {
        "start": {
          "line": 63,
          "column": 47
        },
        "end": {
          "line": 63,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 2068,
      "end": 2071,
      "loc": {
        "start": {
          "line": 64,
          "column": 8
        },
        "end": {
          "line": 64,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isEqual",
      "start": 2072,
      "end": 2079,
      "loc": {
        "start": {
          "line": 64,
          "column": 12
        },
        "end": {
          "line": 64,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2080,
      "end": 2081,
      "loc": {
        "start": {
          "line": 64,
          "column": 20
        },
        "end": {
          "line": 64,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "deepEqual",
      "start": 2082,
      "end": 2091,
      "loc": {
        "start": {
          "line": 64,
          "column": 22
        },
        "end": {
          "line": 64,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2091,
      "end": 2092,
      "loc": {
        "start": {
          "line": 64,
          "column": 31
        },
        "end": {
          "line": 64,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "checksum",
      "start": 2092,
      "end": 2100,
      "loc": {
        "start": {
          "line": 64,
          "column": 32
        },
        "end": {
          "line": 64,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2100,
      "end": 2101,
      "loc": {
        "start": {
          "line": 64,
          "column": 40
        },
        "end": {
          "line": 64,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "new_checksum",
      "start": 2102,
      "end": 2114,
      "loc": {
        "start": {
          "line": 64,
          "column": 42
        },
        "end": {
          "line": 64,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2114,
      "end": 2115,
      "loc": {
        "start": {
          "line": 64,
          "column": 54
        },
        "end": {
          "line": 64,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2115,
      "end": 2116,
      "loc": {
        "start": {
          "line": 64,
          "column": 55
        },
        "end": {
          "line": 64,
          "column": 56
        }
      }
    },
    {
      "type": "CommentLine",
      "value": ", 'Invalid checksum'",
      "start": 2117,
      "end": 2139,
      "loc": {
        "start": {
          "line": 64,
          "column": 57
        },
        "end": {
          "line": 64,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2148,
      "end": 2150,
      "loc": {
        "start": {
          "line": 65,
          "column": 8
        },
        "end": {
          "line": 65,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2151,
      "end": 2152,
      "loc": {
        "start": {
          "line": 65,
          "column": 11
        },
        "end": {
          "line": 65,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 2152,
      "end": 2153,
      "loc": {
        "start": {
          "line": 65,
          "column": 12
        },
        "end": {
          "line": 65,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isEqual",
      "start": 2153,
      "end": 2160,
      "loc": {
        "start": {
          "line": 65,
          "column": 13
        },
        "end": {
          "line": 65,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2160,
      "end": 2161,
      "loc": {
        "start": {
          "line": 65,
          "column": 20
        },
        "end": {
          "line": 65,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2162,
      "end": 2163,
      "loc": {
        "start": {
          "line": 65,
          "column": 22
        },
        "end": {
          "line": 65,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 2176,
      "end": 2181,
      "loc": {
        "start": {
          "line": 66,
          "column": 12
        },
        "end": {
          "line": 66,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 2182,
      "end": 2185,
      "loc": {
        "start": {
          "line": 66,
          "column": 18
        },
        "end": {
          "line": 66,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Error",
      "start": 2186,
      "end": 2191,
      "loc": {
        "start": {
          "line": 66,
          "column": 22
        },
        "end": {
          "line": 66,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2191,
      "end": 2192,
      "loc": {
        "start": {
          "line": 66,
          "column": 27
        },
        "end": {
          "line": 66,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Checksum did not match",
      "start": 2192,
      "end": 2216,
      "loc": {
        "start": {
          "line": 66,
          "column": 28
        },
        "end": {
          "line": 66,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2216,
      "end": 2217,
      "loc": {
        "start": {
          "line": 66,
          "column": 52
        },
        "end": {
          "line": 66,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2217,
      "end": 2218,
      "loc": {
        "start": {
          "line": 66,
          "column": 53
        },
        "end": {
          "line": 66,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2227,
      "end": 2228,
      "loc": {
        "start": {
          "line": 67,
          "column": 8
        },
        "end": {
          "line": 67,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "private_key",
      "start": 2237,
      "end": 2248,
      "loc": {
        "start": {
          "line": 68,
          "column": 8
        },
        "end": {
          "line": 68,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2249,
      "end": 2250,
      "loc": {
        "start": {
          "line": 68,
          "column": 20
        },
        "end": {
          "line": 68,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "private_key",
      "start": 2251,
      "end": 2262,
      "loc": {
        "start": {
          "line": 68,
          "column": 22
        },
        "end": {
          "line": 68,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2262,
      "end": 2263,
      "loc": {
        "start": {
          "line": 68,
          "column": 33
        },
        "end": {
          "line": 68,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 2263,
      "end": 2268,
      "loc": {
        "start": {
          "line": 68,
          "column": 34
        },
        "end": {
          "line": 68,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2268,
      "end": 2269,
      "loc": {
        "start": {
          "line": 68,
          "column": 39
        },
        "end": {
          "line": 68,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 2269,
      "end": 2270,
      "loc": {
        "start": {
          "line": 68,
          "column": 40
        },
        "end": {
          "line": 68,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2270,
      "end": 2271,
      "loc": {
        "start": {
          "line": 68,
          "column": 41
        },
        "end": {
          "line": 68,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2271,
      "end": 2272,
      "loc": {
        "start": {
          "line": 68,
          "column": 42
        },
        "end": {
          "line": 68,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2281,
      "end": 2287,
      "loc": {
        "start": {
          "line": 69,
          "column": 8
        },
        "end": {
          "line": 69,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PrivateKey",
      "start": 2288,
      "end": 2298,
      "loc": {
        "start": {
          "line": 69,
          "column": 15
        },
        "end": {
          "line": 69,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2298,
      "end": 2299,
      "loc": {
        "start": {
          "line": 69,
          "column": 25
        },
        "end": {
          "line": 69,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromBuffer",
      "start": 2299,
      "end": 2309,
      "loc": {
        "start": {
          "line": 69,
          "column": 26
        },
        "end": {
          "line": 69,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2309,
      "end": 2310,
      "loc": {
        "start": {
          "line": 69,
          "column": 36
        },
        "end": {
          "line": 69,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "private_key",
      "start": 2310,
      "end": 2321,
      "loc": {
        "start": {
          "line": 69,
          "column": 37
        },
        "end": {
          "line": 69,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2321,
      "end": 2322,
      "loc": {
        "start": {
          "line": 69,
          "column": 48
        },
        "end": {
          "line": 69,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2322,
      "end": 2323,
      "loc": {
        "start": {
          "line": 69,
          "column": 49
        },
        "end": {
          "line": 69,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2328,
      "end": 2329,
      "loc": {
        "start": {
          "line": 70,
          "column": 4
        },
        "end": {
          "line": 70,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toWif",
      "start": 2335,
      "end": 2340,
      "loc": {
        "start": {
          "line": 72,
          "column": 4
        },
        "end": {
          "line": 72,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2340,
      "end": 2341,
      "loc": {
        "start": {
          "line": 72,
          "column": 9
        },
        "end": {
          "line": 72,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2341,
      "end": 2342,
      "loc": {
        "start": {
          "line": 72,
          "column": 10
        },
        "end": {
          "line": 72,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2343,
      "end": 2344,
      "loc": {
        "start": {
          "line": 72,
          "column": 12
        },
        "end": {
          "line": 72,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 2353,
      "end": 2356,
      "loc": {
        "start": {
          "line": 73,
          "column": 8
        },
        "end": {
          "line": 73,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "private_key",
      "start": 2357,
      "end": 2368,
      "loc": {
        "start": {
          "line": 73,
          "column": 12
        },
        "end": {
          "line": 73,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2369,
      "end": 2370,
      "loc": {
        "start": {
          "line": 73,
          "column": 24
        },
        "end": {
          "line": 73,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2371,
      "end": 2375,
      "loc": {
        "start": {
          "line": 73,
          "column": 26
        },
        "end": {
          "line": 73,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2375,
      "end": 2376,
      "loc": {
        "start": {
          "line": 73,
          "column": 30
        },
        "end": {
          "line": 73,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toBuffer",
      "start": 2376,
      "end": 2384,
      "loc": {
        "start": {
          "line": 73,
          "column": 31
        },
        "end": {
          "line": 73,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2384,
      "end": 2385,
      "loc": {
        "start": {
          "line": 73,
          "column": 39
        },
        "end": {
          "line": 73,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2385,
      "end": 2386,
      "loc": {
        "start": {
          "line": 73,
          "column": 40
        },
        "end": {
          "line": 73,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2386,
      "end": 2387,
      "loc": {
        "start": {
          "line": 73,
          "column": 41
        },
        "end": {
          "line": 73,
          "column": 42
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " checksum includes the version",
      "start": 2396,
      "end": 2428,
      "loc": {
        "start": {
          "line": 74,
          "column": 8
        },
        "end": {
          "line": 74,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "private_key",
      "start": 2437,
      "end": 2448,
      "loc": {
        "start": {
          "line": 75,
          "column": 8
        },
        "end": {
          "line": 75,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2449,
      "end": 2450,
      "loc": {
        "start": {
          "line": 75,
          "column": 20
        },
        "end": {
          "line": 75,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Buffer",
      "start": 2451,
      "end": 2457,
      "loc": {
        "start": {
          "line": 75,
          "column": 22
        },
        "end": {
          "line": 75,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2457,
      "end": 2458,
      "loc": {
        "start": {
          "line": 75,
          "column": 28
        },
        "end": {
          "line": 75,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "concat",
      "start": 2458,
      "end": 2464,
      "loc": {
        "start": {
          "line": 75,
          "column": 29
        },
        "end": {
          "line": 75,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2464,
      "end": 2465,
      "loc": {
        "start": {
          "line": 75,
          "column": 35
        },
        "end": {
          "line": 75,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2465,
      "end": 2466,
      "loc": {
        "start": {
          "line": 75,
          "column": 36
        },
        "end": {
          "line": 75,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Buffer",
      "start": 2466,
      "end": 2472,
      "loc": {
        "start": {
          "line": 75,
          "column": 37
        },
        "end": {
          "line": 75,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2472,
      "end": 2473,
      "loc": {
        "start": {
          "line": 75,
          "column": 43
        },
        "end": {
          "line": 75,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 2473,
      "end": 2477,
      "loc": {
        "start": {
          "line": 75,
          "column": 44
        },
        "end": {
          "line": 75,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2477,
      "end": 2478,
      "loc": {
        "start": {
          "line": 75,
          "column": 48
        },
        "end": {
          "line": 75,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2478,
      "end": 2479,
      "loc": {
        "start": {
          "line": 75,
          "column": 49
        },
        "end": {
          "line": 75,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 128,
      "start": 2479,
      "end": 2483,
      "loc": {
        "start": {
          "line": 75,
          "column": 50
        },
        "end": {
          "line": 75,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2483,
      "end": 2484,
      "loc": {
        "start": {
          "line": 75,
          "column": 54
        },
        "end": {
          "line": 75,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2484,
      "end": 2485,
      "loc": {
        "start": {
          "line": 75,
          "column": 55
        },
        "end": {
          "line": 75,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2485,
      "end": 2486,
      "loc": {
        "start": {
          "line": 75,
          "column": 56
        },
        "end": {
          "line": 75,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "private_key",
      "start": 2487,
      "end": 2498,
      "loc": {
        "start": {
          "line": 75,
          "column": 58
        },
        "end": {
          "line": 75,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2498,
      "end": 2499,
      "loc": {
        "start": {
          "line": 75,
          "column": 69
        },
        "end": {
          "line": 75,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2499,
      "end": 2500,
      "loc": {
        "start": {
          "line": 75,
          "column": 70
        },
        "end": {
          "line": 75,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2500,
      "end": 2501,
      "loc": {
        "start": {
          "line": 75,
          "column": 71
        },
        "end": {
          "line": 75,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 2510,
      "end": 2513,
      "loc": {
        "start": {
          "line": 76,
          "column": 8
        },
        "end": {
          "line": 76,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "checksum",
      "start": 2514,
      "end": 2522,
      "loc": {
        "start": {
          "line": 76,
          "column": 12
        },
        "end": {
          "line": 76,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2523,
      "end": 2524,
      "loc": {
        "start": {
          "line": 76,
          "column": 21
        },
        "end": {
          "line": 76,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sha256",
      "start": 2525,
      "end": 2531,
      "loc": {
        "start": {
          "line": 76,
          "column": 23
        },
        "end": {
          "line": 76,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2531,
      "end": 2532,
      "loc": {
        "start": {
          "line": 76,
          "column": 29
        },
        "end": {
          "line": 76,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "private_key",
      "start": 2532,
      "end": 2543,
      "loc": {
        "start": {
          "line": 76,
          "column": 30
        },
        "end": {
          "line": 76,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2543,
      "end": 2544,
      "loc": {
        "start": {
          "line": 76,
          "column": 41
        },
        "end": {
          "line": 76,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2544,
      "end": 2545,
      "loc": {
        "start": {
          "line": 76,
          "column": 42
        },
        "end": {
          "line": 76,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "checksum",
      "start": 2554,
      "end": 2562,
      "loc": {
        "start": {
          "line": 77,
          "column": 8
        },
        "end": {
          "line": 77,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2563,
      "end": 2564,
      "loc": {
        "start": {
          "line": 77,
          "column": 17
        },
        "end": {
          "line": 77,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sha256",
      "start": 2565,
      "end": 2571,
      "loc": {
        "start": {
          "line": 77,
          "column": 19
        },
        "end": {
          "line": 77,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2571,
      "end": 2572,
      "loc": {
        "start": {
          "line": 77,
          "column": 25
        },
        "end": {
          "line": 77,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "checksum",
      "start": 2572,
      "end": 2580,
      "loc": {
        "start": {
          "line": 77,
          "column": 26
        },
        "end": {
          "line": 77,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2580,
      "end": 2581,
      "loc": {
        "start": {
          "line": 77,
          "column": 34
        },
        "end": {
          "line": 77,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2581,
      "end": 2582,
      "loc": {
        "start": {
          "line": 77,
          "column": 35
        },
        "end": {
          "line": 77,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "checksum",
      "start": 2591,
      "end": 2599,
      "loc": {
        "start": {
          "line": 78,
          "column": 8
        },
        "end": {
          "line": 78,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2600,
      "end": 2601,
      "loc": {
        "start": {
          "line": 78,
          "column": 17
        },
        "end": {
          "line": 78,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "checksum",
      "start": 2602,
      "end": 2610,
      "loc": {
        "start": {
          "line": 78,
          "column": 19
        },
        "end": {
          "line": 78,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2610,
      "end": 2611,
      "loc": {
        "start": {
          "line": 78,
          "column": 27
        },
        "end": {
          "line": 78,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 2611,
      "end": 2616,
      "loc": {
        "start": {
          "line": 78,
          "column": 28
        },
        "end": {
          "line": 78,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2616,
      "end": 2617,
      "loc": {
        "start": {
          "line": 78,
          "column": 33
        },
        "end": {
          "line": 78,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 2617,
      "end": 2618,
      "loc": {
        "start": {
          "line": 78,
          "column": 34
        },
        "end": {
          "line": 78,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2618,
      "end": 2619,
      "loc": {
        "start": {
          "line": 78,
          "column": 35
        },
        "end": {
          "line": 78,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 4,
      "start": 2620,
      "end": 2621,
      "loc": {
        "start": {
          "line": 78,
          "column": 37
        },
        "end": {
          "line": 78,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2621,
      "end": 2622,
      "loc": {
        "start": {
          "line": 78,
          "column": 38
        },
        "end": {
          "line": 78,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2622,
      "end": 2623,
      "loc": {
        "start": {
          "line": 78,
          "column": 39
        },
        "end": {
          "line": 78,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 2632,
      "end": 2635,
      "loc": {
        "start": {
          "line": 79,
          "column": 8
        },
        "end": {
          "line": 79,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "private_wif",
      "start": 2636,
      "end": 2647,
      "loc": {
        "start": {
          "line": 79,
          "column": 12
        },
        "end": {
          "line": 79,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2648,
      "end": 2649,
      "loc": {
        "start": {
          "line": 79,
          "column": 24
        },
        "end": {
          "line": 79,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Buffer",
      "start": 2650,
      "end": 2656,
      "loc": {
        "start": {
          "line": 79,
          "column": 26
        },
        "end": {
          "line": 79,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2656,
      "end": 2657,
      "loc": {
        "start": {
          "line": 79,
          "column": 32
        },
        "end": {
          "line": 79,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "concat",
      "start": 2657,
      "end": 2663,
      "loc": {
        "start": {
          "line": 79,
          "column": 33
        },
        "end": {
          "line": 79,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2663,
      "end": 2664,
      "loc": {
        "start": {
          "line": 79,
          "column": 39
        },
        "end": {
          "line": 79,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2664,
      "end": 2665,
      "loc": {
        "start": {
          "line": 79,
          "column": 40
        },
        "end": {
          "line": 79,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "private_key",
      "start": 2665,
      "end": 2676,
      "loc": {
        "start": {
          "line": 79,
          "column": 41
        },
        "end": {
          "line": 79,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2676,
      "end": 2677,
      "loc": {
        "start": {
          "line": 79,
          "column": 52
        },
        "end": {
          "line": 79,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "checksum",
      "start": 2678,
      "end": 2686,
      "loc": {
        "start": {
          "line": 79,
          "column": 54
        },
        "end": {
          "line": 79,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2686,
      "end": 2687,
      "loc": {
        "start": {
          "line": 79,
          "column": 62
        },
        "end": {
          "line": 79,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2687,
      "end": 2688,
      "loc": {
        "start": {
          "line": 79,
          "column": 63
        },
        "end": {
          "line": 79,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2688,
      "end": 2689,
      "loc": {
        "start": {
          "line": 79,
          "column": 64
        },
        "end": {
          "line": 79,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2698,
      "end": 2704,
      "loc": {
        "start": {
          "line": 80,
          "column": 8
        },
        "end": {
          "line": 80,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "encode",
      "start": 2705,
      "end": 2711,
      "loc": {
        "start": {
          "line": 80,
          "column": 15
        },
        "end": {
          "line": 80,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2711,
      "end": 2712,
      "loc": {
        "start": {
          "line": 80,
          "column": 21
        },
        "end": {
          "line": 80,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "private_wif",
      "start": 2712,
      "end": 2723,
      "loc": {
        "start": {
          "line": 80,
          "column": 22
        },
        "end": {
          "line": 80,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2723,
      "end": 2724,
      "loc": {
        "start": {
          "line": 80,
          "column": 33
        },
        "end": {
          "line": 80,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2724,
      "end": 2725,
      "loc": {
        "start": {
          "line": 80,
          "column": 34
        },
        "end": {
          "line": 80,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2730,
      "end": 2731,
      "loc": {
        "start": {
          "line": 81,
          "column": 4
        },
        "end": {
          "line": 81,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n        @return {Point}\n    ",
      "start": 2737,
      "end": 2771,
      "loc": {
        "start": {
          "line": 83,
          "column": 4
        },
        "end": {
          "line": 85,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toPublicKeyPoint",
      "start": 2776,
      "end": 2792,
      "loc": {
        "start": {
          "line": 86,
          "column": 4
        },
        "end": {
          "line": 86,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2792,
      "end": 2793,
      "loc": {
        "start": {
          "line": 86,
          "column": 20
        },
        "end": {
          "line": 86,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2793,
      "end": 2794,
      "loc": {
        "start": {
          "line": 86,
          "column": 21
        },
        "end": {
          "line": 86,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2795,
      "end": 2796,
      "loc": {
        "start": {
          "line": 86,
          "column": 23
        },
        "end": {
          "line": 86,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2805,
      "end": 2811,
      "loc": {
        "start": {
          "line": 87,
          "column": 8
        },
        "end": {
          "line": 87,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "secp256k1",
      "start": 2812,
      "end": 2821,
      "loc": {
        "start": {
          "line": 87,
          "column": 15
        },
        "end": {
          "line": 87,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2821,
      "end": 2822,
      "loc": {
        "start": {
          "line": 87,
          "column": 24
        },
        "end": {
          "line": 87,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "G",
      "start": 2822,
      "end": 2823,
      "loc": {
        "start": {
          "line": 87,
          "column": 25
        },
        "end": {
          "line": 87,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2823,
      "end": 2824,
      "loc": {
        "start": {
          "line": 87,
          "column": 26
        },
        "end": {
          "line": 87,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "multiply",
      "start": 2824,
      "end": 2832,
      "loc": {
        "start": {
          "line": 87,
          "column": 27
        },
        "end": {
          "line": 87,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2832,
      "end": 2833,
      "loc": {
        "start": {
          "line": 87,
          "column": 35
        },
        "end": {
          "line": 87,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2833,
      "end": 2837,
      "loc": {
        "start": {
          "line": 87,
          "column": 36
        },
        "end": {
          "line": 87,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2837,
      "end": 2838,
      "loc": {
        "start": {
          "line": 87,
          "column": 40
        },
        "end": {
          "line": 87,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "d",
      "start": 2838,
      "end": 2839,
      "loc": {
        "start": {
          "line": 87,
          "column": 41
        },
        "end": {
          "line": 87,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2839,
      "end": 2840,
      "loc": {
        "start": {
          "line": 87,
          "column": 42
        },
        "end": {
          "line": 87,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2840,
      "end": 2841,
      "loc": {
        "start": {
          "line": 87,
          "column": 43
        },
        "end": {
          "line": 87,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2846,
      "end": 2847,
      "loc": {
        "start": {
          "line": 88,
          "column": 4
        },
        "end": {
          "line": 88,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toPublicKey",
      "start": 2853,
      "end": 2864,
      "loc": {
        "start": {
          "line": 90,
          "column": 4
        },
        "end": {
          "line": 90,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2864,
      "end": 2865,
      "loc": {
        "start": {
          "line": 90,
          "column": 15
        },
        "end": {
          "line": 90,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2865,
      "end": 2866,
      "loc": {
        "start": {
          "line": 90,
          "column": 16
        },
        "end": {
          "line": 90,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2867,
      "end": 2868,
      "loc": {
        "start": {
          "line": 90,
          "column": 18
        },
        "end": {
          "line": 90,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2877,
      "end": 2879,
      "loc": {
        "start": {
          "line": 91,
          "column": 8
        },
        "end": {
          "line": 91,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2880,
      "end": 2881,
      "loc": {
        "start": {
          "line": 91,
          "column": 11
        },
        "end": {
          "line": 91,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2881,
      "end": 2885,
      "loc": {
        "start": {
          "line": 91,
          "column": 12
        },
        "end": {
          "line": 91,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2885,
      "end": 2886,
      "loc": {
        "start": {
          "line": 91,
          "column": 16
        },
        "end": {
          "line": 91,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "public_key",
      "start": 2886,
      "end": 2896,
      "loc": {
        "start": {
          "line": 91,
          "column": 17
        },
        "end": {
          "line": 91,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2896,
      "end": 2897,
      "loc": {
        "start": {
          "line": 91,
          "column": 27
        },
        "end": {
          "line": 91,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2898,
      "end": 2899,
      "loc": {
        "start": {
          "line": 91,
          "column": 29
        },
        "end": {
          "line": 91,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2912,
      "end": 2918,
      "loc": {
        "start": {
          "line": 92,
          "column": 12
        },
        "end": {
          "line": 92,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2919,
      "end": 2923,
      "loc": {
        "start": {
          "line": 92,
          "column": 19
        },
        "end": {
          "line": 92,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2923,
      "end": 2924,
      "loc": {
        "start": {
          "line": 92,
          "column": 23
        },
        "end": {
          "line": 92,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "public_key",
      "start": 2924,
      "end": 2934,
      "loc": {
        "start": {
          "line": 92,
          "column": 24
        },
        "end": {
          "line": 92,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2934,
      "end": 2935,
      "loc": {
        "start": {
          "line": 92,
          "column": 34
        },
        "end": {
          "line": 92,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2944,
      "end": 2945,
      "loc": {
        "start": {
          "line": 93,
          "column": 8
        },
        "end": {
          "line": 93,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2954,
      "end": 2960,
      "loc": {
        "start": {
          "line": 94,
          "column": 8
        },
        "end": {
          "line": 94,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2961,
      "end": 2962,
      "loc": {
        "start": {
          "line": 94,
          "column": 15
        },
        "end": {
          "line": 94,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2962,
      "end": 2966,
      "loc": {
        "start": {
          "line": 94,
          "column": 16
        },
        "end": {
          "line": 94,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2966,
      "end": 2967,
      "loc": {
        "start": {
          "line": 94,
          "column": 20
        },
        "end": {
          "line": 94,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "public_key",
      "start": 2967,
      "end": 2977,
      "loc": {
        "start": {
          "line": 94,
          "column": 21
        },
        "end": {
          "line": 94,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2978,
      "end": 2979,
      "loc": {
        "start": {
          "line": 94,
          "column": 32
        },
        "end": {
          "line": 94,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PublicKey",
      "start": 2980,
      "end": 2989,
      "loc": {
        "start": {
          "line": 94,
          "column": 34
        },
        "end": {
          "line": 94,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2989,
      "end": 2990,
      "loc": {
        "start": {
          "line": 94,
          "column": 43
        },
        "end": {
          "line": 94,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromPoint",
      "start": 2990,
      "end": 2999,
      "loc": {
        "start": {
          "line": 94,
          "column": 44
        },
        "end": {
          "line": 94,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2999,
      "end": 3000,
      "loc": {
        "start": {
          "line": 94,
          "column": 53
        },
        "end": {
          "line": 94,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3000,
      "end": 3004,
      "loc": {
        "start": {
          "line": 94,
          "column": 54
        },
        "end": {
          "line": 94,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3004,
      "end": 3005,
      "loc": {
        "start": {
          "line": 94,
          "column": 58
        },
        "end": {
          "line": 94,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toPublicKeyPoint",
      "start": 3005,
      "end": 3021,
      "loc": {
        "start": {
          "line": 94,
          "column": 59
        },
        "end": {
          "line": 94,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3021,
      "end": 3022,
      "loc": {
        "start": {
          "line": 94,
          "column": 75
        },
        "end": {
          "line": 94,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3022,
      "end": 3023,
      "loc": {
        "start": {
          "line": 94,
          "column": 76
        },
        "end": {
          "line": 94,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3023,
      "end": 3024,
      "loc": {
        "start": {
          "line": 94,
          "column": 77
        },
        "end": {
          "line": 94,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3024,
      "end": 3025,
      "loc": {
        "start": {
          "line": 94,
          "column": 78
        },
        "end": {
          "line": 94,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3025,
      "end": 3026,
      "loc": {
        "start": {
          "line": 94,
          "column": 79
        },
        "end": {
          "line": 94,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3031,
      "end": 3032,
      "loc": {
        "start": {
          "line": 95,
          "column": 4
        },
        "end": {
          "line": 95,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toBuffer",
      "start": 3038,
      "end": 3046,
      "loc": {
        "start": {
          "line": 97,
          "column": 4
        },
        "end": {
          "line": 97,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3046,
      "end": 3047,
      "loc": {
        "start": {
          "line": 97,
          "column": 12
        },
        "end": {
          "line": 97,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3047,
      "end": 3048,
      "loc": {
        "start": {
          "line": 97,
          "column": 13
        },
        "end": {
          "line": 97,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3049,
      "end": 3050,
      "loc": {
        "start": {
          "line": 97,
          "column": 15
        },
        "end": {
          "line": 97,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3059,
      "end": 3065,
      "loc": {
        "start": {
          "line": 98,
          "column": 8
        },
        "end": {
          "line": 98,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3066,
      "end": 3070,
      "loc": {
        "start": {
          "line": 98,
          "column": 15
        },
        "end": {
          "line": 98,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3070,
      "end": 3071,
      "loc": {
        "start": {
          "line": 98,
          "column": 19
        },
        "end": {
          "line": 98,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "d",
      "start": 3071,
      "end": 3072,
      "loc": {
        "start": {
          "line": 98,
          "column": 20
        },
        "end": {
          "line": 98,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3072,
      "end": 3073,
      "loc": {
        "start": {
          "line": 98,
          "column": 21
        },
        "end": {
          "line": 98,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toBuffer",
      "start": 3073,
      "end": 3081,
      "loc": {
        "start": {
          "line": 98,
          "column": 22
        },
        "end": {
          "line": 98,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3081,
      "end": 3082,
      "loc": {
        "start": {
          "line": 98,
          "column": 30
        },
        "end": {
          "line": 98,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 32,
      "start": 3082,
      "end": 3084,
      "loc": {
        "start": {
          "line": 98,
          "column": 31
        },
        "end": {
          "line": 98,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3084,
      "end": 3085,
      "loc": {
        "start": {
          "line": 98,
          "column": 33
        },
        "end": {
          "line": 98,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3085,
      "end": 3086,
      "loc": {
        "start": {
          "line": 98,
          "column": 34
        },
        "end": {
          "line": 98,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3091,
      "end": 3092,
      "loc": {
        "start": {
          "line": 99,
          "column": 4
        },
        "end": {
          "line": 99,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* ECIES ",
      "start": 3098,
      "end": 3110,
      "loc": {
        "start": {
          "line": 101,
          "column": 4
        },
        "end": {
          "line": 101,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "get_shared_secret",
      "start": 3115,
      "end": 3132,
      "loc": {
        "start": {
          "line": 102,
          "column": 4
        },
        "end": {
          "line": 102,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3132,
      "end": 3133,
      "loc": {
        "start": {
          "line": 102,
          "column": 21
        },
        "end": {
          "line": 102,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "public_key",
      "start": 3133,
      "end": 3143,
      "loc": {
        "start": {
          "line": 102,
          "column": 22
        },
        "end": {
          "line": 102,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3143,
      "end": 3144,
      "loc": {
        "start": {
          "line": 102,
          "column": 32
        },
        "end": {
          "line": 102,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "legacy",
      "start": 3145,
      "end": 3151,
      "loc": {
        "start": {
          "line": 102,
          "column": 34
        },
        "end": {
          "line": 102,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3152,
      "end": 3153,
      "loc": {
        "start": {
          "line": 102,
          "column": 41
        },
        "end": {
          "line": 102,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 3154,
      "end": 3159,
      "loc": {
        "start": {
          "line": 102,
          "column": 43
        },
        "end": {
          "line": 102,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3159,
      "end": 3160,
      "loc": {
        "start": {
          "line": 102,
          "column": 48
        },
        "end": {
          "line": 102,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3161,
      "end": 3162,
      "loc": {
        "start": {
          "line": 102,
          "column": 50
        },
        "end": {
          "line": 102,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "public_key",
      "start": 3171,
      "end": 3181,
      "loc": {
        "start": {
          "line": 103,
          "column": 8
        },
        "end": {
          "line": 103,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3182,
      "end": 3183,
      "loc": {
        "start": {
          "line": 103,
          "column": 19
        },
        "end": {
          "line": 103,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toPublic",
      "start": 3184,
      "end": 3192,
      "loc": {
        "start": {
          "line": 103,
          "column": 21
        },
        "end": {
          "line": 103,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3192,
      "end": 3193,
      "loc": {
        "start": {
          "line": 103,
          "column": 29
        },
        "end": {
          "line": 103,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "public_key",
      "start": 3193,
      "end": 3203,
      "loc": {
        "start": {
          "line": 103,
          "column": 30
        },
        "end": {
          "line": 103,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3203,
      "end": 3204,
      "loc": {
        "start": {
          "line": 103,
          "column": 40
        },
        "end": {
          "line": 103,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3204,
      "end": 3205,
      "loc": {
        "start": {
          "line": 103,
          "column": 41
        },
        "end": {
          "line": 103,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 3214,
      "end": 3217,
      "loc": {
        "start": {
          "line": 104,
          "column": 8
        },
        "end": {
          "line": 104,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "KB",
      "start": 3218,
      "end": 3220,
      "loc": {
        "start": {
          "line": 104,
          "column": 12
        },
        "end": {
          "line": 104,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3221,
      "end": 3222,
      "loc": {
        "start": {
          "line": 104,
          "column": 15
        },
        "end": {
          "line": 104,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "public_key",
      "start": 3223,
      "end": 3233,
      "loc": {
        "start": {
          "line": 104,
          "column": 17
        },
        "end": {
          "line": 104,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3233,
      "end": 3234,
      "loc": {
        "start": {
          "line": 104,
          "column": 27
        },
        "end": {
          "line": 104,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toUncompressed",
      "start": 3234,
      "end": 3248,
      "loc": {
        "start": {
          "line": 104,
          "column": 28
        },
        "end": {
          "line": 104,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3248,
      "end": 3249,
      "loc": {
        "start": {
          "line": 104,
          "column": 42
        },
        "end": {
          "line": 104,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3249,
      "end": 3250,
      "loc": {
        "start": {
          "line": 104,
          "column": 43
        },
        "end": {
          "line": 104,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3250,
      "end": 3251,
      "loc": {
        "start": {
          "line": 104,
          "column": 44
        },
        "end": {
          "line": 104,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toBuffer",
      "start": 3251,
      "end": 3259,
      "loc": {
        "start": {
          "line": 104,
          "column": 45
        },
        "end": {
          "line": 104,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3259,
      "end": 3260,
      "loc": {
        "start": {
          "line": 104,
          "column": 53
        },
        "end": {
          "line": 104,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3260,
      "end": 3261,
      "loc": {
        "start": {
          "line": 104,
          "column": 54
        },
        "end": {
          "line": 104,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3261,
      "end": 3262,
      "loc": {
        "start": {
          "line": 104,
          "column": 55
        },
        "end": {
          "line": 104,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 3271,
      "end": 3274,
      "loc": {
        "start": {
          "line": 105,
          "column": 8
        },
        "end": {
          "line": 105,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "KBP",
      "start": 3275,
      "end": 3278,
      "loc": {
        "start": {
          "line": 105,
          "column": 12
        },
        "end": {
          "line": 105,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3279,
      "end": 3280,
      "loc": {
        "start": {
          "line": 105,
          "column": 16
        },
        "end": {
          "line": 105,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Point",
      "start": 3281,
      "end": 3286,
      "loc": {
        "start": {
          "line": 105,
          "column": 18
        },
        "end": {
          "line": 105,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3286,
      "end": 3287,
      "loc": {
        "start": {
          "line": 105,
          "column": 23
        },
        "end": {
          "line": 105,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromAffine",
      "start": 3287,
      "end": 3297,
      "loc": {
        "start": {
          "line": 105,
          "column": 24
        },
        "end": {
          "line": 105,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3297,
      "end": 3298,
      "loc": {
        "start": {
          "line": 105,
          "column": 34
        },
        "end": {
          "line": 105,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "secp256k1",
      "start": 3311,
      "end": 3320,
      "loc": {
        "start": {
          "line": 106,
          "column": 12
        },
        "end": {
          "line": 106,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3320,
      "end": 3321,
      "loc": {
        "start": {
          "line": 106,
          "column": 21
        },
        "end": {
          "line": 106,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BigInteger",
      "start": 3334,
      "end": 3344,
      "loc": {
        "start": {
          "line": 107,
          "column": 12
        },
        "end": {
          "line": 107,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3344,
      "end": 3345,
      "loc": {
        "start": {
          "line": 107,
          "column": 22
        },
        "end": {
          "line": 107,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromBuffer",
      "start": 3345,
      "end": 3355,
      "loc": {
        "start": {
          "line": 107,
          "column": 23
        },
        "end": {
          "line": 107,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3355,
      "end": 3356,
      "loc": {
        "start": {
          "line": 107,
          "column": 33
        },
        "end": {
          "line": 107,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "KB",
      "start": 3356,
      "end": 3358,
      "loc": {
        "start": {
          "line": 107,
          "column": 34
        },
        "end": {
          "line": 107,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3358,
      "end": 3359,
      "loc": {
        "start": {
          "line": 107,
          "column": 36
        },
        "end": {
          "line": 107,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 3359,
      "end": 3364,
      "loc": {
        "start": {
          "line": 107,
          "column": 37
        },
        "end": {
          "line": 107,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3364,
      "end": 3365,
      "loc": {
        "start": {
          "line": 107,
          "column": 42
        },
        "end": {
          "line": 107,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 3365,
      "end": 3366,
      "loc": {
        "start": {
          "line": 107,
          "column": 43
        },
        "end": {
          "line": 107,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3366,
      "end": 3367,
      "loc": {
        "start": {
          "line": 107,
          "column": 44
        },
        "end": {
          "line": 107,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 33,
      "start": 3368,
      "end": 3370,
      "loc": {
        "start": {
          "line": 107,
          "column": 46
        },
        "end": {
          "line": 107,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3370,
      "end": 3371,
      "loc": {
        "start": {
          "line": 107,
          "column": 48
        },
        "end": {
          "line": 107,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3371,
      "end": 3372,
      "loc": {
        "start": {
          "line": 107,
          "column": 49
        },
        "end": {
          "line": 107,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3372,
      "end": 3373,
      "loc": {
        "start": {
          "line": 107,
          "column": 50
        },
        "end": {
          "line": 107,
          "column": 51
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " x",
      "start": 3374,
      "end": 3378,
      "loc": {
        "start": {
          "line": 107,
          "column": 52
        },
        "end": {
          "line": 107,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BigInteger",
      "start": 3391,
      "end": 3401,
      "loc": {
        "start": {
          "line": 108,
          "column": 12
        },
        "end": {
          "line": 108,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3401,
      "end": 3402,
      "loc": {
        "start": {
          "line": 108,
          "column": 22
        },
        "end": {
          "line": 108,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromBuffer",
      "start": 3402,
      "end": 3412,
      "loc": {
        "start": {
          "line": 108,
          "column": 23
        },
        "end": {
          "line": 108,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3412,
      "end": 3413,
      "loc": {
        "start": {
          "line": 108,
          "column": 33
        },
        "end": {
          "line": 108,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "KB",
      "start": 3413,
      "end": 3415,
      "loc": {
        "start": {
          "line": 108,
          "column": 34
        },
        "end": {
          "line": 108,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3415,
      "end": 3416,
      "loc": {
        "start": {
          "line": 108,
          "column": 36
        },
        "end": {
          "line": 108,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 3416,
      "end": 3421,
      "loc": {
        "start": {
          "line": 108,
          "column": 37
        },
        "end": {
          "line": 108,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3421,
      "end": 3422,
      "loc": {
        "start": {
          "line": 108,
          "column": 42
        },
        "end": {
          "line": 108,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 33,
      "start": 3422,
      "end": 3424,
      "loc": {
        "start": {
          "line": 108,
          "column": 43
        },
        "end": {
          "line": 108,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3424,
      "end": 3425,
      "loc": {
        "start": {
          "line": 108,
          "column": 45
        },
        "end": {
          "line": 108,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 65,
      "start": 3426,
      "end": 3428,
      "loc": {
        "start": {
          "line": 108,
          "column": 47
        },
        "end": {
          "line": 108,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3428,
      "end": 3429,
      "loc": {
        "start": {
          "line": 108,
          "column": 49
        },
        "end": {
          "line": 108,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3429,
      "end": 3430,
      "loc": {
        "start": {
          "line": 108,
          "column": 50
        },
        "end": {
          "line": 108,
          "column": 51
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " y",
      "start": 3431,
      "end": 3435,
      "loc": {
        "start": {
          "line": 108,
          "column": 52
        },
        "end": {
          "line": 108,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3444,
      "end": 3445,
      "loc": {
        "start": {
          "line": 109,
          "column": 8
        },
        "end": {
          "line": 109,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3445,
      "end": 3446,
      "loc": {
        "start": {
          "line": 109,
          "column": 9
        },
        "end": {
          "line": 109,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 3455,
      "end": 3458,
      "loc": {
        "start": {
          "line": 110,
          "column": 8
        },
        "end": {
          "line": 110,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "r",
      "start": 3459,
      "end": 3460,
      "loc": {
        "start": {
          "line": 110,
          "column": 12
        },
        "end": {
          "line": 110,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3461,
      "end": 3462,
      "loc": {
        "start": {
          "line": 110,
          "column": 14
        },
        "end": {
          "line": 110,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3463,
      "end": 3467,
      "loc": {
        "start": {
          "line": 110,
          "column": 16
        },
        "end": {
          "line": 110,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3467,
      "end": 3468,
      "loc": {
        "start": {
          "line": 110,
          "column": 20
        },
        "end": {
          "line": 110,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toBuffer",
      "start": 3468,
      "end": 3476,
      "loc": {
        "start": {
          "line": 110,
          "column": 21
        },
        "end": {
          "line": 110,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3476,
      "end": 3477,
      "loc": {
        "start": {
          "line": 110,
          "column": 29
        },
        "end": {
          "line": 110,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3477,
      "end": 3478,
      "loc": {
        "start": {
          "line": 110,
          "column": 30
        },
        "end": {
          "line": 110,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3478,
      "end": 3479,
      "loc": {
        "start": {
          "line": 110,
          "column": 31
        },
        "end": {
          "line": 110,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 3488,
      "end": 3491,
      "loc": {
        "start": {
          "line": 111,
          "column": 8
        },
        "end": {
          "line": 111,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "P",
      "start": 3492,
      "end": 3493,
      "loc": {
        "start": {
          "line": 111,
          "column": 12
        },
        "end": {
          "line": 111,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3494,
      "end": 3495,
      "loc": {
        "start": {
          "line": 111,
          "column": 14
        },
        "end": {
          "line": 111,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "KBP",
      "start": 3496,
      "end": 3499,
      "loc": {
        "start": {
          "line": 111,
          "column": 16
        },
        "end": {
          "line": 111,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3499,
      "end": 3500,
      "loc": {
        "start": {
          "line": 111,
          "column": 19
        },
        "end": {
          "line": 111,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "multiply",
      "start": 3500,
      "end": 3508,
      "loc": {
        "start": {
          "line": 111,
          "column": 20
        },
        "end": {
          "line": 111,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3508,
      "end": 3509,
      "loc": {
        "start": {
          "line": 111,
          "column": 28
        },
        "end": {
          "line": 111,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BigInteger",
      "start": 3509,
      "end": 3519,
      "loc": {
        "start": {
          "line": 111,
          "column": 29
        },
        "end": {
          "line": 111,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3519,
      "end": 3520,
      "loc": {
        "start": {
          "line": 111,
          "column": 39
        },
        "end": {
          "line": 111,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromBuffer",
      "start": 3520,
      "end": 3530,
      "loc": {
        "start": {
          "line": 111,
          "column": 40
        },
        "end": {
          "line": 111,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3530,
      "end": 3531,
      "loc": {
        "start": {
          "line": 111,
          "column": 50
        },
        "end": {
          "line": 111,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "r",
      "start": 3531,
      "end": 3532,
      "loc": {
        "start": {
          "line": 111,
          "column": 51
        },
        "end": {
          "line": 111,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3532,
      "end": 3533,
      "loc": {
        "start": {
          "line": 111,
          "column": 52
        },
        "end": {
          "line": 111,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3533,
      "end": 3534,
      "loc": {
        "start": {
          "line": 111,
          "column": 53
        },
        "end": {
          "line": 111,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3534,
      "end": 3535,
      "loc": {
        "start": {
          "line": 111,
          "column": 54
        },
        "end": {
          "line": 111,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 3544,
      "end": 3547,
      "loc": {
        "start": {
          "line": 112,
          "column": 8
        },
        "end": {
          "line": 112,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "S",
      "start": 3548,
      "end": 3549,
      "loc": {
        "start": {
          "line": 112,
          "column": 12
        },
        "end": {
          "line": 112,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3550,
      "end": 3551,
      "loc": {
        "start": {
          "line": 112,
          "column": 14
        },
        "end": {
          "line": 112,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "P",
      "start": 3552,
      "end": 3553,
      "loc": {
        "start": {
          "line": 112,
          "column": 16
        },
        "end": {
          "line": 112,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3553,
      "end": 3554,
      "loc": {
        "start": {
          "line": 112,
          "column": 17
        },
        "end": {
          "line": 112,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "affineX",
      "start": 3554,
      "end": 3561,
      "loc": {
        "start": {
          "line": 112,
          "column": 18
        },
        "end": {
          "line": 112,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3561,
      "end": 3562,
      "loc": {
        "start": {
          "line": 112,
          "column": 25
        },
        "end": {
          "line": 112,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toBuffer",
      "start": 3562,
      "end": 3570,
      "loc": {
        "start": {
          "line": 112,
          "column": 26
        },
        "end": {
          "line": 112,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3570,
      "end": 3571,
      "loc": {
        "start": {
          "line": 112,
          "column": 34
        },
        "end": {
          "line": 112,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3571,
      "end": 3572,
      "loc": {
        "start": {
          "line": 112,
          "column": 35
        },
        "end": {
          "line": 112,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "size",
      "start": 3572,
      "end": 3576,
      "loc": {
        "start": {
          "line": 112,
          "column": 36
        },
        "end": {
          "line": 112,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3576,
      "end": 3577,
      "loc": {
        "start": {
          "line": 112,
          "column": 40
        },
        "end": {
          "line": 112,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 32,
      "start": 3578,
      "end": 3580,
      "loc": {
        "start": {
          "line": 112,
          "column": 42
        },
        "end": {
          "line": 112,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3580,
      "end": 3581,
      "loc": {
        "start": {
          "line": 112,
          "column": 44
        },
        "end": {
          "line": 112,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3581,
      "end": 3582,
      "loc": {
        "start": {
          "line": 112,
          "column": 45
        },
        "end": {
          "line": 112,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3582,
      "end": 3583,
      "loc": {
        "start": {
          "line": 112,
          "column": 46
        },
        "end": {
          "line": 112,
          "column": 47
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "\n        the input to sha512 must be exactly 32-bytes, to match the c++ implementation\n        of get_shared_secret.  Right now S will be shorter if the most significant\n        byte(s) is zero.  Pad it back to the full 32-bytes\n        ",
      "start": 3592,
      "end": 3833,
      "loc": {
        "start": {
          "line": 113,
          "column": 8
        },
        "end": {
          "line": 117,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 3842,
      "end": 3844,
      "loc": {
        "start": {
          "line": 118,
          "column": 8
        },
        "end": {
          "line": 118,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3845,
      "end": 3846,
      "loc": {
        "start": {
          "line": 118,
          "column": 11
        },
        "end": {
          "line": 118,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 3846,
      "end": 3847,
      "loc": {
        "start": {
          "line": 118,
          "column": 12
        },
        "end": {
          "line": 118,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "legacy",
      "start": 3847,
      "end": 3853,
      "loc": {
        "start": {
          "line": 118,
          "column": 13
        },
        "end": {
          "line": 118,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 3854,
      "end": 3856,
      "loc": {
        "start": {
          "line": 118,
          "column": 20
        },
        "end": {
          "line": 118,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "S",
      "start": 3857,
      "end": 3858,
      "loc": {
        "start": {
          "line": 118,
          "column": 23
        },
        "end": {
          "line": 118,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3858,
      "end": 3859,
      "loc": {
        "start": {
          "line": 118,
          "column": 24
        },
        "end": {
          "line": 118,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 3859,
      "end": 3865,
      "loc": {
        "start": {
          "line": 118,
          "column": 25
        },
        "end": {
          "line": 118,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "<",
      "start": 3866,
      "end": 3867,
      "loc": {
        "start": {
          "line": 118,
          "column": 32
        },
        "end": {
          "line": 118,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 32,
      "start": 3868,
      "end": 3870,
      "loc": {
        "start": {
          "line": 118,
          "column": 34
        },
        "end": {
          "line": 118,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3870,
      "end": 3871,
      "loc": {
        "start": {
          "line": 118,
          "column": 36
        },
        "end": {
          "line": 118,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3872,
      "end": 3873,
      "loc": {
        "start": {
          "line": 118,
          "column": 38
        },
        "end": {
          "line": 118,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 3886,
      "end": 3889,
      "loc": {
        "start": {
          "line": 119,
          "column": 12
        },
        "end": {
          "line": 119,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pad",
      "start": 3890,
      "end": 3893,
      "loc": {
        "start": {
          "line": 119,
          "column": 16
        },
        "end": {
          "line": 119,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3894,
      "end": 3895,
      "loc": {
        "start": {
          "line": 119,
          "column": 20
        },
        "end": {
          "line": 119,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Buffer",
      "start": 3896,
      "end": 3902,
      "loc": {
        "start": {
          "line": 119,
          "column": 22
        },
        "end": {
          "line": 119,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3902,
      "end": 3903,
      "loc": {
        "start": {
          "line": 119,
          "column": 28
        },
        "end": {
          "line": 119,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "alloc",
      "start": 3903,
      "end": 3908,
      "loc": {
        "start": {
          "line": 119,
          "column": 29
        },
        "end": {
          "line": 119,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3908,
      "end": 3909,
      "loc": {
        "start": {
          "line": 119,
          "column": 34
        },
        "end": {
          "line": 119,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 32,
      "start": 3909,
      "end": 3911,
      "loc": {
        "start": {
          "line": 119,
          "column": 35
        },
        "end": {
          "line": 119,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 3912,
      "end": 3913,
      "loc": {
        "start": {
          "line": 119,
          "column": 38
        },
        "end": {
          "line": 119,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "S",
      "start": 3914,
      "end": 3915,
      "loc": {
        "start": {
          "line": 119,
          "column": 40
        },
        "end": {
          "line": 119,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3915,
      "end": 3916,
      "loc": {
        "start": {
          "line": 119,
          "column": 41
        },
        "end": {
          "line": 119,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 3916,
      "end": 3922,
      "loc": {
        "start": {
          "line": 119,
          "column": 42
        },
        "end": {
          "line": 119,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3922,
      "end": 3923,
      "loc": {
        "start": {
          "line": 119,
          "column": 48
        },
        "end": {
          "line": 119,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3923,
      "end": 3924,
      "loc": {
        "start": {
          "line": 119,
          "column": 49
        },
        "end": {
          "line": 119,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fill",
      "start": 3924,
      "end": 3928,
      "loc": {
        "start": {
          "line": 119,
          "column": 50
        },
        "end": {
          "line": 119,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3928,
      "end": 3929,
      "loc": {
        "start": {
          "line": 119,
          "column": 54
        },
        "end": {
          "line": 119,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 3929,
      "end": 3930,
      "loc": {
        "start": {
          "line": 119,
          "column": 55
        },
        "end": {
          "line": 119,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3930,
      "end": 3931,
      "loc": {
        "start": {
          "line": 119,
          "column": 56
        },
        "end": {
          "line": 119,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3931,
      "end": 3932,
      "loc": {
        "start": {
          "line": 119,
          "column": 57
        },
        "end": {
          "line": 119,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "S",
      "start": 3945,
      "end": 3946,
      "loc": {
        "start": {
          "line": 120,
          "column": 12
        },
        "end": {
          "line": 120,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3947,
      "end": 3948,
      "loc": {
        "start": {
          "line": 120,
          "column": 14
        },
        "end": {
          "line": 120,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Buffer",
      "start": 3949,
      "end": 3955,
      "loc": {
        "start": {
          "line": 120,
          "column": 16
        },
        "end": {
          "line": 120,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3955,
      "end": 3956,
      "loc": {
        "start": {
          "line": 120,
          "column": 22
        },
        "end": {
          "line": 120,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "concat",
      "start": 3956,
      "end": 3962,
      "loc": {
        "start": {
          "line": 120,
          "column": 23
        },
        "end": {
          "line": 120,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3962,
      "end": 3963,
      "loc": {
        "start": {
          "line": 120,
          "column": 29
        },
        "end": {
          "line": 120,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3963,
      "end": 3964,
      "loc": {
        "start": {
          "line": 120,
          "column": 30
        },
        "end": {
          "line": 120,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pad",
      "start": 3964,
      "end": 3967,
      "loc": {
        "start": {
          "line": 120,
          "column": 31
        },
        "end": {
          "line": 120,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3967,
      "end": 3968,
      "loc": {
        "start": {
          "line": 120,
          "column": 34
        },
        "end": {
          "line": 120,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "S",
      "start": 3969,
      "end": 3970,
      "loc": {
        "start": {
          "line": 120,
          "column": 36
        },
        "end": {
          "line": 120,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3970,
      "end": 3971,
      "loc": {
        "start": {
          "line": 120,
          "column": 37
        },
        "end": {
          "line": 120,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3971,
      "end": 3972,
      "loc": {
        "start": {
          "line": 120,
          "column": 38
        },
        "end": {
          "line": 120,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3972,
      "end": 3973,
      "loc": {
        "start": {
          "line": 120,
          "column": 39
        },
        "end": {
          "line": 120,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3982,
      "end": 3983,
      "loc": {
        "start": {
          "line": 121,
          "column": 8
        },
        "end": {
          "line": 121,
          "column": 9
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " SHA512 used in ECIES",
      "start": 3993,
      "end": 4016,
      "loc": {
        "start": {
          "line": 123,
          "column": 8
        },
        "end": {
          "line": 123,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 4025,
      "end": 4031,
      "loc": {
        "start": {
          "line": 124,
          "column": 8
        },
        "end": {
          "line": 124,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sha512",
      "start": 4032,
      "end": 4038,
      "loc": {
        "start": {
          "line": 124,
          "column": 15
        },
        "end": {
          "line": 124,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4038,
      "end": 4039,
      "loc": {
        "start": {
          "line": 124,
          "column": 21
        },
        "end": {
          "line": 124,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "S",
      "start": 4039,
      "end": 4040,
      "loc": {
        "start": {
          "line": 124,
          "column": 22
        },
        "end": {
          "line": 124,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4040,
      "end": 4041,
      "loc": {
        "start": {
          "line": 124,
          "column": 23
        },
        "end": {
          "line": 124,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4041,
      "end": 4042,
      "loc": {
        "start": {
          "line": 124,
          "column": 24
        },
        "end": {
          "line": 124,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4047,
      "end": 4048,
      "loc": {
        "start": {
          "line": 125,
          "column": 4
        },
        "end": {
          "line": 125,
          "column": 5
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " /** ECIES (does not always match the Point.fromAffine version above) */",
      "start": 4054,
      "end": 4128,
      "loc": {
        "start": {
          "line": 127,
          "column": 4
        },
        "end": {
          "line": 127,
          "column": 78
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " get_shared_secret(public_key){",
      "start": 4133,
      "end": 4166,
      "loc": {
        "start": {
          "line": 128,
          "column": 4
        },
        "end": {
          "line": 128,
          "column": 37
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     public_key = toPublic(public_key)",
      "start": 4171,
      "end": 4211,
      "loc": {
        "start": {
          "line": 129,
          "column": 4
        },
        "end": {
          "line": 129,
          "column": 44
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     var P = public_key.Q.multiply( this.d );",
      "start": 4216,
      "end": 4263,
      "loc": {
        "start": {
          "line": 130,
          "column": 4
        },
        "end": {
          "line": 130,
          "column": 51
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     var S = P.affineX.toBuffer({size: 32});",
      "start": 4268,
      "end": 4314,
      "loc": {
        "start": {
          "line": 131,
          "column": 4
        },
        "end": {
          "line": 131,
          "column": 50
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     // ECIES, adds an extra sha512",
      "start": 4319,
      "end": 4356,
      "loc": {
        "start": {
          "line": 132,
          "column": 4
        },
        "end": {
          "line": 132,
          "column": 41
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "     return sha512(S);",
      "start": 4361,
      "end": 4385,
      "loc": {
        "start": {
          "line": 133,
          "column": 4
        },
        "end": {
          "line": 133,
          "column": 28
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " }",
      "start": 4390,
      "end": 4394,
      "loc": {
        "start": {
          "line": 134,
          "column": 4
        },
        "end": {
          "line": 134,
          "column": 8
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "* @throws {Error} - overflow of the key could not be derived ",
      "start": 4400,
      "end": 4465,
      "loc": {
        "start": {
          "line": 136,
          "column": 4
        },
        "end": {
          "line": 136,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "child",
      "start": 4470,
      "end": 4475,
      "loc": {
        "start": {
          "line": 137,
          "column": 4
        },
        "end": {
          "line": 137,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4475,
      "end": 4476,
      "loc": {
        "start": {
          "line": 137,
          "column": 9
        },
        "end": {
          "line": 137,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "offset",
      "start": 4476,
      "end": 4482,
      "loc": {
        "start": {
          "line": 137,
          "column": 10
        },
        "end": {
          "line": 137,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4482,
      "end": 4483,
      "loc": {
        "start": {
          "line": 137,
          "column": 16
        },
        "end": {
          "line": 137,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4484,
      "end": 4485,
      "loc": {
        "start": {
          "line": 137,
          "column": 18
        },
        "end": {
          "line": 137,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "offset",
      "start": 4494,
      "end": 4500,
      "loc": {
        "start": {
          "line": 138,
          "column": 8
        },
        "end": {
          "line": 138,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4501,
      "end": 4502,
      "loc": {
        "start": {
          "line": 138,
          "column": 15
        },
        "end": {
          "line": 138,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Buffer",
      "start": 4503,
      "end": 4509,
      "loc": {
        "start": {
          "line": 138,
          "column": 17
        },
        "end": {
          "line": 138,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4509,
      "end": 4510,
      "loc": {
        "start": {
          "line": 138,
          "column": 23
        },
        "end": {
          "line": 138,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "concat",
      "start": 4510,
      "end": 4516,
      "loc": {
        "start": {
          "line": 138,
          "column": 24
        },
        "end": {
          "line": 138,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4516,
      "end": 4517,
      "loc": {
        "start": {
          "line": 138,
          "column": 30
        },
        "end": {
          "line": 138,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4517,
      "end": 4518,
      "loc": {
        "start": {
          "line": 138,
          "column": 31
        },
        "end": {
          "line": 138,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4518,
      "end": 4522,
      "loc": {
        "start": {
          "line": 138,
          "column": 32
        },
        "end": {
          "line": 138,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4522,
      "end": 4523,
      "loc": {
        "start": {
          "line": 138,
          "column": 36
        },
        "end": {
          "line": 138,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toPublicKey",
      "start": 4523,
      "end": 4534,
      "loc": {
        "start": {
          "line": 138,
          "column": 37
        },
        "end": {
          "line": 138,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4534,
      "end": 4535,
      "loc": {
        "start": {
          "line": 138,
          "column": 48
        },
        "end": {
          "line": 138,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4535,
      "end": 4536,
      "loc": {
        "start": {
          "line": 138,
          "column": 49
        },
        "end": {
          "line": 138,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4536,
      "end": 4537,
      "loc": {
        "start": {
          "line": 138,
          "column": 50
        },
        "end": {
          "line": 138,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toBuffer",
      "start": 4537,
      "end": 4545,
      "loc": {
        "start": {
          "line": 138,
          "column": 51
        },
        "end": {
          "line": 138,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4545,
      "end": 4546,
      "loc": {
        "start": {
          "line": 138,
          "column": 59
        },
        "end": {
          "line": 138,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4546,
      "end": 4547,
      "loc": {
        "start": {
          "line": 138,
          "column": 60
        },
        "end": {
          "line": 138,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4547,
      "end": 4548,
      "loc": {
        "start": {
          "line": 138,
          "column": 61
        },
        "end": {
          "line": 138,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "offset",
      "start": 4549,
      "end": 4555,
      "loc": {
        "start": {
          "line": 138,
          "column": 63
        },
        "end": {
          "line": 138,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4555,
      "end": 4556,
      "loc": {
        "start": {
          "line": 138,
          "column": 69
        },
        "end": {
          "line": 138,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4556,
      "end": 4557,
      "loc": {
        "start": {
          "line": 138,
          "column": 70
        },
        "end": {
          "line": 138,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4557,
      "end": 4558,
      "loc": {
        "start": {
          "line": 138,
          "column": 71
        },
        "end": {
          "line": 138,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "offset",
      "start": 4567,
      "end": 4573,
      "loc": {
        "start": {
          "line": 139,
          "column": 8
        },
        "end": {
          "line": 139,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4574,
      "end": 4575,
      "loc": {
        "start": {
          "line": 139,
          "column": 15
        },
        "end": {
          "line": 139,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sha256",
      "start": 4576,
      "end": 4582,
      "loc": {
        "start": {
          "line": 139,
          "column": 17
        },
        "end": {
          "line": 139,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4582,
      "end": 4583,
      "loc": {
        "start": {
          "line": 139,
          "column": 23
        },
        "end": {
          "line": 139,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "offset",
      "start": 4583,
      "end": 4589,
      "loc": {
        "start": {
          "line": 139,
          "column": 24
        },
        "end": {
          "line": 139,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4589,
      "end": 4590,
      "loc": {
        "start": {
          "line": 139,
          "column": 30
        },
        "end": {
          "line": 139,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4590,
      "end": 4591,
      "loc": {
        "start": {
          "line": 139,
          "column": 31
        },
        "end": {
          "line": 139,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 4600,
      "end": 4603,
      "loc": {
        "start": {
          "line": 140,
          "column": 8
        },
        "end": {
          "line": 140,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "c",
      "start": 4604,
      "end": 4605,
      "loc": {
        "start": {
          "line": 140,
          "column": 12
        },
        "end": {
          "line": 140,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4606,
      "end": 4607,
      "loc": {
        "start": {
          "line": 140,
          "column": 14
        },
        "end": {
          "line": 140,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BigInteger",
      "start": 4608,
      "end": 4618,
      "loc": {
        "start": {
          "line": 140,
          "column": 16
        },
        "end": {
          "line": 140,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4618,
      "end": 4619,
      "loc": {
        "start": {
          "line": 140,
          "column": 26
        },
        "end": {
          "line": 140,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromBuffer",
      "start": 4619,
      "end": 4629,
      "loc": {
        "start": {
          "line": 140,
          "column": 27
        },
        "end": {
          "line": 140,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4629,
      "end": 4630,
      "loc": {
        "start": {
          "line": 140,
          "column": 37
        },
        "end": {
          "line": 140,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "offset",
      "start": 4630,
      "end": 4636,
      "loc": {
        "start": {
          "line": 140,
          "column": 38
        },
        "end": {
          "line": 140,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4636,
      "end": 4637,
      "loc": {
        "start": {
          "line": 140,
          "column": 44
        },
        "end": {
          "line": 140,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4637,
      "end": 4638,
      "loc": {
        "start": {
          "line": 140,
          "column": 45
        },
        "end": {
          "line": 140,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4648,
      "end": 4650,
      "loc": {
        "start": {
          "line": 142,
          "column": 8
        },
        "end": {
          "line": 142,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4651,
      "end": 4652,
      "loc": {
        "start": {
          "line": 142,
          "column": 11
        },
        "end": {
          "line": 142,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "c",
      "start": 4652,
      "end": 4653,
      "loc": {
        "start": {
          "line": 142,
          "column": 12
        },
        "end": {
          "line": 142,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4653,
      "end": 4654,
      "loc": {
        "start": {
          "line": 142,
          "column": 13
        },
        "end": {
          "line": 142,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "compareTo",
      "start": 4654,
      "end": 4663,
      "loc": {
        "start": {
          "line": 142,
          "column": 14
        },
        "end": {
          "line": 142,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4663,
      "end": 4664,
      "loc": {
        "start": {
          "line": 142,
          "column": 23
        },
        "end": {
          "line": 142,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "n",
      "start": 4664,
      "end": 4665,
      "loc": {
        "start": {
          "line": 142,
          "column": 24
        },
        "end": {
          "line": 142,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4665,
      "end": 4666,
      "loc": {
        "start": {
          "line": 142,
          "column": 25
        },
        "end": {
          "line": 142,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">=",
      "start": 4667,
      "end": 4669,
      "loc": {
        "start": {
          "line": 142,
          "column": 27
        },
        "end": {
          "line": 142,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 4670,
      "end": 4671,
      "loc": {
        "start": {
          "line": 142,
          "column": 30
        },
        "end": {
          "line": 142,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4671,
      "end": 4672,
      "loc": {
        "start": {
          "line": 142,
          "column": 31
        },
        "end": {
          "line": 142,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 4685,
      "end": 4690,
      "loc": {
        "start": {
          "line": 143,
          "column": 12
        },
        "end": {
          "line": 143,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 4691,
      "end": 4694,
      "loc": {
        "start": {
          "line": 143,
          "column": 18
        },
        "end": {
          "line": 143,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Error",
      "start": 4695,
      "end": 4700,
      "loc": {
        "start": {
          "line": 143,
          "column": 22
        },
        "end": {
          "line": 143,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4700,
      "end": 4701,
      "loc": {
        "start": {
          "line": 143,
          "column": 27
        },
        "end": {
          "line": 143,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Child offset went out of bounds, try again",
      "start": 4701,
      "end": 4745,
      "loc": {
        "start": {
          "line": 143,
          "column": 28
        },
        "end": {
          "line": 143,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4745,
      "end": 4746,
      "loc": {
        "start": {
          "line": 143,
          "column": 72
        },
        "end": {
          "line": 143,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4746,
      "end": 4747,
      "loc": {
        "start": {
          "line": 143,
          "column": 73
        },
        "end": {
          "line": 143,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 4757,
      "end": 4760,
      "loc": {
        "start": {
          "line": 145,
          "column": 8
        },
        "end": {
          "line": 145,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "derived",
      "start": 4761,
      "end": 4768,
      "loc": {
        "start": {
          "line": 145,
          "column": 12
        },
        "end": {
          "line": 145,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4769,
      "end": 4770,
      "loc": {
        "start": {
          "line": 145,
          "column": 20
        },
        "end": {
          "line": 145,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4771,
      "end": 4775,
      "loc": {
        "start": {
          "line": 145,
          "column": 22
        },
        "end": {
          "line": 145,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4775,
      "end": 4776,
      "loc": {
        "start": {
          "line": 145,
          "column": 26
        },
        "end": {
          "line": 145,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "d",
      "start": 4776,
      "end": 4777,
      "loc": {
        "start": {
          "line": 145,
          "column": 27
        },
        "end": {
          "line": 145,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4777,
      "end": 4778,
      "loc": {
        "start": {
          "line": 145,
          "column": 28
        },
        "end": {
          "line": 145,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "add",
      "start": 4778,
      "end": 4781,
      "loc": {
        "start": {
          "line": 145,
          "column": 29
        },
        "end": {
          "line": 145,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4781,
      "end": 4782,
      "loc": {
        "start": {
          "line": 145,
          "column": 32
        },
        "end": {
          "line": 145,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "c",
      "start": 4782,
      "end": 4783,
      "loc": {
        "start": {
          "line": 145,
          "column": 33
        },
        "end": {
          "line": 145,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4783,
      "end": 4784,
      "loc": {
        "start": {
          "line": 145,
          "column": 34
        },
        "end": {
          "line": 145,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4784,
      "end": 4785,
      "loc": {
        "start": {
          "line": 145,
          "column": 35
        },
        "end": {
          "line": 145,
          "column": 36
        }
      }
    },
    {
      "type": "CommentLine",
      "value": ".mod(n)",
      "start": 4786,
      "end": 4795,
      "loc": {
        "start": {
          "line": 145,
          "column": 37
        },
        "end": {
          "line": 145,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4805,
      "end": 4807,
      "loc": {
        "start": {
          "line": 147,
          "column": 8
        },
        "end": {
          "line": 147,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4808,
      "end": 4809,
      "loc": {
        "start": {
          "line": 147,
          "column": 11
        },
        "end": {
          "line": 147,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "derived",
      "start": 4809,
      "end": 4816,
      "loc": {
        "start": {
          "line": 147,
          "column": 12
        },
        "end": {
          "line": 147,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4816,
      "end": 4817,
      "loc": {
        "start": {
          "line": 147,
          "column": 19
        },
        "end": {
          "line": 147,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "signum",
      "start": 4817,
      "end": 4823,
      "loc": {
        "start": {
          "line": 147,
          "column": 20
        },
        "end": {
          "line": 147,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4823,
      "end": 4824,
      "loc": {
        "start": {
          "line": 147,
          "column": 26
        },
        "end": {
          "line": 147,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4824,
      "end": 4825,
      "loc": {
        "start": {
          "line": 147,
          "column": 27
        },
        "end": {
          "line": 147,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4826,
      "end": 4829,
      "loc": {
        "start": {
          "line": 147,
          "column": 29
        },
        "end": {
          "line": 147,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 4830,
      "end": 4831,
      "loc": {
        "start": {
          "line": 147,
          "column": 33
        },
        "end": {
          "line": 147,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4831,
      "end": 4832,
      "loc": {
        "start": {
          "line": 147,
          "column": 34
        },
        "end": {
          "line": 147,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 4845,
      "end": 4850,
      "loc": {
        "start": {
          "line": 148,
          "column": 12
        },
        "end": {
          "line": 148,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 4851,
      "end": 4854,
      "loc": {
        "start": {
          "line": 148,
          "column": 18
        },
        "end": {
          "line": 148,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Error",
      "start": 4855,
      "end": 4860,
      "loc": {
        "start": {
          "line": 148,
          "column": 22
        },
        "end": {
          "line": 148,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4860,
      "end": 4861,
      "loc": {
        "start": {
          "line": 148,
          "column": 27
        },
        "end": {
          "line": 148,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Child offset derived to an invalid key, try again",
      "start": 4878,
      "end": 4929,
      "loc": {
        "start": {
          "line": 149,
          "column": 16
        },
        "end": {
          "line": 149,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4942,
      "end": 4943,
      "loc": {
        "start": {
          "line": 150,
          "column": 12
        },
        "end": {
          "line": 150,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4943,
      "end": 4944,
      "loc": {
        "start": {
          "line": 150,
          "column": 13
        },
        "end": {
          "line": 150,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 4954,
      "end": 4960,
      "loc": {
        "start": {
          "line": 152,
          "column": 8
        },
        "end": {
          "line": 152,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 4961,
      "end": 4964,
      "loc": {
        "start": {
          "line": 152,
          "column": 15
        },
        "end": {
          "line": 152,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PrivateKey",
      "start": 4965,
      "end": 4975,
      "loc": {
        "start": {
          "line": 152,
          "column": 19
        },
        "end": {
          "line": 152,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4975,
      "end": 4976,
      "loc": {
        "start": {
          "line": 152,
          "column": 29
        },
        "end": {
          "line": 152,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "derived",
      "start": 4976,
      "end": 4983,
      "loc": {
        "start": {
          "line": 152,
          "column": 30
        },
        "end": {
          "line": 152,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4983,
      "end": 4984,
      "loc": {
        "start": {
          "line": 152,
          "column": 37
        },
        "end": {
          "line": 152,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4984,
      "end": 4985,
      "loc": {
        "start": {
          "line": 152,
          "column": 38
        },
        "end": {
          "line": 152,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4990,
      "end": 4991,
      "loc": {
        "start": {
          "line": 153,
          "column": 4
        },
        "end": {
          "line": 153,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": " <helper_functions> ",
      "start": 4997,
      "end": 5021,
      "loc": {
        "start": {
          "line": 155,
          "column": 4
        },
        "end": {
          "line": 155,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toByteBuffer",
      "start": 5027,
      "end": 5039,
      "loc": {
        "start": {
          "line": 157,
          "column": 4
        },
        "end": {
          "line": 157,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5039,
      "end": 5040,
      "loc": {
        "start": {
          "line": 157,
          "column": 16
        },
        "end": {
          "line": 157,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5040,
      "end": 5041,
      "loc": {
        "start": {
          "line": 157,
          "column": 17
        },
        "end": {
          "line": 157,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5042,
      "end": 5043,
      "loc": {
        "start": {
          "line": 157,
          "column": 19
        },
        "end": {
          "line": 157,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 5052,
      "end": 5055,
      "loc": {
        "start": {
          "line": 158,
          "column": 8
        },
        "end": {
          "line": 158,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "b",
      "start": 5056,
      "end": 5057,
      "loc": {
        "start": {
          "line": 158,
          "column": 12
        },
        "end": {
          "line": 158,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5058,
      "end": 5059,
      "loc": {
        "start": {
          "line": 158,
          "column": 14
        },
        "end": {
          "line": 158,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 5060,
      "end": 5063,
      "loc": {
        "start": {
          "line": 158,
          "column": 16
        },
        "end": {
          "line": 158,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ByteBuffer",
      "start": 5064,
      "end": 5074,
      "loc": {
        "start": {
          "line": 158,
          "column": 20
        },
        "end": {
          "line": 158,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5074,
      "end": 5075,
      "loc": {
        "start": {
          "line": 158,
          "column": 30
        },
        "end": {
          "line": 158,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ByteBuffer",
      "start": 5088,
      "end": 5098,
      "loc": {
        "start": {
          "line": 159,
          "column": 12
        },
        "end": {
          "line": 159,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5098,
      "end": 5099,
      "loc": {
        "start": {
          "line": 159,
          "column": 22
        },
        "end": {
          "line": 159,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "DEFAULT_CAPACITY",
      "start": 5099,
      "end": 5115,
      "loc": {
        "start": {
          "line": 159,
          "column": 23
        },
        "end": {
          "line": 159,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5115,
      "end": 5116,
      "loc": {
        "start": {
          "line": 159,
          "column": 39
        },
        "end": {
          "line": 159,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ByteBuffer",
      "start": 5129,
      "end": 5139,
      "loc": {
        "start": {
          "line": 160,
          "column": 12
        },
        "end": {
          "line": 160,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5139,
      "end": 5140,
      "loc": {
        "start": {
          "line": 160,
          "column": 22
        },
        "end": {
          "line": 160,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "LITTLE_ENDIAN",
      "start": 5140,
      "end": 5153,
      "loc": {
        "start": {
          "line": 160,
          "column": 23
        },
        "end": {
          "line": 160,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5162,
      "end": 5163,
      "loc": {
        "start": {
          "line": 161,
          "column": 8
        },
        "end": {
          "line": 161,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5163,
      "end": 5164,
      "loc": {
        "start": {
          "line": 161,
          "column": 9
        },
        "end": {
          "line": 161,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5173,
      "end": 5177,
      "loc": {
        "start": {
          "line": 162,
          "column": 8
        },
        "end": {
          "line": 162,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5177,
      "end": 5178,
      "loc": {
        "start": {
          "line": 162,
          "column": 12
        },
        "end": {
          "line": 162,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "appendByteBuffer",
      "start": 5178,
      "end": 5194,
      "loc": {
        "start": {
          "line": 162,
          "column": 13
        },
        "end": {
          "line": 162,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5194,
      "end": 5195,
      "loc": {
        "start": {
          "line": 162,
          "column": 29
        },
        "end": {
          "line": 162,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "b",
      "start": 5195,
      "end": 5196,
      "loc": {
        "start": {
          "line": 162,
          "column": 30
        },
        "end": {
          "line": 162,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5196,
      "end": 5197,
      "loc": {
        "start": {
          "line": 162,
          "column": 31
        },
        "end": {
          "line": 162,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5197,
      "end": 5198,
      "loc": {
        "start": {
          "line": 162,
          "column": 32
        },
        "end": {
          "line": 162,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 5207,
      "end": 5213,
      "loc": {
        "start": {
          "line": 163,
          "column": 8
        },
        "end": {
          "line": 163,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "b",
      "start": 5214,
      "end": 5215,
      "loc": {
        "start": {
          "line": 163,
          "column": 15
        },
        "end": {
          "line": 163,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5215,
      "end": 5216,
      "loc": {
        "start": {
          "line": 163,
          "column": 16
        },
        "end": {
          "line": 163,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "copy",
      "start": 5216,
      "end": 5220,
      "loc": {
        "start": {
          "line": 163,
          "column": 17
        },
        "end": {
          "line": 163,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5220,
      "end": 5221,
      "loc": {
        "start": {
          "line": 163,
          "column": 21
        },
        "end": {
          "line": 163,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 5221,
      "end": 5222,
      "loc": {
        "start": {
          "line": 163,
          "column": 22
        },
        "end": {
          "line": 163,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5222,
      "end": 5223,
      "loc": {
        "start": {
          "line": 163,
          "column": 23
        },
        "end": {
          "line": 163,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "b",
      "start": 5224,
      "end": 5225,
      "loc": {
        "start": {
          "line": 163,
          "column": 25
        },
        "end": {
          "line": 163,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5225,
      "end": 5226,
      "loc": {
        "start": {
          "line": 163,
          "column": 26
        },
        "end": {
          "line": 163,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "offset",
      "start": 5226,
      "end": 5232,
      "loc": {
        "start": {
          "line": 163,
          "column": 27
        },
        "end": {
          "line": 163,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5232,
      "end": 5233,
      "loc": {
        "start": {
          "line": 163,
          "column": 33
        },
        "end": {
          "line": 163,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5233,
      "end": 5234,
      "loc": {
        "start": {
          "line": 163,
          "column": 34
        },
        "end": {
          "line": 163,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5239,
      "end": 5240,
      "loc": {
        "start": {
          "line": 164,
          "column": 4
        },
        "end": {
          "line": 164,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "static",
      "start": 5246,
      "end": 5252,
      "loc": {
        "start": {
          "line": 166,
          "column": 4
        },
        "end": {
          "line": 166,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromHex",
      "start": 5253,
      "end": 5260,
      "loc": {
        "start": {
          "line": 166,
          "column": 11
        },
        "end": {
          "line": 166,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5260,
      "end": 5261,
      "loc": {
        "start": {
          "line": 166,
          "column": 18
        },
        "end": {
          "line": 166,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hex",
      "start": 5261,
      "end": 5264,
      "loc": {
        "start": {
          "line": 166,
          "column": 19
        },
        "end": {
          "line": 166,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5264,
      "end": 5265,
      "loc": {
        "start": {
          "line": 166,
          "column": 22
        },
        "end": {
          "line": 166,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5266,
      "end": 5267,
      "loc": {
        "start": {
          "line": 166,
          "column": 24
        },
        "end": {
          "line": 166,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 5276,
      "end": 5282,
      "loc": {
        "start": {
          "line": 167,
          "column": 8
        },
        "end": {
          "line": 167,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PrivateKey",
      "start": 5283,
      "end": 5293,
      "loc": {
        "start": {
          "line": 167,
          "column": 15
        },
        "end": {
          "line": 167,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5293,
      "end": 5294,
      "loc": {
        "start": {
          "line": 167,
          "column": 25
        },
        "end": {
          "line": 167,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromBuffer",
      "start": 5294,
      "end": 5304,
      "loc": {
        "start": {
          "line": 167,
          "column": 26
        },
        "end": {
          "line": 167,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5304,
      "end": 5305,
      "loc": {
        "start": {
          "line": 167,
          "column": 36
        },
        "end": {
          "line": 167,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 5305,
      "end": 5308,
      "loc": {
        "start": {
          "line": 167,
          "column": 37
        },
        "end": {
          "line": 167,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Buffer",
      "start": 5309,
      "end": 5315,
      "loc": {
        "start": {
          "line": 167,
          "column": 41
        },
        "end": {
          "line": 167,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5315,
      "end": 5316,
      "loc": {
        "start": {
          "line": 167,
          "column": 47
        },
        "end": {
          "line": 167,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hex",
      "start": 5316,
      "end": 5319,
      "loc": {
        "start": {
          "line": 167,
          "column": 48
        },
        "end": {
          "line": 167,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5319,
      "end": 5320,
      "loc": {
        "start": {
          "line": 167,
          "column": 51
        },
        "end": {
          "line": 167,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "hex",
      "start": 5321,
      "end": 5326,
      "loc": {
        "start": {
          "line": 167,
          "column": 53
        },
        "end": {
          "line": 167,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5326,
      "end": 5327,
      "loc": {
        "start": {
          "line": 167,
          "column": 58
        },
        "end": {
          "line": 167,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5327,
      "end": 5328,
      "loc": {
        "start": {
          "line": 167,
          "column": 59
        },
        "end": {
          "line": 167,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5328,
      "end": 5329,
      "loc": {
        "start": {
          "line": 167,
          "column": 60
        },
        "end": {
          "line": 167,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5334,
      "end": 5335,
      "loc": {
        "start": {
          "line": 168,
          "column": 4
        },
        "end": {
          "line": 168,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toHex",
      "start": 5341,
      "end": 5346,
      "loc": {
        "start": {
          "line": 170,
          "column": 4
        },
        "end": {
          "line": 170,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5346,
      "end": 5347,
      "loc": {
        "start": {
          "line": 170,
          "column": 9
        },
        "end": {
          "line": 170,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5347,
      "end": 5348,
      "loc": {
        "start": {
          "line": 170,
          "column": 10
        },
        "end": {
          "line": 170,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5349,
      "end": 5350,
      "loc": {
        "start": {
          "line": 170,
          "column": 12
        },
        "end": {
          "line": 170,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 5359,
      "end": 5365,
      "loc": {
        "start": {
          "line": 171,
          "column": 8
        },
        "end": {
          "line": 171,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5366,
      "end": 5370,
      "loc": {
        "start": {
          "line": 171,
          "column": 15
        },
        "end": {
          "line": 171,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5370,
      "end": 5371,
      "loc": {
        "start": {
          "line": 171,
          "column": 19
        },
        "end": {
          "line": 171,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toBuffer",
      "start": 5371,
      "end": 5379,
      "loc": {
        "start": {
          "line": 171,
          "column": 20
        },
        "end": {
          "line": 171,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5379,
      "end": 5380,
      "loc": {
        "start": {
          "line": 171,
          "column": 28
        },
        "end": {
          "line": 171,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5380,
      "end": 5381,
      "loc": {
        "start": {
          "line": 171,
          "column": 29
        },
        "end": {
          "line": 171,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5381,
      "end": 5382,
      "loc": {
        "start": {
          "line": 171,
          "column": 30
        },
        "end": {
          "line": 171,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toString",
      "start": 5382,
      "end": 5390,
      "loc": {
        "start": {
          "line": 171,
          "column": 31
        },
        "end": {
          "line": 171,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5390,
      "end": 5391,
      "loc": {
        "start": {
          "line": 171,
          "column": 39
        },
        "end": {
          "line": 171,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "hex",
      "start": 5391,
      "end": 5396,
      "loc": {
        "start": {
          "line": 171,
          "column": 40
        },
        "end": {
          "line": 171,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5396,
      "end": 5397,
      "loc": {
        "start": {
          "line": 171,
          "column": 45
        },
        "end": {
          "line": 171,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5397,
      "end": 5398,
      "loc": {
        "start": {
          "line": 171,
          "column": 46
        },
        "end": {
          "line": 171,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5403,
      "end": 5404,
      "loc": {
        "start": {
          "line": 172,
          "column": 4
        },
        "end": {
          "line": 172,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": " </helper_functions> ",
      "start": 5410,
      "end": 5435,
      "loc": {
        "start": {
          "line": 174,
          "column": 4
        },
        "end": {
          "line": 174,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5436,
      "end": 5437,
      "loc": {
        "start": {
          "line": 175,
          "column": 0
        },
        "end": {
          "line": 175,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 5439,
      "end": 5445,
      "loc": {
        "start": {
          "line": 177,
          "column": 0
        },
        "end": {
          "line": 177,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "default",
        "keyword": "default",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 5446,
      "end": 5453,
      "loc": {
        "start": {
          "line": 177,
          "column": 7
        },
        "end": {
          "line": 177,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PrivateKey",
      "start": 5454,
      "end": 5464,
      "loc": {
        "start": {
          "line": 177,
          "column": 15
        },
        "end": {
          "line": 177,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5464,
      "end": 5465,
      "loc": {
        "start": {
          "line": 177,
          "column": 25
        },
        "end": {
          "line": 177,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 5467,
      "end": 5470,
      "loc": {
        "start": {
          "line": 179,
          "column": 0
        },
        "end": {
          "line": 179,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toPublic",
      "start": 5471,
      "end": 5479,
      "loc": {
        "start": {
          "line": 179,
          "column": 4
        },
        "end": {
          "line": 179,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5480,
      "end": 5481,
      "loc": {
        "start": {
          "line": 179,
          "column": 13
        },
        "end": {
          "line": 179,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 5482,
      "end": 5486,
      "loc": {
        "start": {
          "line": 179,
          "column": 15
        },
        "end": {
          "line": 179,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5487,
      "end": 5489,
      "loc": {
        "start": {
          "line": 179,
          "column": 20
        },
        "end": {
          "line": 179,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 5494,
      "end": 5498,
      "loc": {
        "start": {
          "line": 180,
          "column": 4
        },
        "end": {
          "line": 180,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "==",
      "start": 5499,
      "end": 5501,
      "loc": {
        "start": {
          "line": 180,
          "column": 9
        },
        "end": {
          "line": 180,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 5502,
      "end": 5506,
      "loc": {
        "start": {
          "line": 180,
          "column": 12
        },
        "end": {
          "line": 180,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "?",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5507,
      "end": 5508,
      "loc": {
        "start": {
          "line": 180,
          "column": 17
        },
        "end": {
          "line": 180,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 5509,
      "end": 5513,
      "loc": {
        "start": {
          "line": 180,
          "column": 19
        },
        "end": {
          "line": 180,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5514,
      "end": 5515,
      "loc": {
        "start": {
          "line": 180,
          "column": 24
        },
        "end": {
          "line": 180,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 5516,
      "end": 5520,
      "loc": {
        "start": {
          "line": 180,
          "column": 26
        },
        "end": {
          "line": 180,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5520,
      "end": 5521,
      "loc": {
        "start": {
          "line": 180,
          "column": 30
        },
        "end": {
          "line": 180,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Q",
      "start": 5521,
      "end": 5522,
      "loc": {
        "start": {
          "line": 180,
          "column": 31
        },
        "end": {
          "line": 180,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "?",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5523,
      "end": 5524,
      "loc": {
        "start": {
          "line": 180,
          "column": 33
        },
        "end": {
          "line": 180,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 5525,
      "end": 5529,
      "loc": {
        "start": {
          "line": 180,
          "column": 35
        },
        "end": {
          "line": 180,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5530,
      "end": 5531,
      "loc": {
        "start": {
          "line": 180,
          "column": 40
        },
        "end": {
          "line": 180,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PublicKey",
      "start": 5532,
      "end": 5541,
      "loc": {
        "start": {
          "line": 180,
          "column": 42
        },
        "end": {
          "line": 180,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5541,
      "end": 5542,
      "loc": {
        "start": {
          "line": 180,
          "column": 51
        },
        "end": {
          "line": 180,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fromStringOrThrow",
      "start": 5542,
      "end": 5559,
      "loc": {
        "start": {
          "line": 180,
          "column": 52
        },
        "end": {
          "line": 180,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5559,
      "end": 5560,
      "loc": {
        "start": {
          "line": 180,
          "column": 69
        },
        "end": {
          "line": 180,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 5560,
      "end": 5564,
      "loc": {
        "start": {
          "line": 180,
          "column": 70
        },
        "end": {
          "line": 180,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5564,
      "end": 5565,
      "loc": {
        "start": {
          "line": 180,
          "column": 74
        },
        "end": {
          "line": 180,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5565,
      "end": 5566,
      "loc": {
        "start": {
          "line": 180,
          "column": 75
        },
        "end": {
          "line": 180,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5567,
      "end": 5567,
      "loc": {
        "start": {
          "line": 181,
          "column": 0
        },
        "end": {
          "line": 181,
          "column": 0
        }
      }
    }
  ]
}