[
  {
    "name": "arguments",
    "addr": "/arguments/",
    "kind": "v",
    "type": "number",
    "lineno": 1,
    "origin": {
      "!span": "4[0:4]-13[0:13]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/arguments.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "v",
    "type": "[string]",
    "lineno": 1,
    "origin": {
      "!span": "4[0:4]-5[0:5]",
      "!type": "[string]",
      "!data": {
        "isConstructor": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/array_holes.js"
  },
  {
    "name": "y",
    "addr": "/y/",
    "kind": "v",
    "type": "string",
    "lineno": 3,
    "origin": {
      "!span": "35[2:8]-36[2:9]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/array_holes.js"
  },
  {
    "name": "z",
    "addr": "/z/",
    "kind": "v",
    "type": "string",
    "lineno": 3,
    "origin": {
      "!span": "38[2:11]-39[2:12]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/array_holes.js"
  },
  {
    "name": "f",
    "addr": "/f/",
    "kind": "f",
    "type": "f.!ret function(number, Array[bool])",
    "lineno": 1,
    "origin": {
      "!span": "4[0:4]-5[0:5]",
      "!type": "fn(a: number, [b]: [bool]) -> f.!ret",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/arrow.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "number",
    "lineno": 1,
    "namespace": "f",
    "origin": {
      "!span": "9[0:9]-10[0:10]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/arrow.js"
  },
  {
    "name": "b",
    "addr": "/b/",
    "kind": "v",
    "type": "boolean",
    "lineno": 1,
    "namespace": "f",
    "origin": {
      "!span": "13[0:13]-14[0:14]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/arrow.js"
  },
  {
    "name": "wrap",
    "addr": "/wrap/",
    "kind": "f",
    "type": "wrap.!ret.!ret function() function()",
    "lineno": 5,
    "origin": {
      "!span": "79[4:9]-83[4:13]",
      "!type": "fn() -> fn() -> wrap.!ret.!ret",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/arrow.js"
  },
  {
    "name": "Obj",
    "addr": "/Obj/",
    "kind": "f",
    "type": "void function()",
    "lineno": 11,
    "origin": {
      "!span": "207[10:9]-210[10:12]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/arrow.js"
  },
  {
    "name": "map",
    "addr": "/map/",
    "kind": "f",
    "type": "[!this.x] function()",
    "lineno": 14,
    "namespace": "Obj.prototype",
    "origin": {
      "!span": "247[13:14]-250[13:17]",
      "!type": "fn() -> [!this.x]",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/arrow.js"
  },
  {
    "name": "Bar",
    "addr": "/Bar/",
    "kind": "f",
    "type": "void function()",
    "lineno": 1,
    "origin": {
      "!span": "9[0:9]-12[0:12]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/autothis.js"
  },
  {
    "name": "hallo",
    "addr": "/hallo/",
    "kind": "f",
    "type": "void function()",
    "lineno": 2,
    "namespace": "Bar.prototype",
    "origin": {
      "!span": "49[1:14]-54[1:19]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/autothis.js"
  },
  {
    "name": "fn2",
    "addr": "/fn2/",
    "kind": "f",
    "type": "void function()",
    "lineno": 7,
    "namespace": "Bar.prototype",
    "origin": {
      "!span": "128[6:14]-131[6:17]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/autothis.js"
  },
  {
    "name": "fn2",
    "addr": "/fn2/",
    "kind": "f",
    "type": "void function()",
    "lineno": 11,
    "namespace": "Date.prototype",
    "origin": {
      "!span": "183[10:15]-186[10:18]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/autothis.js"
  },
  {
    "name": "f",
    "addr": "/f/",
    "kind": "f",
    "type": "number function(number, number, number, number)",
    "lineno": 1,
    "origin": {
      "!span": "9[0:9]-10[0:10]",
      "!type": "fn(a: number, b: number, c: number, d: number) -> number",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/bind.js"
  },
  {
    "name": "b",
    "addr": "/b/",
    "kind": "v",
    "type": "number",
    "lineno": 1,
    "namespace": "f",
    "origin": {
      "!span": "14[0:14]-15[0:15]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/bind.js"
  },
  {
    "name": "c",
    "addr": "/c/",
    "kind": "v",
    "type": "number",
    "lineno": 1,
    "namespace": "f",
    "origin": {
      "!span": "17[0:17]-18[0:18]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/bind.js"
  },
  {
    "name": "d",
    "addr": "/d/",
    "kind": "v",
    "type": "number",
    "lineno": 1,
    "namespace": "f",
    "origin": {
      "!span": "20[0:20]-21[0:21]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/bind.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "number",
    "lineno": 1,
    "namespace": "f",
    "origin": {
      "!span": "11[0:11]-12[0:12]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/bind.js"
  },
  {
    "name": "g",
    "addr": "/g/",
    "kind": "f",
    "type": "number function(number, number)",
    "lineno": 2,
    "origin": {
      "!span": "53[1:4]-54[1:5]",
      "!type": "fn(c: number, d: number) -> number",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/bind.js"
  },
  {
    "name": "h",
    "addr": "/h/",
    "kind": "f",
    "type": "h.!ret function(number)",
    "lineno": 7,
    "origin": {
      "!span": "150[6:9]-151[6:10]",
      "!type": "fn(a: number) -> h.!ret",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/bind.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "number",
    "lineno": 7,
    "namespace": "h",
    "origin": {
      "!span": "152[6:11]-153[6:12]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/bind.js"
  },
  {
    "name": "i",
    "addr": "/i/",
    "kind": "f",
    "type": "h.!ret function()",
    "lineno": 8,
    "origin": {
      "!span": "188[7:4]-189[7:5]",
      "!type": "fn() -> h.!ret",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/bind.js"
  },
  {
    "name": "o",
    "addr": "/o/",
    "kind": "v",
    "lineno": 12,
    "origin": {
      "!span": "275[11:4]-276[11:5]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/bind.js"
  },
  {
    "name": "i",
    "addr": "/i/",
    "kind": "f",
    "type": "h.!ret function()",
    "lineno": 12,
    "namespace": "o",
    "origin": {
      "!span": "280[11:9]-281[11:10]",
      "!type": "fn() -> h.!ret",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/bind.js"
  },
  {
    "name": "j",
    "addr": "/j/",
    "kind": "f",
    "type": "!this function()",
    "lineno": 15,
    "origin": {
      "!span": "340[14:9]-341[14:10]",
      "!type": "fn() -> !this",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/bind.js"
  },
  {
    "name": "k",
    "addr": "/k/",
    "kind": "f",
    "type": "j.!ret function()",
    "lineno": 16,
    "origin": {
      "!span": "365[15:4]-366[15:5]",
      "!type": "fn() -> j.!ret",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/bind.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "f",
    "type": "void function(string)",
    "lineno": 1,
    "origin": {
      "!span": "9[0:9]-10[0:10]",
      "!type": "fn(a: string)",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/block_scope.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "string",
    "lineno": 1,
    "namespace": "x",
    "origin": {
      "!span": "11[0:11]-12[0:12]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/block_scope.js"
  },
  {
    "name": "c",
    "addr": "/c/",
    "kind": "v",
    "type": "boolean",
    "lineno": 5,
    "namespace": "x",
    "origin": {
      "!span": "57[4:8]-58[4:9]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/block_scope.js"
  },
  {
    "name": "Ext",
    "addr": "/Ext/",
    "kind": "v",
    "lineno": 1,
    "origin": {
      "!span": "4[0:4]-7[0:7]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/blowup.js"
  },
  {
    "name": "extend",
    "addr": "/extend/",
    "kind": "f",
    "type": "void function(fn()",
    "lineno": 2,
    "namespace": "Ext",
    "origin": {
      "!span": "25[1:4]-31[1:10]",
      "!type": "fn(subclass: fn(), superclass: ?)",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/blowup.js"
  },
  {
    "name": "prototype",
    "addr": "/prototype/",
    "kind": "v",
    "lineno": 8,
    "namespace": "Ext.extend.subclass",
    "origin": {
      "!span": "231[7:11]-240[7:20]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false
      }
    },
    "tagfile": "__DIR__/blowup.js"
  },
  {
    "name": "extend",
    "addr": "/extend/",
    "kind": "f",
    "type": "void function(?)",
    "lineno": 10,
    "namespace": "Ext.extend.subclass",
    "origin": {
      "!span": "264[9:11]-270[9:17]",
      "!type": "fn(o: ?)",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/blowup.js"
  },
  {
    "name": "o",
    "addr": "/o/",
    "kind": "v",
    "lineno": 10,
    "namespace": "Ext.extend.subclass.extend",
    "origin": {
      "!span": "282[9:29]-283[9:30]",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": false
      }
    },
    "tagfile": "__DIR__/blowup.js"
  },
  {
    "name": "subclass",
    "addr": "/subclass/",
    "kind": "f",
    "type": "void function()",
    "lineno": 14,
    "namespace": "Ext.extend",
    "origin": {
      "!span": "369[13:22]-377[13:30]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/blowup.js"
  },
  {
    "name": "superclass",
    "addr": "/superclass/",
    "kind": "f",
    "type": "void function()",
    "lineno": 14,
    "namespace": "Ext.extend",
    "origin": {
      "!span": "379[13:32]-389[13:42]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/blowup.js"
  },
  {
    "name": "F",
    "addr": "/F/",
    "kind": "f",
    "type": "void function()",
    "lineno": 18,
    "namespace": "Ext.extend",
    "origin": {
      "!span": "489[17:6]-490[17:7]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/blowup.js"
  },
  {
    "name": "prototype",
    "addr": "/prototype/",
    "kind": "v",
    "lineno": 19,
    "namespace": "Ext.extend.F",
    "origin": {
      "!span": "512[18:4]-521[18:13]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false
      }
    },
    "tagfile": "__DIR__/blowup.js"
  },
  {
    "name": "newElt",
    "addr": "/newElt/",
    "kind": "v",
    "type": "Element",
    "lineno": 5,
    "origin": {
      "!span": "63[4:4]-69[4:10]",
      "!type": "+Element",
      "!data": {
        "isConstructor": false,
        "type": "Element.prototype"
      }
    },
    "tagfile": "__DIR__/browser.js"
  },
  {
    "name": "e_which",
    "addr": "/e_which/",
    "kind": "v",
    "type": "number",
    "lineno": 9,
    "origin": {
      "!span": "153[8:4]-160[8:11]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/browser.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "v",
    "type": "number",
    "lineno": 1,
    "origin": {
      "!span": "4[0:4]-5[0:5]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/builtins.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "[number]",
    "lineno": 4,
    "origin": {
      "!span": "57[3:4]-58[3:5]",
      "!type": "[number]",
      "!data": {
        "isConstructor": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/builtins.js"
  },
  {
    "name": "num",
    "addr": "/num/",
    "kind": "v",
    "type": "number",
    "lineno": 26,
    "origin": {
      "!span": "518[25:4]-521[25:7]",
      "!type": "+Number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/builtins.js"
  },
  {
    "name": "grabbag",
    "addr": "/grabbag/",
    "kind": "v",
    "lineno": 1,
    "origin": {
      "!span": "4[0:4]-11[0:11]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/cautiouspropagation.js"
  },
  {
    "name": "<i>",
    "addr": "/foo\\(\\)/",
    "kind": "v",
    "lineno": 2,
    "namespace": "grabbag",
    "origin": {
      "!span": "26[1:8]-31[1:13]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false
      }
    },
    "tagfile": "__DIR__/cautiouspropagation.js"
  },
  {
    "name": "abc",
    "addr": "/abc/",
    "kind": "v",
    "type": "number",
    "lineno": 3,
    "namespace": "grabbag.<i>",
    "origin": {
      "!span": "59[2:18]-62[2:21]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/cautiouspropagation.js"
  },
  {
    "name": "inner",
    "addr": "/inner/",
    "kind": "v",
    "type": "number",
    "lineno": 5,
    "origin": {
      "!span": "101[4:4]-106[4:9]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/cautiouspropagation.js"
  },
  {
    "name": "simple",
    "addr": "/simple/",
    "kind": "v",
    "lineno": 8,
    "origin": {
      "!span": "155[7:4]-161[7:10]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/cautiouspropagation.js"
  },
  {
    "name": "<i>",
    "addr": "/foo\\(\\)/",
    "kind": "v",
    "type": "string",
    "lineno": 9,
    "namespace": "simple",
    "origin": {
      "!span": "175[8:7]-180[8:12]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/cautiouspropagation.js"
  },
  {
    "name": "Point2",
    "addr": "/Point2/",
    "kind": "f",
    "type": "void function(number, number)",
    "lineno": 1,
    "origin": {
      "!span": "6[0:6]-12[0:12]",
      "!type": "fn(x: number, y: number)",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "prototype",
    "addr": "/class Point2 \\{/",
    "kind": "v",
    "lineno": 1,
    "namespace": "Point2",
    "origin": {
      "!span": "0[0:0]-267[10:1]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "v",
    "type": "number",
    "lineno": 2,
    "namespace": "Point4",
    "origin": {
      "!span": "42[1:27]-43[1:28]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "v",
    "type": "number",
    "lineno": 2,
    "namespace": "Point2.prototype.plus.pt",
    "origin": {
      "!span": "42[1:27]-43[1:28]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "y",
    "addr": "/y/",
    "kind": "v",
    "type": "number",
    "lineno": 2,
    "namespace": "Point2.prototype.plus.pt",
    "origin": {
      "!span": "54[1:39]-55[1:40]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "y",
    "addr": "/y/",
    "kind": "v",
    "type": "number",
    "lineno": 2,
    "namespace": "Point4",
    "origin": {
      "!span": "54[1:39]-55[1:40]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "y",
    "addr": "/y/",
    "kind": "v",
    "type": "number",
    "lineno": 2,
    "namespace": "Point2",
    "origin": {
      "!span": "54[1:39]-55[1:40]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "v",
    "type": "number",
    "lineno": 2,
    "namespace": "Point2",
    "origin": {
      "!span": "42[1:27]-43[1:28]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "plus",
    "addr": "/plus/",
    "kind": "f",
    "type": "Point2 function(+Point2)",
    "lineno": 3,
    "namespace": "Point2.prototype",
    "origin": {
      "!span": "64[2:2]-68[2:6]",
      "!type": "fn(pt: +Point2) -> +Point2",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "pt",
    "addr": "/pt/",
    "kind": "v",
    "type": "Point2",
    "lineno": 3,
    "namespace": "Point2.prototype.plus",
    "origin": {
      "!span": "69[2:7]-71[2:9]",
      "!type": "+Point2",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Point2.prototype"
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "xx",
    "addr": "/xx/",
    "kind": "v",
    "type": "number",
    "lineno": 8,
    "namespace": "Point2.prototype",
    "origin": {
      "!span": "175[7:6]-177[7:8]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "quux",
    "addr": "/quux/",
    "kind": "f",
    "type": "number function()",
    "lineno": 9,
    "namespace": "Point2.prototype",
    "origin": {
      "!span": "200[8:2]-204[8:6]",
      "!type": "fn() -> number",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "origin",
    "addr": "/origin/",
    "kind": "f",
    "type": "Point2 function()",
    "lineno": 10,
    "namespace": "Point2",
    "origin": {
      "!span": "229[9:9]-235[9:15]",
      "!type": "fn() -> +Point2",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "Point4",
    "addr": "/Point4/",
    "kind": "f",
    "type": "void function(number, number, number, number)",
    "lineno": 13,
    "origin": {
      "!span": "275[12:6]-281[12:12]",
      "!type": "fn(x: number, y: number, z: number, u: number)",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "prototype",
    "addr": "/class Point4 extends Point3 \\{/",
    "kind": "v",
    "lineno": 13,
    "namespace": "Point4",
    "origin": {
      "!span": "269[12:0]-379[15:1]",
      "!data": {
        "isConstructor": false,
        "type": "Point3.prototype"
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "u",
    "addr": "/u/",
    "kind": "v",
    "type": "number",
    "lineno": 14,
    "namespace": "Point4",
    "origin": {
      "!span": "348[13:49]-349[13:50]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "argh",
    "addr": "/argh/",
    "kind": "f",
    "type": "number function()",
    "lineno": 15,
    "namespace": "Point4.prototype",
    "origin": {
      "!span": "358[14:2]-362[14:6]",
      "!type": "fn() -> number",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "Point3",
    "addr": "/Point3/",
    "kind": "f",
    "type": "void function(number, number, number)",
    "lineno": 18,
    "origin": {
      "!span": "385[17:4]-391[17:10]",
      "!type": "fn(x: number, y: number, z: number)",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "prototype",
    "addr": "/class extends Point2 \\{/",
    "kind": "v",
    "lineno": 18,
    "namespace": "Point3",
    "origin": {
      "!span": "394[17:13]-496[20:1]",
      "!data": {
        "isConstructor": false,
        "type": "Point2.prototype"
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "v",
    "type": "number",
    "lineno": 19,
    "namespace": "Point3",
    "origin": {
      "!span": "431[18:14]-432[18:15]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype",
        "scoped": true,
        "isArg": true
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "y",
    "addr": "/y/",
    "kind": "v",
    "type": "number",
    "lineno": 19,
    "namespace": "Point3",
    "origin": {
      "!span": "434[18:17]-435[18:18]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype",
        "scoped": true,
        "isArg": true
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "z",
    "addr": "/z/",
    "kind": "v",
    "type": "number",
    "lineno": 19,
    "namespace": "Point3",
    "origin": {
      "!span": "437[18:20]-438[18:21]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype",
        "scoped": true,
        "isArg": true
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "z",
    "addr": "/z/",
    "kind": "v",
    "type": "number",
    "lineno": 19,
    "namespace": "Point4",
    "origin": {
      "!span": "460[18:43]-461[18:44]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "foobar",
    "addr": "/foobar/",
    "kind": "f",
    "type": "boolean function()",
    "lineno": 20,
    "namespace": "Point3.prototype",
    "origin": {
      "!span": "470[19:2]-476[19:8]",
      "!type": "fn() -> bool",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "p1",
    "addr": "/p1/",
    "kind": "v",
    "type": "Point2",
    "lineno": 23,
    "origin": {
      "!span": "502[22:4]-504[22:6]",
      "!type": "+Point2",
      "!data": {
        "isConstructor": false,
        "type": "Point2.prototype"
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "p2",
    "addr": "/p2/",
    "kind": "v",
    "type": "Point2",
    "lineno": 26,
    "origin": {
      "!span": "558[25:4]-560[25:6]",
      "!type": "+Point2",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Point2.prototype"
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "p3",
    "addr": "/p3/",
    "kind": "v",
    "type": "Point3",
    "lineno": 32,
    "origin": {
      "!span": "656[31:4]-658[31:6]",
      "!type": "+Point3",
      "!data": {
        "isConstructor": false,
        "type": "Point3.prototype"
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "p4",
    "addr": "/p4/",
    "kind": "v",
    "type": "Point4",
    "lineno": 37,
    "origin": {
      "!span": "742[36:4]-744[36:6]",
      "!type": "+Point4",
      "!data": {
        "isConstructor": false,
        "type": "Point4.prototype"
      }
    },
    "tagfile": "__DIR__/class.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "v",
    "lineno": 1,
    "origin": {
      "!span": "4[0:4]-5[0:5]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/computedprop.js"
  },
  {
    "name": "<i>",
    "addr": "/foo\\(\\)/",
    "kind": "v",
    "lineno": 2,
    "namespace": "x",
    "origin": {
      "!span": "14[1:2]-19[1:7]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/computedprop.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "number",
    "lineno": 2,
    "namespace": "x.<i>",
    "origin": {
      "!span": "24[1:12]-25[1:13]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/computedprop.js"
  },
  {
    "name": "b",
    "addr": "/b/",
    "kind": "v",
    "type": "number",
    "lineno": 2,
    "namespace": "x.<i>",
    "origin": {
      "!span": "31[1:19]-32[1:20]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/computedprop.js"
  },
  {
    "name": "obj",
    "addr": "/obj/",
    "kind": "v",
    "lineno": 6,
    "origin": {
      "!span": "81[5:4]-84[5:7]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/computedprop.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "string",
    "lineno": 6,
    "namespace": "obj",
    "origin": {
      "!span": "88[5:11]-89[5:12]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/computedprop.js"
  },
  {
    "name": "b",
    "addr": "/b/",
    "kind": "v",
    "type": "string",
    "lineno": 6,
    "namespace": "obj",
    "origin": {
      "!span": "98[5:21]-99[5:22]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/computedprop.js"
  },
  {
    "name": "whoAmI",
    "addr": "/whoAmI/",
    "kind": "f",
    "type": "void function(?, ?)",
    "lineno": 1,
    "origin": {
      "!span": "9[0:9]-15[0:15]",
      "!type": "fn(a: ?, i: ?)",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/contextcomplete.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "lineno": 1,
    "namespace": "whoAmI",
    "origin": {
      "!span": "16[0:16]-17[0:17]",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": false
      }
    },
    "tagfile": "__DIR__/contextcomplete.js"
  },
  {
    "name": "i",
    "addr": "/i/",
    "kind": "v",
    "lineno": 1,
    "namespace": "whoAmI",
    "origin": {
      "!span": "19[0:19]-20[0:20]",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": false
      }
    },
    "tagfile": "__DIR__/contextcomplete.js"
  },
  {
    "name": "buildCopy",
    "addr": "/buildCopy/",
    "kind": "f",
    "type": "? function(buildCopy.!0)",
    "lineno": 1,
    "origin": {
      "!span": "9[0:9]-18[0:18]",
      "!type": "fn(o: buildCopy.!0) -> ?",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/copyprops.js"
  },
  {
    "name": "oo",
    "addr": "/oo/",
    "kind": "v",
    "lineno": 2,
    "namespace": "buildCopy",
    "origin": {
      "!span": "30[1:6]-32[1:8]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/copyprops.js"
  },
  {
    "name": "prop",
    "addr": "/prop/",
    "kind": "v",
    "lineno": 3,
    "namespace": "buildCopy",
    "origin": {
      "!span": "50[2:11]-54[2:15]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": false
      }
    },
    "tagfile": "__DIR__/copyprops.js"
  },
  {
    "name": "Ctor",
    "addr": "/Ctor/",
    "kind": "f",
    "type": "Ctor function()",
    "lineno": 4,
    "origin": {
      "!span": "112[3:9]-116[3:13]",
      "!type": "fn() -> +Ctor",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/ctorpattern.js"
  },
  {
    "name": "foo",
    "addr": "/foo/",
    "kind": "v",
    "type": "number",
    "lineno": 6,
    "namespace": "Ctor",
    "origin": {
      "!span": "178[5:7]-181[5:10]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/ctorpattern.js"
  },
  {
    "name": "o",
    "addr": "/o/",
    "kind": "v",
    "lineno": 1,
    "origin": {
      "!span": "4[0:4]-5[0:5]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/defineProperty.js"
  },
  {
    "name": "prop1",
    "addr": "/\"prop1\"/",
    "kind": "v",
    "type": "string",
    "lineno": 4,
    "namespace": "o",
    "origin": {
      "!span": "61[3:25]-68[3:32]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/defineProperty.js"
  },
  {
    "name": "prop2",
    "addr": "/\"prop2\"/",
    "kind": "v",
    "type": "number",
    "lineno": 8,
    "namespace": "o",
    "origin": {
      "!span": "137[7:25]-144[7:32]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/defineProperty.js"
  },
  {
    "name": "o2",
    "addr": "/o2/",
    "kind": "v",
    "lineno": 17,
    "origin": {
      "!span": "248[16:4]-250[16:6]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/defineProperty.js"
  },
  {
    "name": "prop1",
    "addr": "/\\{/",
    "kind": "v",
    "type": "number",
    "lineno": 19,
    "namespace": "o2",
    "origin": {
      "!span": "286[18:28]-354[21:1]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/defineProperty.js"
  },
  {
    "name": "prop2",
    "addr": "/\\{/",
    "kind": "v",
    "type": "boolean",
    "lineno": 19,
    "namespace": "o2",
    "origin": {
      "!span": "286[18:28]-354[21:1]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/defineProperty.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "number",
    "lineno": 1,
    "origin": {
      "!span": "5[0:5]-6[0:6]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/destructure.js"
  },
  {
    "name": "d",
    "addr": "/d/",
    "kind": "v",
    "type": "boolean",
    "lineno": 4,
    "origin": {
      "!span": "39[3:8]-40[3:9]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/destructure.js"
  },
  {
    "name": "c",
    "addr": "/c/",
    "kind": "v",
    "type": "string",
    "lineno": 4,
    "origin": {
      "!span": "36[3:5]-37[3:6]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/destructure.js"
  },
  {
    "name": "foo",
    "addr": "/foo/",
    "kind": "f",
    "type": "void function(Array[bool], ?, foo.!2, number)",
    "lineno": 8,
    "origin": {
      "!span": "100[7:9]-103[7:12]",
      "!type": "fn([e]: [bool], {f}: ?, {g}: foo.!2, ...h: number)",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/destructure.js"
  },
  {
    "name": "e",
    "addr": "/e/",
    "kind": "v",
    "type": "boolean",
    "lineno": 8,
    "namespace": "foo",
    "origin": {
      "!span": "105[7:14]-106[7:15]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/destructure.js"
  },
  {
    "name": "f",
    "addr": "/f/",
    "kind": "v",
    "type": "number",
    "lineno": 8,
    "namespace": "foo",
    "origin": {
      "!span": "110[7:19]-111[7:20]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/destructure.js"
  },
  {
    "name": "g",
    "addr": "/g/",
    "kind": "v",
    "type": "string",
    "lineno": 8,
    "namespace": "foo",
    "origin": {
      "!span": "117[7:26]-118[7:27]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/destructure.js"
  },
  {
    "name": "h",
    "addr": "/h/",
    "kind": "v",
    "type": "[number]",
    "lineno": 8,
    "namespace": "foo",
    "origin": {
      "!span": "124[7:33]-125[7:34]",
      "!type": "[number]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/destructure.js"
  },
  {
    "name": "i",
    "addr": "/i/",
    "kind": "v",
    "type": "number",
    "lineno": 20,
    "origin": {
      "!span": "282[19:4]-283[19:5]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/destructure.js"
  },
  {
    "name": "j",
    "addr": "/j/",
    "kind": "v",
    "type": "boolean",
    "lineno": 20,
    "origin": {
      "!span": "285[19:7]-286[19:8]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/destructure.js"
  },
  {
    "name": "l",
    "addr": "/l/",
    "kind": "v",
    "type": "string",
    "lineno": 21,
    "origin": {
      "!span": "300[20:13]-301[20:14]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/destructure.js"
  },
  {
    "name": "m",
    "addr": "/m/",
    "kind": "v",
    "type": "[string]",
    "lineno": 21,
    "origin": {
      "!span": "306[20:19]-307[20:20]",
      "!type": "[string]",
      "!data": {
        "isConstructor": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/destructure.js"
  },
  {
    "name": "out",
    "addr": "/out/",
    "kind": "v",
    "lineno": 28,
    "origin": {
      "!span": "403[27:4]-406[27:7]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/destructure.js"
  },
  {
    "name": "prop",
    "addr": "/prop/",
    "kind": "v",
    "type": "number",
    "lineno": 29,
    "namespace": "out",
    "origin": {
      "!span": "418[28:6]-422[28:10]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/destructure.js"
  },
  {
    "name": "prop2",
    "addr": "/prop2/",
    "kind": "v",
    "type": "boolean",
    "lineno": 29,
    "namespace": "out",
    "origin": {
      "!span": "428[28:16]-433[28:21]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/destructure.js"
  },
  {
    "name": "n",
    "addr": "/n/",
    "kind": "v",
    "type": "string",
    "lineno": 32,
    "origin": {
      "!span": "491[31:5]-492[31:6]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/destructure.js"
  },
  {
    "name": "o",
    "addr": "/o/",
    "kind": "v",
    "type": "boolean",
    "lineno": 32,
    "origin": {
      "!span": "494[31:8]-495[31:9]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/destructure.js"
  },
  {
    "name": "myalias",
    "addr": "/myalias/",
    "kind": "f",
    "type": "void function(number)",
    "lineno": 4,
    "origin": {
      "!span": "185[3:4]-192[3:11]",
      "!type": "fn(ms: number)",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/docstrings.js"
  },
  {
    "name": "foo",
    "addr": "/foo/",
    "kind": "v",
    "type": "number",
    "lineno": 9,
    "origin": {
      "!span": "323[8:4]-326[8:7]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/docstrings.js"
  },
  {
    "name": "monkeyAlias",
    "addr": "/makeMonkey/",
    "kind": "f",
    "type": "string function()",
    "lineno": 14,
    "origin": {
      "!span": "413[13:9]-423[13:19]",
      "!type": "fn() -> string",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/docstrings.js"
  },
  {
    "name": "makeMonkey",
    "addr": "/makeMonkey/",
    "kind": "f",
    "type": "string function()",
    "lineno": 14,
    "origin": {
      "!span": "413[13:9]-423[13:19]",
      "!type": "fn() -> string",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/docstrings.js"
  },
  {
    "name": "monkeyAlias",
    "addr": "/monkeyAlias/",
    "kind": "f",
    "type": "string function()",
    "lineno": 18,
    "origin": {
      "!span": "504[17:4]-515[17:15]",
      "!type": "fn() -> string",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/docstrings.js"
  },
  {
    "name": "abc",
    "addr": "/abc/",
    "kind": "v",
    "type": "number",
    "lineno": 26,
    "origin": {
      "!span": "647[25:4]-650[25:7]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/docstrings.js"
  },
  {
    "name": "Quux",
    "addr": "/Quux/",
    "kind": "f",
    "type": "void function()",
    "lineno": 32,
    "origin": {
      "!span": "734[31:9]-738[31:13]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/docstrings.js"
  },
  {
    "name": "baz",
    "addr": "/baz/",
    "kind": "v",
    "type": "string",
    "lineno": 40,
    "origin": {
      "!span": "850[39:4]-853[39:7]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/docstrings.js"
  },
  {
    "name": "oy",
    "addr": "/oy/",
    "kind": "v",
    "type": "number",
    "lineno": 47,
    "origin": {
      "!span": "966[46:4]-968[46:6]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/docstrings.js"
  },
  {
    "name": "arr",
    "addr": "/arr/",
    "kind": "v",
    "type": "number",
    "lineno": 57,
    "origin": {
      "!span": "1107[56:4]-1110[56:7]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/docstrings.js"
  },
  {
    "name": "aha",
    "addr": "/aha/",
    "kind": "v",
    "type": "string",
    "lineno": 64,
    "origin": {
      "!span": "1366[63:4]-1369[63:7]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/docstrings.js"
  },
  {
    "name": "xyzzy",
    "addr": "/xyzzy/",
    "kind": "v",
    "type": "boolean",
    "lineno": 70,
    "origin": {
      "!span": "1525[69:4]-1530[69:9]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/docstrings.js"
  },
  {
    "name": "o",
    "addr": "/o/",
    "kind": "v",
    "lineno": 74,
    "origin": {
      "!span": "1586[73:4]-1587[73:5]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/docstrings.js"
  },
  {
    "name": "getName",
    "addr": "/getName/",
    "kind": "f",
    "type": "!this.name function()",
    "lineno": 76,
    "namespace": "o",
    "origin": {
      "!span": "1613[75:2]-1620[75:9]",
      "!type": "fn() -> !this.name",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/docstrings.js"
  },
  {
    "name": "name",
    "addr": "/name/",
    "kind": "v",
    "type": "string",
    "lineno": 78,
    "namespace": "o",
    "origin": {
      "!span": "1672[77:2]-1676[77:6]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/docstrings.js"
  },
  {
    "name": "bar",
    "addr": "/'bar'/",
    "kind": "v",
    "type": "number",
    "lineno": 82,
    "namespace": "o",
    "origin": {
      "!span": "1755[81:2]-1760[81:7]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/docstrings.js"
  },
  {
    "name": "foo",
    "addr": "/foo/",
    "kind": "v",
    "type": "string",
    "lineno": 86,
    "namespace": "o",
    "origin": {
      "!span": "1791[85:2]-1794[85:5]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/docstrings.js"
  },
  {
    "name": "prototype",
    "addr": "/class C \\{/",
    "kind": "v",
    "lineno": 93,
    "namespace": "C",
    "origin": {
      "!span": "1925[92:0]-2028[97:1]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/docstrings.js"
  },
  {
    "name": "C",
    "addr": "/C/",
    "kind": "f",
    "type": "void function()",
    "lineno": 93,
    "origin": {
      "!span": "1931[92:6]-1932[92:7]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/docstrings.js"
  },
  {
    "name": "method",
    "addr": "/method/",
    "kind": "f",
    "type": "number function()",
    "lineno": 95,
    "namespace": "C.prototype",
    "origin": {
      "!span": "1953[94:2]-1959[94:8]",
      "!type": "fn() -> number",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/docstrings.js"
  },
  {
    "name": "something",
    "addr": "/something/",
    "kind": "v",
    "type": "number",
    "lineno": 97,
    "namespace": "C.prototype",
    "origin": {
      "!span": "2001[96:6]-2010[96:15]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/docstrings.js"
  },
  {
    "name": "c",
    "addr": "/c/",
    "kind": "v",
    "type": "C",
    "lineno": 100,
    "origin": {
      "!span": "2034[99:4]-2035[99:5]",
      "!type": "+C",
      "!data": {
        "isConstructor": false,
        "type": "C.prototype"
      }
    },
    "tagfile": "__DIR__/docstrings.js"
  },
  {
    "name": "b",
    "addr": "/b/",
    "kind": "v",
    "type": "[bool]",
    "lineno": 3,
    "origin": {
      "!span": "79[2:4]-80[2:5]",
      "!type": "[bool]",
      "!data": {
        "isConstructor": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/effects.js"
  },
  {
    "name": "c",
    "addr": "/c/",
    "kind": "v",
    "type": "[string|number]",
    "lineno": 7,
    "origin": {
      "!span": "120[6:4]-121[6:5]",
      "!type": "[string|number]",
      "!data": {
        "isConstructor": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/effects.js"
  },
  {
    "name": "d",
    "addr": "/d/",
    "kind": "v",
    "type": "number",
    "lineno": 12,
    "origin": {
      "!span": "182[11:4]-183[11:5]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/effects.js"
  },
  {
    "name": "setD",
    "addr": "/setD/",
    "kind": "f",
    "type": "void function(number)",
    "lineno": 13,
    "origin": {
      "!span": "194[12:9]-198[12:13]",
      "!type": "fn(a: number)",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/effects.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "number",
    "lineno": 13,
    "namespace": "setD",
    "origin": {
      "!span": "199[12:14]-200[12:15]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/effects.js"
  },
  {
    "name": "Class",
    "addr": "/Class/",
    "kind": "f",
    "type": "void function()",
    "lineno": 1,
    "origin": {
      "!span": "9[0:9]-14[0:14]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/empty_overridden_prop.js"
  },
  {
    "name": "hello",
    "addr": "/hello/",
    "kind": "v",
    "type": "string",
    "lineno": 2,
    "namespace": "Class.prototype",
    "origin": {
      "!span": "36[1:16]-41[1:21]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/empty_overridden_prop.js"
  },
  {
    "name": "c",
    "addr": "/c/",
    "kind": "v",
    "type": "Class",
    "lineno": 4,
    "origin": {
      "!span": "59[3:4]-60[3:5]",
      "!type": "+Class",
      "!data": {
        "isConstructor": false,
        "type": "Class.prototype"
      }
    },
    "tagfile": "__DIR__/empty_overridden_prop.js"
  },
  {
    "name": "hello",
    "addr": "/hello/",
    "kind": "v",
    "lineno": 5,
    "namespace": "c",
    "origin": {
      "!span": "76[4:2]-81[4:7]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": false
      }
    },
    "tagfile": "__DIR__/empty_overridden_prop.js"
  },
  {
    "name": "Foo",
    "addr": "/Foo/",
    "kind": "f",
    "type": "void function(?, ?)",
    "lineno": 1,
    "origin": {
      "!span": "6[0:6]-9[0:9]",
      "!type": "fn(a: ?, ...b: ?)",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/es6-features.js"
  },
  {
    "name": "prototype",
    "addr": "/class Foo \\{/",
    "kind": "v",
    "lineno": 1,
    "namespace": "Foo",
    "origin": {
      "!span": "0[0:0]-158[9:1]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/es6-features.js"
  },
  {
    "name": "method",
    "addr": "/method/",
    "kind": "f",
    "type": "void function()",
    "lineno": 7,
    "namespace": "Foo.prototype",
    "origin": {
      "!span": "79[6:2]-85[6:8]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/es6-features.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "v",
    "type": "string",
    "lineno": 9,
    "namespace": "Foo.prototype",
    "origin": {
      "!span": "122[8:6]-123[8:7]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/es6-features.js"
  },
  {
    "name": "y",
    "addr": "/y/",
    "kind": "v",
    "lineno": 14,
    "origin": {
      "!span": "177[13:6]-178[13:7]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/es6-features.js"
  },
  {
    "name": "func",
    "addr": "/func/",
    "kind": "f",
    "type": "number function()",
    "lineno": 15,
    "namespace": "y",
    "origin": {
      "!span": "185[14:2]-189[14:6]",
      "!type": "fn() -> number",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/es6-features.js"
  },
  {
    "name": "b",
    "addr": "/b/",
    "kind": "v",
    "type": "boolean",
    "lineno": 16,
    "namespace": "y",
    "origin": {
      "!span": "213[15:6]-214[15:7]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/es6-features.js"
  },
  {
    "name": "it",
    "addr": "/it/",
    "kind": "f",
    "type": "!0 function(?)",
    "lineno": 20,
    "origin": {
      "!span": "265[19:4]-267[19:6]",
      "!type": "fn*(n: ?) -> !0",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/es6-features.js"
  },
  {
    "name": "n",
    "addr": "/n/",
    "kind": "v",
    "lineno": 20,
    "namespace": "it",
    "origin": {
      "!span": "280[19:19]-281[19:20]",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": false
      }
    },
    "tagfile": "__DIR__/es6-features.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "number",
    "lineno": 26,
    "origin": {
      "!span": "382[25:5]-383[25:6]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/es6-features.js"
  },
  {
    "name": "b",
    "addr": "/b/",
    "kind": "v",
    "type": "number",
    "lineno": 26,
    "origin": {
      "!span": "385[25:8]-386[25:9]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/es6-features.js"
  },
  {
    "name": "e1",
    "addr": "/e1/",
    "kind": "v",
    "type": "string",
    "lineno": 30,
    "origin": {
      "!span": "433[29:5]-435[29:7]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/es6-features.js"
  },
  {
    "name": "e3",
    "addr": "/e3/",
    "kind": "v",
    "type": "number",
    "lineno": 30,
    "origin": {
      "!span": "437[29:9]-439[29:11]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/es6-features.js"
  },
  {
    "name": "__extends",
    "addr": "/__extends/",
    "kind": "f",
    "type": "void function(fn(arg: bool)",
    "lineno": 3,
    "origin": {
      "!span": "65[2:4]-74[2:13]",
      "!type": "fn(child: fn(arg: bool)|fn(arg: bool), parent: fn()|fn(arg: bool))",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "parent",
    "addr": "/parent/",
    "kind": "f",
    "type": "void function(bool)",
    "lineno": 3,
    "namespace": "__extends",
    "origin": {
      "!span": "93[2:32]-99[2:38]",
      "!type": "fn(arg: bool)",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "child",
    "addr": "/child/",
    "kind": "f",
    "type": "void function(bool)",
    "lineno": 3,
    "namespace": "__extends",
    "origin": {
      "!span": "86[2:25]-91[2:30]",
      "!type": "fn(arg: bool)",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "key",
    "addr": "/key/",
    "kind": "v",
    "lineno": 4,
    "namespace": "__extends",
    "origin": {
      "!span": "114[3:11]-117[3:14]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": false
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "ctor",
    "addr": "/ctor/",
    "kind": "f",
    "type": "void function()",
    "lineno": 5,
    "namespace": "__extends",
    "origin": {
      "!span": "170[4:11]-174[4:15]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "prototype",
    "addr": "/prototype/",
    "kind": "v",
    "lineno": 7,
    "namespace": "SubTwo.prototype.constructor",
    "origin": {
      "!span": "252[6:8]-261[6:17]",
      "!data": {
        "isConstructor": false,
        "type": "Top.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "prototype",
    "addr": "/prototype/",
    "kind": "v",
    "lineno": 7,
    "namespace": "SubEleven",
    "origin": {
      "!span": "252[6:8]-261[6:17]",
      "!data": {
        "isConstructor": false,
        "type": "Top"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "prototype",
    "addr": "/prototype/",
    "kind": "v",
    "lineno": 7,
    "namespace": "SubTwo",
    "origin": {
      "!span": "252[6:8]-261[6:17]",
      "!data": {
        "isConstructor": false,
        "type": "Top.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "prototype",
    "addr": "/prototype/",
    "kind": "v",
    "lineno": 7,
    "namespace": "SubOne",
    "origin": {
      "!span": "252[6:8]-261[6:17]",
      "!data": {
        "isConstructor": false,
        "type": "Top.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "prototype",
    "addr": "/prototype/",
    "kind": "v",
    "lineno": 7,
    "namespace": "SubEleven.prototype.constructor",
    "origin": {
      "!span": "252[6:8]-261[6:17]",
      "!data": {
        "isConstructor": false,
        "type": "Top"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "prototype",
    "addr": "/prototype/",
    "kind": "v",
    "lineno": 7,
    "namespace": "SubOne.prototype.constructor",
    "origin": {
      "!span": "252[6:8]-261[6:17]",
      "!data": {
        "isConstructor": false,
        "type": "Top.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "Top",
    "addr": "/Top/",
    "kind": "f",
    "type": "void function()",
    "lineno": 10,
    "origin": {
      "!span": "284[9:4]-287[9:7]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "topMethod",
    "addr": "/topMethod/",
    "kind": "f",
    "type": "string function()",
    "lineno": 12,
    "namespace": "Top.prototype",
    "origin": {
      "!span": "340[11:16]-349[11:25]",
      "!type": "fn() -> string",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "topStatic",
    "addr": "/topStatic/",
    "kind": "v",
    "type": "number",
    "lineno": 13,
    "namespace": "Top",
    "origin": {
      "!span": "386[12:6]-395[12:15]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "SubOne",
    "addr": "/SubOne/",
    "kind": "f",
    "type": "void function(bool)",
    "lineno": 17,
    "origin": {
      "!span": "427[16:4]-433[16:10]",
      "!type": "fn(arg: bool)",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "constructor",
    "addr": "/SubOne/",
    "kind": "f",
    "type": "void function(bool)",
    "lineno": 17,
    "namespace": "SubOne.prototype",
    "origin": {
      "!span": "427[16:4]-433[16:10]",
      "!type": "fn(arg: bool)",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "arg",
    "addr": "/arg/",
    "kind": "v",
    "type": "boolean",
    "lineno": 18,
    "namespace": "SubOne",
    "origin": {
      "!span": "474[17:18]-477[17:21]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "argOne",
    "addr": "/argOne/",
    "kind": "v",
    "type": "boolean",
    "lineno": 18,
    "namespace": "SubEleven",
    "origin": {
      "!span": "486[17:30]-492[17:36]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "argOne",
    "addr": "/argOne/",
    "kind": "v",
    "type": "boolean",
    "lineno": 18,
    "namespace": "SubOne",
    "origin": {
      "!span": "486[17:30]-492[17:36]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "arg",
    "addr": "/arg/",
    "kind": "v",
    "type": "boolean",
    "lineno": 18,
    "namespace": "SubOne.prototype.constructor",
    "origin": {
      "!span": "474[17:18]-477[17:21]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "argOne",
    "addr": "/argOne/",
    "kind": "v",
    "type": "boolean",
    "lineno": 18,
    "namespace": "SubEleven.prototype.constructor",
    "origin": {
      "!span": "486[17:30]-492[17:36]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "argOne",
    "addr": "/argOne/",
    "kind": "v",
    "type": "boolean",
    "lineno": 18,
    "namespace": "SubOne.prototype.constructor",
    "origin": {
      "!span": "486[17:30]-492[17:36]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "methodOne",
    "addr": "/methodOne/",
    "kind": "f",
    "type": "number function()",
    "lineno": 20,
    "namespace": "SubOne.prototype",
    "origin": {
      "!span": "550[19:19]-559[19:28]",
      "!type": "fn() -> number",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "methodOne",
    "addr": "/methodOne/",
    "kind": "f",
    "type": "number function()",
    "lineno": 20,
    "namespace": "SubOne.prototype.constructor.prototype",
    "origin": {
      "!span": "550[19:19]-559[19:28]",
      "!type": "fn() -> number",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "SubTwo",
    "addr": "/SubTwo/",
    "kind": "f",
    "type": "void function(bool)",
    "lineno": 24,
    "origin": {
      "!span": "618[23:4]-624[23:10]",
      "!type": "fn(arg: bool)",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "topStatic",
    "kind": "v",
    "type": "number",
    "namespace": "SubEleven",
    "origin": {
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "topStatic",
    "kind": "v",
    "type": "number",
    "namespace": "SubTwo.prototype.constructor",
    "origin": {
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "topStatic",
    "kind": "v",
    "type": "number",
    "namespace": "SubOne",
    "origin": {
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "topStatic",
    "kind": "v",
    "type": "number",
    "namespace": "SubEleven.prototype.constructor",
    "origin": {
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "topStatic",
    "kind": "v",
    "type": "number",
    "namespace": "SubTwo",
    "origin": {
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "constructor",
    "addr": "/SubTwo/",
    "kind": "f",
    "type": "void function(bool)",
    "lineno": 24,
    "namespace": "SubTwo.prototype",
    "origin": {
      "!span": "618[23:4]-624[23:10]",
      "!type": "fn(arg: bool)",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "topStatic",
    "kind": "v",
    "type": "number",
    "namespace": "SubOne.prototype.constructor",
    "origin": {
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "argTwo",
    "addr": "/argTwo/",
    "kind": "v",
    "type": "boolean",
    "lineno": 25,
    "namespace": "SubTwo.prototype.constructor",
    "origin": {
      "!span": "677[24:30]-683[24:36]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "argTwo",
    "addr": "/argTwo/",
    "kind": "v",
    "type": "boolean",
    "lineno": 25,
    "namespace": "SubTwo",
    "origin": {
      "!span": "677[24:30]-683[24:36]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "arg",
    "addr": "/arg/",
    "kind": "v",
    "type": "boolean",
    "lineno": 25,
    "namespace": "SubTwo.prototype.constructor",
    "origin": {
      "!span": "665[24:18]-668[24:21]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "arg",
    "addr": "/arg/",
    "kind": "v",
    "type": "boolean",
    "lineno": 25,
    "namespace": "SubTwo",
    "origin": {
      "!span": "665[24:18]-668[24:21]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "methodTwo",
    "addr": "/methodTwo/",
    "kind": "f",
    "type": "void function()",
    "lineno": 27,
    "namespace": "SubTwo.prototype",
    "origin": {
      "!span": "741[26:19]-750[26:28]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "methodTwo",
    "addr": "/methodTwo/",
    "kind": "f",
    "type": "void function()",
    "lineno": 27,
    "namespace": "SubTwo.prototype.constructor.prototype",
    "origin": {
      "!span": "741[26:19]-750[26:28]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "SubEleven",
    "addr": "/SubEleven/",
    "kind": "f",
    "type": "void function(bool)",
    "lineno": 31,
    "origin": {
      "!span": "811[30:4]-820[30:13]",
      "!type": "fn(arg: bool)",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "constructor",
    "addr": "/SubEleven/",
    "kind": "f",
    "type": "void function(bool)",
    "lineno": 31,
    "namespace": "SubEleven.prototype",
    "origin": {
      "!span": "811[30:4]-820[30:13]",
      "!type": "fn(arg: bool)",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "arg",
    "addr": "/arg/",
    "kind": "v",
    "type": "boolean",
    "lineno": 32,
    "namespace": "SubEleven.prototype.constructor",
    "origin": {
      "!span": "864[31:21]-867[31:24]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "arg",
    "addr": "/arg/",
    "kind": "v",
    "type": "boolean",
    "lineno": 32,
    "namespace": "SubEleven",
    "origin": {
      "!span": "864[31:21]-867[31:24]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "methodEleven",
    "addr": "/methodEleven/",
    "kind": "f",
    "type": "string function()",
    "lineno": 34,
    "namespace": "SubEleven.prototype.constructor.prototype",
    "origin": {
      "!span": "951[33:22]-963[33:34]",
      "!type": "fn() -> string",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "methodEleven",
    "addr": "/methodEleven/",
    "kind": "f",
    "type": "string function()",
    "lineno": 34,
    "namespace": "SubEleven.prototype",
    "origin": {
      "!span": "951[33:22]-963[33:34]",
      "!type": "fn() -> string",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "one",
    "addr": "/one/",
    "kind": "v",
    "type": "SubOne",
    "lineno": 38,
    "origin": {
      "!span": "1047[37:19]-1050[37:22]",
      "!type": "+SubOne",
      "!data": {
        "isConstructor": false,
        "type": "Top"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "two",
    "addr": "/two/",
    "kind": "v",
    "type": "SubTwo",
    "lineno": 38,
    "origin": {
      "!span": "1071[37:43]-1074[37:46]",
      "!type": "+SubTwo",
      "!data": {
        "isConstructor": false,
        "type": "Top"
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "elf",
    "addr": "/elf/",
    "kind": "v",
    "type": "SubEleven",
    "lineno": 38,
    "origin": {
      "!span": "1096[37:68]-1099[37:71]",
      "!type": "+SubEleven",
      "!data": {
        "isConstructor": false
      }
    },
    "tagfile": "__DIR__/extends.js"
  },
  {
    "name": "blah",
    "addr": "/blah/",
    "kind": "f",
    "type": "void function()",
    "lineno": 1,
    "origin": {
      "!span": "9[0:9]-13[0:13]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/finddef.js"
  },
  {
    "name": "jaja",
    "addr": "/jaja/",
    "kind": "v",
    "type": "number",
    "lineno": 3,
    "origin": {
      "!span": "24[2:4]-28[2:8]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/finddef.js"
  },
  {
    "name": "obj",
    "addr": "/obj/",
    "kind": "v",
    "lineno": 5,
    "origin": {
      "!span": "40[4:4]-43[4:7]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/finddef.js"
  },
  {
    "name": "prop1",
    "addr": "/prop1/",
    "kind": "v",
    "type": "number",
    "lineno": 6,
    "namespace": "obj",
    "origin": {
      "!span": "50[5:2]-55[5:7]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/finddef.js"
  },
  {
    "name": "prop2",
    "addr": "/prop2/",
    "kind": "f",
    "type": "void function(?)",
    "lineno": 7,
    "namespace": "obj",
    "origin": {
      "!span": "63[6:2]-68[6:7]",
      "!type": "fn(foo: ?)",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/finddef.js"
  },
  {
    "name": "foo",
    "addr": "/foo/",
    "kind": "v",
    "lineno": 7,
    "namespace": "obj.prop2",
    "origin": {
      "!span": "79[6:18]-82[6:21]",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": false
      }
    },
    "tagfile": "__DIR__/finddef.js"
  },
  {
    "name": "prop3",
    "addr": "/prop3/",
    "kind": "v",
    "type": "string",
    "lineno": 10,
    "namespace": "obj",
    "origin": {
      "!span": "95[9:4]-100[9:9]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/finddef.js"
  },
  {
    "name": "hide",
    "addr": "/hide/",
    "kind": "f",
    "type": "void function(?) function()",
    "lineno": 19,
    "origin": {
      "!span": "243[18:9]-247[18:13]",
      "!type": "fn() -> fn(foo: ?)",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/finddef.js"
  },
  {
    "name": "another",
    "addr": "/another/",
    "kind": "f",
    "type": "void function(?)",
    "lineno": 23,
    "origin": {
      "!span": "303[22:9]-310[22:16]",
      "!type": "fn(arg: ?)",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/finddef.js"
  },
  {
    "name": "arg",
    "addr": "/arg/",
    "kind": "v",
    "lineno": 23,
    "namespace": "another",
    "origin": {
      "!span": "311[22:17]-314[22:20]",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": false
      }
    },
    "tagfile": "__DIR__/finddef.js"
  },
  {
    "name": "local",
    "addr": "/local/",
    "kind": "v",
    "type": "number",
    "lineno": 24,
    "namespace": "another",
    "origin": {
      "!span": "324[23:6]-329[23:11]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/finddef.js"
  },
  {
    "name": "foo",
    "addr": "/foo/",
    "kind": "f",
    "type": "void function()",
    "lineno": 29,
    "origin": {
      "!span": "383[28:6]-386[28:9]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/finddef.js"
  },
  {
    "name": "prototype",
    "addr": "/class foo \\{/",
    "kind": "v",
    "lineno": 29,
    "namespace": "foo",
    "origin": {
      "!span": "377[28:0]-417[31:1]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/finddef.js"
  },
  {
    "name": "bar",
    "addr": "/bar/",
    "kind": "f",
    "type": "void function()",
    "lineno": 30,
    "namespace": "foo.prototype",
    "origin": {
      "!span": "391[29:2]-394[29:5]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/finddef.js"
  },
  {
    "name": "fooObj",
    "addr": "/fooObj/",
    "kind": "v",
    "type": "foo",
    "lineno": 34,
    "origin": {
      "!span": "423[33:4]-429[33:10]",
      "!type": "+foo",
      "!data": {
        "isConstructor": false,
        "type": "foo.prototype"
      }
    },
    "tagfile": "__DIR__/finddef.js"
  },
  {
    "name": "hello",
    "addr": "/hello/",
    "kind": "f",
    "type": "void function(?, ?)",
    "lineno": 1,
    "origin": {
      "!span": "9[0:9]-14[0:14]",
      "!type": "fn(a: ?, b: ?)",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/findref.js"
  },
  {
    "name": "b",
    "addr": "/b/",
    "kind": "v",
    "lineno": 1,
    "namespace": "hello",
    "origin": {
      "!span": "18[0:18]-19[0:19]",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": false
      }
    },
    "tagfile": "__DIR__/findref.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "lineno": 1,
    "namespace": "hello",
    "origin": {
      "!span": "15[0:15]-16[0:16]",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": false
      }
    },
    "tagfile": "__DIR__/findref.js"
  },
  {
    "name": "c",
    "addr": "/c/",
    "kind": "v",
    "lineno": 2,
    "namespace": "hello",
    "origin": {
      "!span": "29[1:6]-30[1:7]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": false
      }
    },
    "tagfile": "__DIR__/findref.js"
  },
  {
    "name": "obj",
    "addr": "/obj/",
    "kind": "v",
    "lineno": 10,
    "origin": {
      "!span": "148[9:4]-151[9:7]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/findref.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "v",
    "type": "number",
    "lineno": 11,
    "namespace": "obj",
    "origin": {
      "!span": "158[10:2]-159[10:3]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/findref.js"
  },
  {
    "name": "y",
    "addr": "/y/",
    "kind": "v",
    "type": "number",
    "lineno": 13,
    "namespace": "obj",
    "origin": {
      "!span": "194[12:2]-195[12:3]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/findref.js"
  },
  {
    "name": "z",
    "addr": "/z/",
    "kind": "v",
    "type": "string",
    "lineno": 17,
    "namespace": "obj",
    "origin": {
      "!span": "220[16:4]-221[16:5]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/findref.js"
  },
  {
    "name": "foo",
    "addr": "/foo/",
    "kind": "f",
    "type": "void function()",
    "lineno": 22,
    "origin": {
      "!span": "270[21:6]-273[21:9]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/findref.js"
  },
  {
    "name": "prototype",
    "addr": "/class foo \\{/",
    "kind": "v",
    "lineno": 22,
    "namespace": "foo",
    "origin": {
      "!span": "264[21:0]-360[28:1]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/findref.js"
  },
  {
    "name": "methodA",
    "addr": "/methodA/",
    "kind": "f",
    "type": "void function()",
    "lineno": 24,
    "namespace": "foo.prototype",
    "origin": {
      "!span": "279[23:2]-286[23:9]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/findref.js"
  },
  {
    "name": "methodB",
    "addr": "/methodB/",
    "kind": "f",
    "type": "void function()",
    "lineno": 27,
    "namespace": "foo.prototype",
    "origin": {
      "!span": "323[26:2]-330[26:9]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/findref.js"
  },
  {
    "name": "bar",
    "addr": "/bar/",
    "kind": "f",
    "type": "void function()",
    "lineno": 31,
    "origin": {
      "!span": "368[30:6]-371[30:9]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/findref.js"
  },
  {
    "name": "prototype",
    "addr": "/class bar extends foo \\{/",
    "kind": "v",
    "lineno": 31,
    "namespace": "bar",
    "origin": {
      "!span": "362[30:0]-426[35:1]",
      "!data": {
        "isConstructor": false,
        "type": "foo.prototype"
      }
    },
    "tagfile": "__DIR__/findref.js"
  },
  {
    "name": "methodB",
    "addr": "/methodB/",
    "kind": "f",
    "type": "void function()",
    "lineno": 33,
    "namespace": "bar.prototype",
    "origin": {
      "!span": "389[32:2]-396[32:9]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/findref.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "foo",
    "lineno": 38,
    "origin": {
      "!span": "432[37:4]-433[37:5]",
      "!type": "+foo",
      "!data": {
        "isConstructor": false,
        "type": "foo.prototype"
      }
    },
    "tagfile": "__DIR__/findref.js"
  },
  {
    "name": "b",
    "addr": "/b/",
    "kind": "v",
    "type": "bar",
    "lineno": 39,
    "origin": {
      "!span": "451[38:4]-452[38:5]",
      "!type": "+bar",
      "!data": {
        "isConstructor": false,
        "type": "bar.prototype"
      }
    },
    "tagfile": "__DIR__/findref.js"
  },
  {
    "name": "abc",
    "addr": "/abc/",
    "kind": "f",
    "type": "number function()",
    "lineno": 1,
    "origin": {
      "!span": "9[0:9]-12[0:12]",
      "!type": "fn() -> number",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/fn_arguments.js"
  },
  {
    "name": "arguments",
    "addr": "/function abc\\(\\) \\{/",
    "kind": "v",
    "type": "[number]",
    "lineno": 1,
    "namespace": "abc",
    "origin": {
      "!span": "0[0:0]-41[2:1]",
      "!type": "[number]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/fn_arguments.js"
  },
  {
    "name": "myIter",
    "addr": "/myIter/",
    "kind": "v",
    "lineno": 1,
    "origin": {
      "!span": "4[0:4]-10[0:10]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/for_of.js"
  },
  {
    "name": "iterator",
    "addr": "/Symbol\\.iterator/",
    "kind": "f",
    "type": "myIter.:Symbol.iterator.!ret function()",
    "lineno": 2,
    "namespace": "myIter.:Symbol",
    "origin": {
      "!span": "18[1:3]-33[1:18]",
      "!type": "fn() -> myIter.:Symbol.iterator.!ret",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/for_of.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "number",
    "lineno": 5,
    "namespace": "hello",
    "origin": {
      "!span": "91[4:24]-92[4:25]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/for_of.js"
  },
  {
    "name": "b",
    "addr": "/b/",
    "kind": "v",
    "type": "boolean",
    "lineno": 5,
    "namespace": "hello",
    "origin": {
      "!span": "97[4:30]-98[4:31]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/for_of.js"
  },
  {
    "name": "hello",
    "addr": "/hello/",
    "kind": "v",
    "lineno": 11,
    "origin": {
      "!span": "150[10:9]-155[10:14]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/for_of.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "number",
    "lineno": 15,
    "origin": {
      "!span": "216[14:10]-217[14:11]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/for_of.js"
  },
  {
    "name": "b",
    "addr": "/b/",
    "kind": "v",
    "type": "boolean",
    "lineno": 15,
    "origin": {
      "!span": "219[14:13]-220[14:14]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/for_of.js"
  },
  {
    "name": "foo",
    "addr": "/foo/",
    "kind": "f",
    "type": "number function()",
    "lineno": 1,
    "origin": {
      "!span": "10[0:10]-13[0:13]",
      "!type": "fn*() -> number",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/generator.js"
  },
  {
    "name": "index",
    "addr": "/index/",
    "kind": "v",
    "type": "number",
    "lineno": 2,
    "namespace": "foo",
    "origin": {
      "!span": "24[1:6]-29[1:11]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/generator.js"
  },
  {
    "name": "out",
    "addr": "/out/",
    "kind": "v",
    "type": "string",
    "lineno": 2,
    "namespace": "foo",
    "origin": {
      "!span": "35[1:17]-38[1:20]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/generator.js"
  },
  {
    "name": "it",
    "addr": "/it/",
    "kind": "v",
    "lineno": 8,
    "origin": {
      "!span": "108[7:4]-110[7:6]",
      "!data": {
        "isConstructor": false,
        "type": "generator_prototype"
      }
    },
    "tagfile": "__DIR__/generator.js"
  },
  {
    "name": "next",
    "kind": "f",
    "type": "it.next.!ret function()",
    "namespace": "it",
    "origin": {
      "!type": "fn(string) -> it.next.!ret",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/generator.js"
  },
  {
    "name": "g1",
    "addr": "/g1/",
    "kind": "f",
    "type": "boolean function()",
    "lineno": 11,
    "origin": {
      "!span": "177[10:10]-179[10:12]",
      "!type": "fn*() -> bool",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/generator.js"
  },
  {
    "name": "g2",
    "addr": "/g2/",
    "kind": "f",
    "type": "boolean function()",
    "lineno": 12,
    "origin": {
      "!span": "207[11:10]-209[11:12]",
      "!type": "fn*() -> bool",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/generator.js"
  },
  {
    "name": "each",
    "addr": "/each/",
    "kind": "f",
    "type": "void function(Array[number]|[each.!0.<i>], fn(n: number)",
    "lineno": 2,
    "origin": {
      "!span": "44[1:4]-48[1:8]",
      "!type": "fn(obj: [number]|[each.!0.<i>], iterator: fn(n: number)|fn(o: each.!0.<i>), context: ?)",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/generic_each.js"
  },
  {
    "name": "context",
    "addr": "/context/",
    "kind": "v",
    "type": "string",
    "lineno": 2,
    "namespace": "each",
    "origin": {
      "!span": "75[1:35]-82[1:42]",
      "!type": "+String",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/generic_each.js"
  },
  {
    "name": "iterator",
    "addr": "/iterator/",
    "kind": "f",
    "type": "void function(each.!0.<i>)",
    "lineno": 2,
    "namespace": "each",
    "origin": {
      "!span": "65[1:25]-73[1:33]",
      "!type": "fn(o: each.!0.<i>)",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/generic_each.js"
  },
  {
    "name": "obj",
    "addr": "/obj/",
    "kind": "v",
    "type": "[each.!0.<i>]",
    "lineno": 2,
    "namespace": "each",
    "origin": {
      "!span": "60[1:20]-63[1:23]",
      "!type": "[each.!0.<i>]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/generic_each.js"
  },
  {
    "name": "i",
    "addr": "/i/",
    "kind": "v",
    "type": "number",
    "lineno": 7,
    "namespace": "each",
    "origin": {
      "!span": "281[6:13]-282[6:14]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/generic_each.js"
  },
  {
    "name": "l",
    "addr": "/l/",
    "kind": "v",
    "type": "number",
    "lineno": 7,
    "namespace": "each",
    "origin": {
      "!span": "288[6:20]-289[6:21]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/generic_each.js"
  },
  {
    "name": "obj",
    "addr": "/obj/",
    "kind": "v",
    "lineno": 1,
    "origin": {
      "!span": "4[0:4]-7[0:7]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/getter.js"
  },
  {
    "name": "foo",
    "addr": "/foo/",
    "kind": "v",
    "type": "string",
    "lineno": 3,
    "namespace": "obj",
    "origin": {
      "!span": "35[2:6]-38[2:9]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/getter.js"
  },
  {
    "name": "foo",
    "addr": "/foo/",
    "kind": "v",
    "type": "number",
    "lineno": 1,
    "origin": {
      "!span": "4[0:4]-7[0:7]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/global_this.js"
  },
  {
    "name": "poison",
    "addr": "/poison/",
    "kind": "v",
    "lineno": 1,
    "origin": {
      "!span": "4[0:4]-10[0:10]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "focus",
    "addr": "/focus/",
    "kind": "v",
    "type": "number",
    "lineno": 1,
    "namespace": "poison",
    "origin": {
      "!span": "14[0:14]-19[0:19]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "nothing",
    "addr": "/nothing/",
    "kind": "v",
    "type": "number",
    "lineno": 1,
    "namespace": "poison",
    "origin": {
      "!span": "33[0:33]-40[0:40]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "blah",
    "addr": "/blah/",
    "kind": "v",
    "type": "number",
    "lineno": 1,
    "namespace": "poison",
    "origin": {
      "!span": "24[0:24]-28[0:28]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "name",
    "addr": "/name/",
    "kind": "v",
    "type": "string",
    "lineno": 3,
    "namespace": "person",
    "origin": {
      "!span": "61[2:14]-65[2:18]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "person",
    "addr": "/person/",
    "kind": "v",
    "lineno": 3,
    "origin": {
      "!span": "51[2:4]-57[2:10]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "born",
    "addr": "/born/",
    "kind": "v",
    "type": "number",
    "lineno": 3,
    "namespace": "age.person",
    "origin": {
      "!span": "76[2:29]-80[2:33]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "name",
    "addr": "/name/",
    "kind": "v",
    "type": "string",
    "lineno": 3,
    "namespace": "age.person",
    "origin": {
      "!span": "61[2:14]-65[2:18]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "born",
    "addr": "/born/",
    "kind": "v",
    "type": "number",
    "lineno": 3,
    "namespace": "person",
    "origin": {
      "!span": "76[2:29]-80[2:33]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "age",
    "addr": "/age/",
    "kind": "f",
    "type": "number function(?)",
    "lineno": 5,
    "origin": {
      "!span": "99[4:9]-102[4:12]",
      "!type": "fn(person: ?) -> number",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "person",
    "addr": "/person/",
    "kind": "v",
    "lineno": 5,
    "namespace": "age",
    "origin": {
      "!span": "103[4:13]-109[4:19]",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "persons",
    "addr": "/persons/",
    "kind": "v",
    "type": "[person, person]|[ages.!0.<i>]",
    "lineno": 6,
    "namespace": "ages",
    "origin": {
      "!span": "155[5:14]-162[5:21]",
      "!type": "[person, person]|[ages.!0.<i>]",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "ages",
    "addr": "/ages/",
    "kind": "f",
    "type": "[number] function(Array[person)",
    "lineno": 6,
    "origin": {
      "!span": "150[5:9]-154[5:13]",
      "!type": "fn(persons: [person, person]|[ages.!0.<i>]) -> [number]",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "n",
    "addr": "/n/",
    "kind": "v",
    "lineno": 11,
    "namespace": "age.person",
    "origin": {
      "!span": "235[10:5]-236[10:6]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": false
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "b",
    "addr": "/b/",
    "kind": "v",
    "lineno": 13,
    "namespace": "age.person",
    "origin": {
      "!span": "254[12:7]-255[12:8]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": false
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "example",
    "addr": "/example/",
    "kind": "v",
    "lineno": 15,
    "origin": {
      "!span": "270[14:4]-277[14:11]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "foo",
    "addr": "/foo/",
    "kind": "v",
    "type": "number",
    "lineno": 17,
    "namespace": "example",
    "origin": {
      "!span": "297[16:2]-300[16:5]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "food",
    "addr": "/food/",
    "kind": "v",
    "type": "number",
    "lineno": 19,
    "namespace": "example",
    "origin": {
      "!span": "322[18:2]-326[18:6]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "bar",
    "addr": "/bar/",
    "kind": "v",
    "type": "boolean",
    "lineno": 21,
    "namespace": "example",
    "origin": {
      "!span": "347[20:2]-350[20:5]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "takes",
    "addr": "/takes/",
    "kind": "f",
    "type": "!0 function(?)",
    "lineno": 24,
    "origin": {
      "!span": "370[23:9]-375[23:14]",
      "!type": "fn(example: ?) -> !0",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "example",
    "addr": "/example/",
    "kind": "v",
    "lineno": 24,
    "namespace": "takes",
    "origin": {
      "!span": "376[23:15]-383[23:22]",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "fo",
    "addr": "/fo/",
    "kind": "v",
    "lineno": 28,
    "namespace": "takes.example",
    "origin": {
      "!span": "432[27:2]-434[27:4]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": false
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "food",
    "addr": "/food/",
    "kind": "v",
    "lineno": 34,
    "namespace": "takes.example",
    "origin": {
      "!span": "583[33:2]-587[33:6]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": false
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "_1",
    "addr": "/_1/",
    "kind": "v",
    "type": "string",
    "lineno": 40,
    "namespace": "takes.example",
    "origin": {
      "!span": "739[39:2]-741[39:4]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "noise",
    "addr": "/noise/",
    "kind": "v",
    "type": "number",
    "lineno": 41,
    "namespace": "takes.example",
    "origin": {
      "!span": "845[40:2]-850[40:7]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "b",
    "addr": "/b/",
    "kind": "v",
    "lineno": 42,
    "namespace": "takes.example",
    "origin": {
      "!span": "858[41:2]-859[41:3]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": false
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "_2",
    "addr": "/_2/",
    "kind": "v",
    "type": "string",
    "lineno": 43,
    "namespace": "takes.example",
    "origin": {
      "!span": "870[42:2]-872[42:4]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "bar",
    "addr": "/bar/",
    "kind": "v",
    "lineno": 47,
    "namespace": "takes.example",
    "origin": {
      "!span": "988[46:2]-991[46:5]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": false
      }
    },
    "tagfile": "__DIR__/hint-objlit.js"
  },
  {
    "name": "newElt",
    "addr": "/newElt/",
    "kind": "v",
    "type": "Element",
    "lineno": 5,
    "origin": {
      "!span": "201[4:4]-207[4:10]",
      "!type": "+Element",
      "!data": {
        "isConstructor": false,
        "type": "Element.prototype"
      }
    },
    "tagfile": "__DIR__/hint_browser.js"
  },
  {
    "name": "e_which",
    "addr": "/e_which/",
    "kind": "v",
    "lineno": 8,
    "origin": {
      "!span": "296[7:4]-303[7:11]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": false
      }
    },
    "tagfile": "__DIR__/hint_browser.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "v",
    "type": "number",
    "lineno": 3,
    "origin": {
      "!span": "21[2:4]-22[2:5]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "y",
    "addr": "/a/",
    "kind": "v",
    "type": "[number]",
    "lineno": 8,
    "origin": {
      "!span": "129[7:4]-130[7:5]",
      "!type": "[number]",
      "!data": {
        "isConstructor": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "[number]",
    "lineno": 8,
    "origin": {
      "!span": "129[7:4]-130[7:5]",
      "!type": "[number]",
      "!data": {
        "isConstructor": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "prop2",
    "kind": "v",
    "type": "number",
    "namespace": "extend",
    "origin": {
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "prop1",
    "kind": "v",
    "type": "string",
    "namespace": "extend",
    "origin": {
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "y",
    "addr": "/y/",
    "kind": "v",
    "type": "[number]",
    "lineno": 11,
    "origin": {
      "!span": "206[10:4]-207[10:5]",
      "!type": "[number]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "z",
    "addr": "/z/",
    "kind": "v",
    "type": "number",
    "lineno": 14,
    "origin": {
      "!span": "283[13:4]-284[13:5]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "n",
    "addr": "/n/",
    "kind": "v",
    "type": "number",
    "lineno": 17,
    "origin": {
      "!span": "398[16:4]-399[16:5]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "m",
    "addr": "/m/",
    "kind": "v",
    "type": "number",
    "lineno": 20,
    "origin": {
      "!span": "486[19:4]-487[19:5]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "k",
    "addr": "/k/",
    "kind": "v",
    "type": "number",
    "lineno": 23,
    "origin": {
      "!span": "558[22:4]-559[22:5]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "l",
    "addr": "/l/",
    "kind": "v",
    "type": "number",
    "lineno": 26,
    "origin": {
      "!span": "623[25:4]-624[25:5]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "a2",
    "addr": "/a2/",
    "kind": "v",
    "type": "number",
    "lineno": 29,
    "origin": {
      "!span": "734[28:4]-736[28:6]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "a3",
    "addr": "/a3/",
    "kind": "v",
    "type": "number",
    "lineno": 32,
    "origin": {
      "!span": "813[31:4]-815[31:6]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "a4",
    "addr": "/a4/",
    "kind": "v",
    "type": "number",
    "lineno": 35,
    "origin": {
      "!span": "896[34:4]-898[34:6]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "a5",
    "addr": "/a5/",
    "kind": "v",
    "type": "number",
    "lineno": 38,
    "origin": {
      "!span": "974[37:4]-976[37:6]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "b1",
    "addr": "/b1/",
    "kind": "v",
    "type": "number",
    "lineno": 41,
    "origin": {
      "!span": "1057[40:4]-1059[40:6]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "reg",
    "addr": "/reg/",
    "kind": "v",
    "type": "regexp",
    "lineno": 51,
    "origin": {
      "!span": "1324[50:4]-1327[50:7]",
      "!type": "+RegExp",
      "!data": {
        "isConstructor": false,
        "type": "RegExp.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "pattern1",
    "addr": "/pattern1/",
    "kind": "v",
    "type": "regexp",
    "lineno": 54,
    "origin": {
      "!span": "1394[53:4]-1402[53:12]",
      "!type": "+RegExp",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "RegExp.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "car",
    "addr": "/car/",
    "kind": "v",
    "type": "string",
    "lineno": 69,
    "origin": {
      "!span": "1646[68:4]-1649[68:7]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "s1",
    "addr": "/s1/",
    "kind": "v",
    "type": "string",
    "lineno": 72,
    "origin": {
      "!span": "1711[71:4]-1713[71:6]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "s2",
    "addr": "/s2/",
    "kind": "v",
    "type": "string",
    "lineno": 75,
    "origin": {
      "!span": "1775[74:4]-1777[74:6]",
      "!type": "+String",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "s3",
    "addr": "/s3/",
    "kind": "v",
    "type": "string",
    "lineno": 78,
    "origin": {
      "!span": "1876[77:4]-1878[77:6]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "s4",
    "addr": "/s4/",
    "kind": "v",
    "type": "string",
    "lineno": 81,
    "origin": {
      "!span": "1919[80:4]-1921[80:6]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "person",
    "addr": "/person/",
    "kind": "v",
    "lineno": 86,
    "origin": {
      "!span": "2028[85:4]-2034[85:10]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "firstname",
    "addr": "/firstname/",
    "kind": "v",
    "type": "string",
    "lineno": 87,
    "namespace": "person",
    "origin": {
      "!span": "2058[86:7]-2067[86:16]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "lastname",
    "addr": "/lastname/",
    "kind": "v",
    "type": "string",
    "lineno": 88,
    "namespace": "person",
    "origin": {
      "!span": "2085[87:7]-2093[87:15]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "age",
    "addr": "/age/",
    "kind": "v",
    "type": "number",
    "lineno": 89,
    "namespace": "person",
    "origin": {
      "!span": "2110[88:7]-2113[88:10]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "eyecolor",
    "addr": "/eyecolor/",
    "kind": "v",
    "type": "string",
    "lineno": 90,
    "namespace": "person",
    "origin": {
      "!span": "2127[89:7]-2135[89:15]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "eyecolor",
    "addr": "/eyecolor/",
    "kind": "v",
    "type": "string",
    "lineno": 95,
    "namespace": "personType",
    "origin": {
      "!span": "2355[94:46]-2363[94:54]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype",
        "scoped": true,
        "isArg": true
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "age",
    "addr": "/age/",
    "kind": "v",
    "type": "number",
    "lineno": 95,
    "namespace": "personType",
    "origin": {
      "!span": "2350[94:41]-2353[94:44]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype",
        "scoped": true,
        "isArg": true
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "firstname",
    "addr": "/firstname/",
    "kind": "v",
    "type": "string",
    "lineno": 95,
    "namespace": "personType",
    "origin": {
      "!span": "2329[94:20]-2338[94:29]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype",
        "scoped": true,
        "isArg": true
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "personType",
    "addr": "/personType/",
    "kind": "f",
    "type": "void function(string, string, number, string)",
    "lineno": 95,
    "origin": {
      "!span": "2318[94:9]-2328[94:19]",
      "!type": "fn(firstname: string, lastname: string, age: number, eyecolor: string)",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "lastname",
    "addr": "/lastname/",
    "kind": "v",
    "type": "string",
    "lineno": 95,
    "namespace": "personType",
    "origin": {
      "!span": "2340[94:31]-2348[94:39]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype",
        "scoped": true,
        "isArg": true
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "firstname",
    "addr": "/firstname/",
    "kind": "v",
    "type": "string",
    "lineno": 96,
    "namespace": "friend",
    "origin": {
      "!span": "2374[95:7]-2383[95:16]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "lastname",
    "addr": "/lastname/",
    "kind": "v",
    "type": "string",
    "lineno": 97,
    "namespace": "friend",
    "origin": {
      "!span": "2404[96:7]-2412[96:15]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "age",
    "addr": "/age/",
    "kind": "v",
    "type": "number",
    "lineno": 98,
    "namespace": "friend",
    "origin": {
      "!span": "2432[97:7]-2435[97:10]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "eyecolor",
    "addr": "/eyecolor/",
    "kind": "v",
    "type": "string",
    "lineno": 99,
    "namespace": "friend",
    "origin": {
      "!span": "2450[98:7]-2458[98:15]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "changeName",
    "addr": "/changeName/",
    "kind": "f",
    "type": "!this.lastname function(?)",
    "lineno": 100,
    "namespace": "personType",
    "origin": {
      "!span": "2478[99:7]-2488[99:17]",
      "!type": "fn(name: ?) -> !this.lastname",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "name",
    "addr": "/name/",
    "kind": "v",
    "lineno": 104,
    "namespace": "personType.changeName",
    "origin": {
      "!span": "2644[103:22]-2648[103:26]",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": false
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "friend",
    "addr": "/friend/",
    "kind": "v",
    "type": "personType",
    "lineno": 110,
    "origin": {
      "!span": "2715[109:4]-2721[109:10]",
      "!type": "+personType",
      "!data": {
        "isConstructor": false,
        "type": "personType.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "bar",
    "addr": "/bar/",
    "kind": "v",
    "type": "number",
    "lineno": 119,
    "namespace": "base",
    "origin": {
      "!span": "3069[118:21]-3072[118:24]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "foo2",
    "addr": "/foo2/",
    "kind": "v",
    "lineno": 119,
    "namespace": "base",
    "origin": {
      "!span": "3078[118:30]-3082[118:34]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "number",
    "lineno": 119,
    "namespace": "base.foo2",
    "origin": {
      "!span": "3086[118:38]-3087[118:39]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "foo",
    "addr": "/foo/",
    "kind": "v",
    "type": "number",
    "lineno": 119,
    "namespace": "base",
    "origin": {
      "!span": "3060[118:12]-3063[118:15]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "b",
    "addr": "/b/",
    "kind": "v",
    "type": "string",
    "lineno": 119,
    "namespace": "base.foo2",
    "origin": {
      "!span": "3093[118:45]-3094[118:46]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "base",
    "addr": "/base/",
    "kind": "v",
    "lineno": 119,
    "origin": {
      "!span": "3052[118:4]-3056[118:8]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "baz",
    "addr": "/baz/",
    "kind": "v",
    "type": "number",
    "lineno": 129,
    "namespace": "base",
    "origin": {
      "!span": "3399[128:5]-3402[128:8]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "gen1",
    "addr": "/gen1/",
    "kind": "v",
    "lineno": 132,
    "origin": {
      "!span": "3444[131:4]-3448[131:8]",
      "!data": {
        "isConstructor": false,
        "type": "base"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "gen2",
    "addr": "/gen2/",
    "kind": "v",
    "lineno": 133,
    "origin": {
      "!span": "3476[132:4]-3480[132:8]",
      "!data": {
        "isConstructor": false
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "quux",
    "addr": "/quux/",
    "kind": "v",
    "type": "number",
    "lineno": 134,
    "namespace": "gen1",
    "origin": {
      "!span": "3509[133:5]-3513[133:9]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "kaka",
    "addr": "/kaka/",
    "kind": "v",
    "type": "number",
    "lineno": 135,
    "namespace": "gen2",
    "origin": {
      "!span": "3525[134:5]-3529[134:9]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "extend",
    "addr": "/extend/",
    "kind": "v",
    "lineno": 144,
    "origin": {
      "!span": "3879[143:4]-3885[143:10]",
      "!data": {
        "isConstructor": false,
        "type": "base"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "empty",
    "addr": "/empty/",
    "kind": "v",
    "lineno": 150,
    "origin": {
      "!span": "4190[149:4]-4195[149:9]",
      "!data": {
        "isConstructor": false
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "prop1",
    "addr": "/prop1/",
    "kind": "v",
    "type": "string",
    "lineno": 151,
    "namespace": "empty",
    "origin": {
      "!span": "4225[150:6]-4230[150:11]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "Ctor1",
    "addr": "/Ctor1/",
    "kind": "f",
    "type": "void function()",
    "lineno": 155,
    "origin": {
      "!span": "4325[154:9]-4330[154:14]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "number",
    "lineno": 156,
    "namespace": "Ctor1.prototype",
    "origin": {
      "!span": "4369[155:19]-4370[155:20]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "prototype",
    "addr": "/prototype/",
    "kind": "v",
    "lineno": 156,
    "namespace": "Ctor1",
    "origin": {
      "!span": "4356[155:6]-4365[155:15]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "Ctor2",
    "addr": "/Ctor2/",
    "kind": "f",
    "type": "void function()",
    "lineno": 159,
    "origin": {
      "!span": "4426[158:9]-4431[158:14]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "singleton",
    "addr": "/singleton/",
    "kind": "v",
    "lineno": 164,
    "origin": {
      "!span": "4483[163:4]-4492[163:13]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": false
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "Foo",
    "addr": "/Foo/",
    "kind": "f",
    "type": "void function(bool)",
    "lineno": 166,
    "origin": {
      "!span": "4531[165:9]-4534[165:12]",
      "!type": "fn(x: bool)",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "v",
    "type": "boolean",
    "lineno": 166,
    "namespace": "Foo",
    "origin": {
      "!span": "4535[165:13]-4536[165:14]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype",
        "scoped": true,
        "isArg": true
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "v",
    "type": "boolean",
    "lineno": 167,
    "namespace": "foo",
    "origin": {
      "!span": "4547[166:7]-4548[166:8]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "y",
    "addr": "/y/",
    "kind": "v",
    "type": "[number]",
    "lineno": 168,
    "namespace": "Foo",
    "origin": {
      "!span": "4561[167:7]-4562[167:8]",
      "!type": "[number]",
      "!data": {
        "isConstructor": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "prototype",
    "addr": "/prototype/",
    "kind": "v",
    "lineno": 171,
    "namespace": "Foo",
    "origin": {
      "!span": "4577[170:4]-4586[170:13]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "makeString",
    "addr": "/makeString/",
    "kind": "f",
    "type": "string function()",
    "lineno": 172,
    "namespace": "Foo.prototype",
    "origin": {
      "!span": "4593[171:2]-4603[171:12]",
      "!type": "fn() -> string",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "bar",
    "addr": "/bar/",
    "kind": "v",
    "type": "number",
    "lineno": 173,
    "namespace": "Foo.prototype",
    "origin": {
      "!span": "4636[172:2]-4639[172:5]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "foo",
    "addr": "/foo/",
    "kind": "v",
    "type": "Foo",
    "lineno": 176,
    "origin": {
      "!span": "4652[175:4]-4655[175:7]",
      "!type": "+Foo",
      "!data": {
        "isConstructor": false,
        "type": "Foo.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "config",
    "addr": "/config/",
    "kind": "v",
    "lineno": 182,
    "origin": {
      "!span": "4825[181:0]-4831[181:6]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "CSS",
    "addr": "/CSS/",
    "kind": "v",
    "lineno": 183,
    "namespace": "config",
    "origin": {
      "!span": "4838[182:2]-4841[182:5]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "IDs",
    "addr": "/IDs/",
    "kind": "v",
    "lineno": 184,
    "namespace": "config.CSS",
    "origin": {
      "!span": "4849[183:4]-4852[183:7]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "container",
    "addr": "/container/",
    "kind": "v",
    "type": "string",
    "lineno": 185,
    "namespace": "config.CSS.IDs",
    "origin": {
      "!span": "4862[184:6]-4871[184:15]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "canvas",
    "addr": "/canvas/",
    "kind": "v",
    "type": "string",
    "lineno": 186,
    "namespace": "config.CSS.IDs",
    "origin": {
      "!span": "4901[185:6]-4907[185:12]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "player",
    "addr": "/player/",
    "kind": "v",
    "type": "string",
    "lineno": 187,
    "namespace": "config.CSS.IDs",
    "origin": {
      "!span": "4936[186:6]-4942[186:12]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "controls",
    "addr": "/controls/",
    "kind": "v",
    "type": "string",
    "lineno": 188,
    "namespace": "config.CSS.IDs",
    "origin": {
      "!span": "4965[187:6]-4973[187:14]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "years",
    "addr": "/years/",
    "kind": "v",
    "type": "[number]",
    "lineno": 201,
    "origin": {
      "!span": "5184[200:4]-5189[200:9]",
      "!type": "[number]",
      "!data": {
        "isConstructor": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "arr1",
    "addr": "/arr1/",
    "kind": "v",
    "type": "[bool]",
    "lineno": 206,
    "origin": {
      "!span": "5342[205:4]-5346[205:8]",
      "!type": "[bool]",
      "!data": {
        "isConstructor": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "arr2",
    "addr": "/arr2/",
    "kind": "v",
    "type": "[number]",
    "lineno": 213,
    "origin": {
      "!span": "5559[212:4]-5563[212:8]",
      "!type": "[number]",
      "!data": {
        "isConstructor": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "scope1",
    "addr": "/scope1/",
    "kind": "f",
    "type": "void function()",
    "lineno": 216,
    "origin": {
      "!span": "5631[215:9]-5637[215:15]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "f",
    "addr": "/f/",
    "kind": "v",
    "lineno": 218,
    "origin": {
      "!span": "5685[217:4]-5686[217:5]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": false
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "f2",
    "addr": "/f2/",
    "kind": "v",
    "lineno": 220,
    "origin": {
      "!span": "5758[219:4]-5760[219:6]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": false
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "f3",
    "addr": "/f3/",
    "kind": "v",
    "lineno": 222,
    "origin": {
      "!span": "5837[221:4]-5839[221:6]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": false
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "one",
    "addr": "/one/",
    "kind": "f",
    "type": "void function()",
    "lineno": 254,
    "origin": {
      "!span": "6515[253:9]-6518[253:12]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "person",
    "addr": "/person/",
    "kind": "v",
    "type": "string",
    "lineno": 256,
    "namespace": "one",
    "origin": {
      "!span": "6574[255:6]-6580[255:12]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "localVar1InOne",
    "addr": "/localVar1InOne/",
    "kind": "v",
    "type": "string",
    "lineno": 258,
    "namespace": "one",
    "origin": {
      "!span": "6643[257:6]-6657[257:20]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "globalVar1",
    "addr": "/globalVar1/",
    "kind": "v",
    "type": "number",
    "lineno": 259,
    "origin": {
      "!span": "6671[258:2]-6681[258:12]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "f",
    "addr": "/f/",
    "kind": "v",
    "lineno": 272,
    "namespace": "timeout",
    "origin": {
      "!span": "7061[271:17]-7062[271:18]",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": false
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "timeout",
    "addr": "/timeout/",
    "kind": "f",
    "type": "void function(?, ?)",
    "lineno": 272,
    "namespace": "timeout",
    "origin": {
      "!span": "7064[271:20]-7071[271:27]",
      "!type": "fn(f: ?, timeout: ?)",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "timeout",
    "addr": "/timeout/",
    "kind": "v",
    "lineno": 272,
    "origin": {
      "!span": "7053[271:9]-7060[271:16]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": false
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "obj",
    "addr": "/obj/",
    "kind": "v",
    "lineno": 273,
    "origin": {
      "!span": "7080[272:4]-7083[272:7]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "name",
    "addr": "/name/",
    "kind": "v",
    "type": "string",
    "lineno": 274,
    "namespace": "obj",
    "origin": {
      "!span": "7090[273:2]-7094[273:6]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "func",
    "addr": "/func/",
    "kind": "f",
    "type": "void function()",
    "lineno": 275,
    "namespace": "obj",
    "origin": {
      "!span": "7105[274:2]-7109[274:6]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "localVarBecomeGlobal",
    "addr": "/localVarBecomeGlobal/",
    "kind": "v",
    "type": "[number]",
    "lineno": 285,
    "origin": {
      "!span": "7311[284:2]-7331[284:22]",
      "!type": "[number]",
      "!data": {
        "isConstructor": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "testIfControlFlow1",
    "addr": "/testIfControlFlow1/",
    "kind": "f",
    "type": "void function()",
    "lineno": 291,
    "origin": {
      "!span": "7428[290:9]-7446[290:27]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "varInIf",
    "addr": "/varInIf/",
    "kind": "v",
    "type": "string",
    "lineno": 294,
    "namespace": "testIfControlFlow1",
    "origin": {
      "!span": "7523[293:8]-7530[293:15]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "f",
    "addr": "/f/",
    "kind": "v",
    "lineno": 296,
    "namespace": "testIfControlFlow1",
    "origin": {
      "!span": "7599[295:8]-7600[295:9]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "name",
    "addr": "/name/",
    "kind": "v",
    "type": "string",
    "lineno": 299,
    "namespace": "testIfControlFlow1.f",
    "origin": {
      "!span": "7727[298:19]-7731[298:23]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "inNestedIf",
    "addr": "/inNestedIf/",
    "kind": "v",
    "type": "string",
    "lineno": 303,
    "namespace": "testIfControlFlow1",
    "origin": {
      "!span": "7828[302:10]-7838[302:20]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "t",
    "addr": "/t/",
    "kind": "v",
    "lineno": 305,
    "namespace": "testIfControlFlow1",
    "origin": {
      "!span": "7880[304:10]-7881[304:11]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": false
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "testForControlFlow1",
    "addr": "/testForControlFlow1/",
    "kind": "f",
    "type": "void function()",
    "lineno": 317,
    "origin": {
      "!span": "8147[316:9]-8166[316:28]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "m",
    "addr": "/m/",
    "kind": "v",
    "type": "string",
    "lineno": 321,
    "namespace": "testForControlFlow1",
    "origin": {
      "!span": "8302[320:6]-8303[320:7]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "n",
    "addr": "/n/",
    "kind": "v",
    "type": "number",
    "lineno": 322,
    "namespace": "testForControlFlow1",
    "origin": {
      "!span": "8325[321:11]-8326[321:12]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "varInForLoop",
    "addr": "/varInForLoop/",
    "kind": "v",
    "type": "string",
    "lineno": 323,
    "namespace": "testForControlFlow1",
    "origin": {
      "!span": "8355[322:8]-8367[322:20]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "j",
    "addr": "/j/",
    "kind": "v",
    "type": "number",
    "lineno": 324,
    "namespace": "testForControlFlow1",
    "origin": {
      "!span": "8391[323:13]-8392[323:14]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "varInNestedForLoop",
    "addr": "/varInNestedForLoop/",
    "kind": "v",
    "type": "number",
    "lineno": 325,
    "namespace": "testForControlFlow1",
    "origin": {
      "!span": "8423[324:10]-8441[324:28]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "testForInLoopFlow1",
    "addr": "/testForInLoopFlow1/",
    "kind": "f",
    "type": "void function()",
    "lineno": 334,
    "origin": {
      "!span": "8604[333:9]-8622[333:27]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "testWhileLoopFlow1",
    "addr": "/testWhileLoopFlow1/",
    "kind": "f",
    "type": "void function()",
    "lineno": 341,
    "origin": {
      "!span": "8704[340:9]-8722[340:27]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "n",
    "addr": "/n/",
    "kind": "v",
    "type": "number",
    "lineno": 342,
    "namespace": "testWhileLoopFlow1",
    "origin": {
      "!span": "8733[341:6]-8734[341:7]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "varInWhileLoop",
    "addr": "/varInWhileLoop/",
    "kind": "v",
    "type": "string",
    "lineno": 344,
    "namespace": "testWhileLoopFlow1",
    "origin": {
      "!span": "8769[343:8]-8783[343:22]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "testDoWhileLoopFlow1",
    "addr": "/testDoWhileLoopFlow1/",
    "kind": "f",
    "type": "void function()",
    "lineno": 349,
    "origin": {
      "!span": "8831[348:9]-8851[348:29]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "varInDoWhileLoop",
    "addr": "/varInDoWhileLoop/",
    "kind": "v",
    "type": "string",
    "lineno": 352,
    "namespace": "testDoWhileLoopFlow1",
    "origin": {
      "!span": "8881[351:8]-8897[351:24]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "testBreakFlow1",
    "addr": "/testBreakFlow1/",
    "kind": "f",
    "type": "void function()",
    "lineno": 359,
    "origin": {
      "!span": "8973[358:9]-8987[358:23]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "i",
    "addr": "/i/",
    "kind": "v",
    "type": "number",
    "lineno": 360,
    "origin": {
      "!span": "8999[359:7]-9000[359:8]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "testBreak",
    "addr": "/testBreak/",
    "kind": "v",
    "type": "string",
    "lineno": 362,
    "namespace": "testBreakFlow1",
    "origin": {
      "!span": "9048[361:10]-9057[361:19]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "testContinue",
    "addr": "/testContinue/",
    "kind": "v",
    "type": "string",
    "lineno": 365,
    "namespace": "testBreakFlow1",
    "origin": {
      "!span": "9104[364:10]-9116[364:22]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "n",
    "addr": "/n/",
    "kind": "v",
    "lineno": 377,
    "namespace": "testSwitchFlow1",
    "origin": {
      "!span": "9336[376:25]-9337[376:26]",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": false
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "testSwitchFlow1",
    "addr": "/testSwitchFlow1/",
    "kind": "f",
    "type": "void function(?)",
    "lineno": 377,
    "origin": {
      "!span": "9320[376:9]-9335[376:24]",
      "!type": "fn(n: ?)",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "inCase1",
    "addr": "/inCase1/",
    "kind": "v",
    "type": "string",
    "lineno": 381,
    "namespace": "testSwitchFlow1",
    "origin": {
      "!span": "9378[380:10]-9385[380:17]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "inCase2",
    "addr": "/inCase2/",
    "kind": "v",
    "type": "string",
    "lineno": 385,
    "namespace": "testSwitchFlow1",
    "origin": {
      "!span": "9483[384:10]-9490[384:17]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "testTryCatchFlow1",
    "addr": "/testTryCatchFlow1/",
    "kind": "f",
    "type": "void function()",
    "lineno": 398,
    "origin": {
      "!span": "9677[397:9]-9694[397:26]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "varInTry",
    "addr": "/varInTry/",
    "kind": "v",
    "type": "string",
    "lineno": 400,
    "namespace": "testTryCatchFlow1",
    "origin": {
      "!span": "9715[399:8]-9723[399:16]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "varInCatch",
    "addr": "/varInCatch/",
    "kind": "v",
    "type": "string",
    "lineno": 403,
    "namespace": "testTryCatchFlow1",
    "origin": {
      "!span": "9810[402:8]-9820[402:18]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/hint_ecma5.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "[number]|number",
    "lineno": 6,
    "origin": {
      "!span": "134[5:4]-135[5:5]",
      "!type": "[number]|number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false
      }
    },
    "tagfile": "__DIR__/hint_simple.js"
  },
  {
    "name": "sup",
    "addr": "/sup/",
    "kind": "v",
    "lineno": 1,
    "origin": {
      "!span": "4[0:4]-7[0:7]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/indirect_class.js"
  },
  {
    "name": "foo",
    "addr": "/foo/",
    "kind": "f",
    "type": "number function()",
    "lineno": 2,
    "namespace": "sup",
    "origin": {
      "!span": "14[1:2]-17[1:5]",
      "!type": "fn() -> number",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/indirect_class.js"
  },
  {
    "name": "makeClass",
    "addr": "/makeClass/",
    "kind": "f",
    "type": "void function(makeClass.!0)",
    "lineno": 5,
    "origin": {
      "!span": "57[4:9]-66[4:18]",
      "!type": "fn(methods: makeClass.!0)",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/indirect_class.js"
  },
  {
    "name": "Ctor",
    "addr": "/Ctor/",
    "kind": "f",
    "type": "void function()",
    "lineno": 6,
    "namespace": "makeClass",
    "origin": {
      "!span": "89[5:11]-93[5:15]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/indirect_class.js"
  },
  {
    "name": "prototype",
    "addr": "/prototype/",
    "kind": "v",
    "lineno": 7,
    "namespace": "makeClass.Ctor",
    "origin": {
      "!span": "106[6:7]-115[6:16]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "sup"
      }
    },
    "tagfile": "__DIR__/indirect_class.js"
  },
  {
    "name": "m",
    "addr": "/m/",
    "kind": "v",
    "lineno": 8,
    "namespace": "makeClass",
    "origin": {
      "!span": "149[7:11]-150[7:12]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": false
      }
    },
    "tagfile": "__DIR__/indirect_class.js"
  },
  {
    "name": "Mine",
    "addr": "/Mine/",
    "kind": "v",
    "lineno": 11,
    "origin": {
      "!span": "202[10:4]-206[10:8]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": false
      }
    },
    "tagfile": "__DIR__/indirect_class.js"
  },
  {
    "name": "f",
    "addr": "/f/",
    "kind": "f",
    "type": "void function(f)",
    "lineno": 3,
    "origin": {
      "!span": "18[2:4]-19[2:5]",
      "!type": "fn(n: f)",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/infinite-expansion.js"
  },
  {
    "name": "n",
    "addr": "/n/",
    "kind": "f",
    "type": "void function(f)",
    "lineno": 3,
    "namespace": "f",
    "origin": {
      "!span": "31[2:17]-32[2:18]",
      "!type": "fn(n: f)",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/infinite-expansion.js"
  },
  {
    "name": "prototype",
    "addr": "/prototype/",
    "kind": "v",
    "lineno": 4,
    "namespace": "f.n",
    "origin": {
      "!span": "40[3:4]-49[3:13]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/infinite-expansion.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "v",
    "type": "[x]",
    "lineno": 10,
    "origin": {
      "!span": "210[9:4]-211[9:5]",
      "!type": "[x]",
      "!data": {
        "isConstructor": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/infinite-expansion.js"
  },
  {
    "name": "goop",
    "addr": "/goop/",
    "kind": "f",
    "type": "void function(?) function(number)",
    "lineno": 15,
    "origin": {
      "!span": "262[14:9]-266[14:13]",
      "!type": "fn(n: number) -> fn(f: ?)",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/infinite-expansion.js"
  },
  {
    "name": "n",
    "addr": "/n/",
    "kind": "v",
    "type": "number",
    "lineno": 15,
    "namespace": "goop",
    "origin": {
      "!span": "267[14:14]-268[14:15]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/infinite-expansion.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "Date",
    "lineno": 2,
    "origin": {
      "!span": "24[1:4]-25[1:5]",
      "!type": "+Date",
      "!data": {
        "isConstructor": false,
        "type": "Date.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "c",
    "addr": "/c/",
    "kind": "v",
    "lineno": 8,
    "origin": {
      "!span": "133[7:4]-134[7:5]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "number",
    "lineno": 17,
    "namespace": "foo",
    "origin": {
      "!span": "295[16:13]-296[16:14]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "foo",
    "addr": "/foo/",
    "kind": "f",
    "type": "[number] function(number, string)",
    "lineno": 17,
    "origin": {
      "!span": "291[16:9]-294[16:12]",
      "!type": "fn(a: number, b: string) -> [number]",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "b",
    "addr": "/b/",
    "kind": "v",
    "type": "string",
    "lineno": 17,
    "namespace": "foo",
    "origin": {
      "!span": "298[16:16]-299[16:17]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "abc",
    "addr": "/abc/",
    "kind": "f",
    "type": "void function()",
    "lineno": 21,
    "origin": {
      "!span": "391[20:4]-394[20:7]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "Abc",
    "addr": "/Abc/",
    "kind": "f",
    "type": "void function()",
    "lineno": 26,
    "origin": {
      "!span": "452[25:4]-455[25:7]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "AbcCls",
    "addr": "/AbcCls/",
    "kind": "f",
    "type": "void function()",
    "lineno": 31,
    "origin": {
      "!span": "509[30:4]-515[30:10]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "AbcCtor",
    "addr": "/AbcCtor/",
    "kind": "f",
    "type": "void function()",
    "lineno": 36,
    "origin": {
      "!span": "578[35:4]-585[35:11]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "bar",
    "addr": "/bar/",
    "kind": "f",
    "type": "string function(number, number)",
    "lineno": 45,
    "origin": {
      "!span": "704[44:4]-707[44:7]",
      "!type": "fn(a: number, b: number) -> string",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "b",
    "addr": "/b/",
    "kind": "v",
    "type": "number",
    "lineno": 45,
    "namespace": "bar",
    "origin": {
      "!span": "722[44:22]-723[44:23]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "number",
    "lineno": 45,
    "namespace": "bar",
    "origin": {
      "!span": "719[44:19]-720[44:20]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "o",
    "addr": "/o/",
    "kind": "v",
    "lineno": 49,
    "origin": {
      "!span": "811[48:4]-812[48:5]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "prop1",
    "addr": "/prop1/",
    "kind": "v",
    "type": "string",
    "lineno": 51,
    "namespace": "o",
    "origin": {
      "!span": "843[50:2]-848[50:7]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "prop2",
    "addr": "/prop2/",
    "kind": "f",
    "type": "number function()",
    "lineno": 54,
    "namespace": "o",
    "origin": {
      "!span": "891[53:2]-896[53:7]",
      "!type": "fn() -> number",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "prop3",
    "addr": "/prop3/",
    "kind": "f",
    "type": "string function()",
    "lineno": 58,
    "namespace": "o",
    "origin": {
      "!span": "963[57:2]-968[57:7]",
      "!type": "fn() -> string",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "closureArray",
    "addr": "/closureArray/",
    "kind": "v",
    "type": "[string]",
    "lineno": 65,
    "origin": {
      "!span": "1119[64:4]-1131[64:16]",
      "!type": "[string]",
      "!data": {
        "isConstructor": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "x",
    "kind": "v",
    "type": "number",
    "namespace": "c",
    "origin": {
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "y",
    "kind": "v",
    "type": "[string]",
    "namespace": "c",
    "origin": {
      "!type": "[string]",
      "!data": {
        "isConstructor": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "two",
    "kind": "v",
    "type": "number",
    "namespace": "myObj",
    "origin": {
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "<i>",
    "kind": "v",
    "type": "boolean",
    "namespace": "closureMap",
    "origin": {
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "one",
    "kind": "v",
    "type": "boolean",
    "namespace": "myObj",
    "origin": {
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "closureMap",
    "addr": "/closureMap/",
    "kind": "v",
    "lineno": 69,
    "origin": {
      "!span": "1222[68:4]-1232[68:14]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "number",
    "lineno": 73,
    "namespace": "takesOpt",
    "origin": {
      "!span": "1323[72:18]-1324[72:19]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "takesOpt",
    "addr": "/takesOpt/",
    "kind": "f",
    "type": "void function(number)",
    "lineno": 73,
    "origin": {
      "!span": "1314[72:9]-1322[72:17]",
      "!type": "fn(a?: number)",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "myBitset",
    "addr": "/myBitset/",
    "kind": "v",
    "type": "[bool]",
    "lineno": 88,
    "origin": {
      "!span": "1599[87:4]-1607[87:12]",
      "!type": "[bool]",
      "!data": {
        "isConstructor": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "myObj",
    "addr": "/myObj/",
    "kind": "v",
    "lineno": 93,
    "origin": {
      "!span": "1673[92:4]-1678[92:9]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "NonAscïį",
    "addr": "/NonAscïį/",
    "kind": "f",
    "type": "void function()",
    "lineno": 99,
    "origin": {
      "!span": "1746[98:9]-1754[98:17]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "length",
    "addr": "/length/",
    "kind": "v",
    "type": "string",
    "lineno": 99,
    "namespace": "NonAscïį",
    "origin": {
      "!span": "1764[98:27]-1770[98:33]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "inst",
    "addr": "/inst/",
    "kind": "v",
    "type": "NonAscïį",
    "lineno": 102,
    "origin": {
      "!span": "1810[101:4]-1814[101:8]",
      "!type": "+NonAscïį",
      "!data": {
        "isConstructor": false,
        "type": "NonAscïį.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "bogus",
    "addr": "/bogus/",
    "kind": "v",
    "lineno": 107,
    "origin": {
      "!span": "1872[106:4]-1877[106:9]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "again",
    "addr": "/again/",
    "kind": "v",
    "type": "number",
    "lineno": 112,
    "origin": {
      "!span": "1950[111:4]-1955[111:9]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "functionBogus",
    "addr": "/functionBogus/",
    "kind": "f",
    "type": "? function(?)",
    "lineno": 120,
    "origin": {
      "!span": "2049[119:9]-2062[119:22]",
      "!type": "fn(a: ?) -> ?",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "lineno": 120,
    "namespace": "functionBogus",
    "origin": {
      "!span": "2063[119:23]-2064[119:24]",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "unionFunction",
    "addr": "/unionFunction/",
    "kind": "f",
    "type": "[?|number] function(string)",
    "lineno": 133,
    "origin": {
      "!span": "2301[132:9]-2314[132:22]",
      "!type": "fn(a: string) -> [?|number]",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "string",
    "lineno": 133,
    "namespace": "unionFunction",
    "origin": {
      "!span": "2315[132:23]-2316[132:24]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "ui",
    "addr": "/ui/",
    "kind": "f",
    "type": "string function()",
    "lineno": 140,
    "origin": {
      "!span": "2426[139:9]-2428[139:11]",
      "!type": "fn() -> string",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/jsdoc.js"
  },
  {
    "name": "map",
    "addr": "/map/",
    "kind": "v",
    "type": "Map",
    "lineno": 1,
    "origin": {
      "!span": "4[0:4]-7[0:7]",
      "!type": "+Map",
      "!data": {
        "isConstructor": false,
        "type": "Map.prototype"
      }
    },
    "tagfile": "__DIR__/map.js"
  },
  {
    "name": "key",
    "addr": "/key/",
    "kind": "v",
    "type": "number",
    "lineno": 18,
    "origin": {
      "!span": "284[17:4]-287[17:7]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/map.js"
  },
  {
    "name": "value",
    "addr": "/value/",
    "kind": "v",
    "type": "string",
    "lineno": 18,
    "origin": {
      "!span": "289[17:9]-294[17:14]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/map.js"
  },
  {
    "name": "sum",
    "addr": "/sum/",
    "kind": "f",
    "type": "number function(?)",
    "lineno": 1,
    "origin": {
      "!span": "9[0:9]-12[0:12]",
      "!type": "fn(a: ?) -> number",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/merge.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "lineno": 1,
    "namespace": "sum",
    "origin": {
      "!span": "13[0:13]-14[0:14]",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/merge.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "v",
    "type": "number",
    "lineno": 6,
    "namespace": "sum.a",
    "origin": {
      "!span": "66[5:5]-67[5:6]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/merge.js"
  },
  {
    "name": "y",
    "addr": "/y/",
    "kind": "v",
    "type": "number",
    "lineno": 6,
    "namespace": "sum.a",
    "origin": {
      "!span": "73[5:12]-74[5:13]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/merge.js"
  },
  {
    "name": "Class",
    "addr": "/Class/",
    "kind": "f",
    "type": "void function()",
    "lineno": 1,
    "origin": {
      "!span": "9[0:9]-14[0:14]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/mixin.js"
  },
  {
    "name": "prototype",
    "addr": "/prototype/",
    "kind": "v",
    "lineno": 2,
    "namespace": "Class",
    "origin": {
      "!span": "26[1:6]-35[1:15]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/mixin.js"
  },
  {
    "name": "m3",
    "addr": "/m3/",
    "kind": "f",
    "type": "void function()",
    "lineno": 4,
    "namespace": "Class.prototype",
    "origin": {
      "!span": "56[3:2]-58[3:4]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/mixin.js"
  },
  {
    "name": "mixin",
    "addr": "/mixin/",
    "kind": "f",
    "type": "!0 function(Class.prototype|string)",
    "lineno": 7,
    "origin": {
      "!span": "87[6:9]-92[6:14]",
      "!type": "fn(obj: Class.prototype|string) -> !0",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/mixin.js"
  },
  {
    "name": "m1",
    "addr": "/m1/",
    "kind": "f",
    "type": "void function()",
    "lineno": 14,
    "namespace": "Class.prototype",
    "origin": {
      "!span": "159[13:9]-161[13:11]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/mixin.js"
  },
  {
    "name": "m1",
    "addr": "/m1/",
    "kind": "f",
    "type": "void function()",
    "lineno": 14,
    "origin": {
      "!span": "159[13:9]-161[13:11]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/mixin.js"
  },
  {
    "name": "m1",
    "addr": "/m1/",
    "kind": "f",
    "type": "void function()",
    "lineno": 14,
    "namespace": "OtherClass.prototype",
    "origin": {
      "!span": "159[13:9]-161[13:11]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/mixin.js"
  },
  {
    "name": "m2",
    "addr": "/m2/",
    "kind": "f",
    "type": "void function()",
    "lineno": 16,
    "origin": {
      "!span": "182[15:9]-184[15:11]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/mixin.js"
  },
  {
    "name": "m2",
    "addr": "/m2/",
    "kind": "f",
    "type": "void function()",
    "lineno": 16,
    "namespace": "OtherClass.prototype",
    "origin": {
      "!span": "182[15:9]-184[15:11]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/mixin.js"
  },
  {
    "name": "m2",
    "addr": "/m2/",
    "kind": "f",
    "type": "void function()",
    "lineno": 16,
    "namespace": "Class.prototype",
    "origin": {
      "!span": "182[15:9]-184[15:11]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/mixin.js"
  },
  {
    "name": "OtherClass",
    "addr": "/OtherClass/",
    "kind": "f",
    "type": "void function()",
    "lineno": 18,
    "origin": {
      "!span": "200[17:9]-210[17:19]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/mixin.js"
  },
  {
    "name": "prototype",
    "addr": "/prototype/",
    "kind": "v",
    "lineno": 19,
    "namespace": "OtherClass",
    "origin": {
      "!span": "227[18:11]-236[18:20]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/mixin.js"
  },
  {
    "name": "m4",
    "addr": "/m4/",
    "kind": "f",
    "type": "void function()",
    "lineno": 21,
    "namespace": "OtherClass.prototype",
    "origin": {
      "!span": "257[20:2]-259[20:4]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/mixin.js"
  },
  {
    "name": "c",
    "addr": "/c/",
    "kind": "v",
    "type": "Class",
    "lineno": 24,
    "origin": {
      "!span": "283[23:4]-284[23:5]",
      "!type": "+Class",
      "!data": {
        "isConstructor": false
      }
    },
    "tagfile": "__DIR__/mixin.js"
  },
  {
    "name": "oc",
    "addr": "/oc/",
    "kind": "v",
    "type": "OtherClass",
    "lineno": 31,
    "origin": {
      "!span": "359[30:4]-361[30:6]",
      "!type": "+OtherClass",
      "!data": {
        "isConstructor": false
      }
    },
    "tagfile": "__DIR__/mixin.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "[string]",
    "lineno": 1,
    "origin": {
      "!span": "4[0:4]-5[0:5]",
      "!type": "[string]",
      "!data": {
        "isConstructor": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/new_array.js"
  },
  {
    "name": "b",
    "addr": "/b/",
    "kind": "v",
    "type": "[bool]",
    "lineno": 5,
    "origin": {
      "!span": "57[4:4]-58[4:5]",
      "!type": "[bool]",
      "!data": {
        "isConstructor": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/new_array.js"
  },
  {
    "name": "c",
    "addr": "/c/",
    "kind": "v",
    "type": "[?]",
    "lineno": 8,
    "origin": {
      "!span": "111[7:4]-112[7:5]",
      "!type": "[?]",
      "!data": {
        "isConstructor": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/new_array.js"
  },
  {
    "name": "d",
    "addr": "/d/",
    "kind": "v",
    "type": "[string]",
    "lineno": 11,
    "origin": {
      "!span": "146[10:4]-147[10:5]",
      "!type": "[string]",
      "!data": {
        "isConstructor": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/new_array.js"
  },
  {
    "name": "A",
    "addr": "/A/",
    "kind": "f",
    "type": "void function()",
    "lineno": 1,
    "origin": {
      "!span": "9[0:9]-10[0:10]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/new_to_prototype.js"
  },
  {
    "name": "prop_A",
    "addr": "/prop_A/",
    "kind": "v",
    "type": "number",
    "lineno": 2,
    "namespace": "A.prototype",
    "origin": {
      "!span": "28[1:12]-34[1:18]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/new_to_prototype.js"
  },
  {
    "name": "B",
    "addr": "/B/",
    "kind": "f",
    "type": "void function()",
    "lineno": 3,
    "origin": {
      "!span": "49[2:9]-50[2:10]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/new_to_prototype.js"
  },
  {
    "name": "prototype",
    "addr": "/prototype/",
    "kind": "v",
    "lineno": 4,
    "namespace": "B",
    "origin": {
      "!span": "58[3:2]-67[3:11]",
      "!data": {
        "isConstructor": false,
        "type": "A.prototype"
      }
    },
    "tagfile": "__DIR__/new_to_prototype.js"
  },
  {
    "name": "prop_B",
    "addr": "/prop_B/",
    "kind": "v",
    "type": "number",
    "lineno": 5,
    "namespace": "B.prototype",
    "origin": {
      "!span": "89[4:12]-95[4:18]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/new_to_prototype.js"
  },
  {
    "name": "C",
    "addr": "/C/",
    "kind": "f",
    "type": "void function()",
    "lineno": 6,
    "origin": {
      "!span": "110[5:9]-111[5:10]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/new_to_prototype.js"
  },
  {
    "name": "prototype",
    "addr": "/prototype/",
    "kind": "v",
    "lineno": 7,
    "namespace": "C",
    "origin": {
      "!span": "119[6:2]-128[6:11]",
      "!data": {
        "isConstructor": false,
        "type": "A.prototype"
      }
    },
    "tagfile": "__DIR__/new_to_prototype.js"
  },
  {
    "name": "prop_C",
    "addr": "/prop_C/",
    "kind": "v",
    "type": "number",
    "lineno": 8,
    "namespace": "C.prototype",
    "origin": {
      "!span": "150[7:12]-156[7:18]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/new_to_prototype.js"
  },
  {
    "name": "base",
    "addr": "/base/",
    "kind": "v",
    "lineno": 1,
    "origin": {
      "!span": "4[0:4]-8[0:8]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/object_create.js"
  },
  {
    "name": "bar",
    "addr": "/bar/",
    "kind": "v",
    "type": "number",
    "lineno": 1,
    "namespace": "base",
    "origin": {
      "!span": "21[0:21]-24[0:24]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/object_create.js"
  },
  {
    "name": "foo",
    "addr": "/foo/",
    "kind": "v",
    "type": "number",
    "lineno": 1,
    "namespace": "base",
    "origin": {
      "!span": "12[0:12]-15[0:15]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/object_create.js"
  },
  {
    "name": "gen1",
    "addr": "/gen1/",
    "kind": "v",
    "lineno": 2,
    "origin": {
      "!span": "35[1:4]-39[1:8]",
      "!data": {
        "isConstructor": false,
        "type": "base"
      }
    },
    "tagfile": "__DIR__/object_create.js"
  },
  {
    "name": "gen2",
    "addr": "/gen2/",
    "kind": "v",
    "lineno": 3,
    "origin": {
      "!span": "67[2:4]-71[2:8]",
      "!data": {
        "isConstructor": false
      }
    },
    "tagfile": "__DIR__/object_create.js"
  },
  {
    "name": "prop1",
    "kind": "v",
    "type": "string",
    "namespace": "extend",
    "origin": {
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/object_create.js"
  },
  {
    "name": "baz",
    "addr": "/baz/",
    "kind": "v",
    "type": "number",
    "lineno": 5,
    "namespace": "base",
    "origin": {
      "!span": "101[4:5]-104[4:8]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/object_create.js"
  },
  {
    "name": "quux",
    "addr": "/quux/",
    "kind": "v",
    "type": "number",
    "lineno": 6,
    "namespace": "gen1",
    "origin": {
      "!span": "116[5:5]-120[5:9]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/object_create.js"
  },
  {
    "name": "kaka",
    "addr": "/kaka/",
    "kind": "v",
    "type": "number",
    "lineno": 7,
    "namespace": "gen2",
    "origin": {
      "!span": "132[6:5]-136[6:9]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/object_create.js"
  },
  {
    "name": "extend",
    "addr": "/extend/",
    "kind": "v",
    "lineno": 23,
    "origin": {
      "!span": "300[22:4]-306[22:10]",
      "!data": {
        "isConstructor": false,
        "type": "base"
      }
    },
    "tagfile": "__DIR__/object_create.js"
  },
  {
    "name": "empty",
    "addr": "/empty/",
    "kind": "v",
    "lineno": 29,
    "origin": {
      "!span": "420[28:4]-425[28:9]",
      "!data": {
        "isConstructor": false
      }
    },
    "tagfile": "__DIR__/object_create.js"
  },
  {
    "name": "prop1",
    "addr": "/prop1/",
    "kind": "v",
    "type": "string",
    "lineno": 30,
    "namespace": "empty",
    "origin": {
      "!span": "455[29:6]-460[29:11]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/object_create.js"
  },
  {
    "name": "bar",
    "addr": "/bar/",
    "kind": "v",
    "type": "number",
    "lineno": 1,
    "origin": {
      "!span": "4[0:4]-7[0:7]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/objectlit.js"
  },
  {
    "name": "foo",
    "addr": "/foo/",
    "kind": "v",
    "lineno": 3,
    "origin": {
      "!span": "13[2:4]-16[2:7]",
      "!data": {
        "isConstructor": false,
        "type": "baz"
      }
    },
    "tagfile": "__DIR__/objectlit.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "boolean",
    "lineno": 6,
    "namespace": "foo",
    "origin": {
      "!span": "60[5:2]-61[5:3]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/objectlit.js"
  },
  {
    "name": "method",
    "addr": "/method/",
    "kind": "f",
    "type": "string function()",
    "lineno": 7,
    "namespace": "foo",
    "origin": {
      "!span": "71[6:2]-77[6:8]",
      "!type": "fn() -> string",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/objectlit.js"
  },
  {
    "name": "baz",
    "addr": "/baz/",
    "kind": "v",
    "lineno": 10,
    "origin": {
      "!span": "103[9:4]-106[9:7]",
      "!data": {
        "isConstructor": false
      }
    },
    "tagfile": "__DIR__/objectlit.js"
  },
  {
    "name": "b",
    "addr": "/b/",
    "kind": "v",
    "type": "string",
    "lineno": 12,
    "namespace": "baz",
    "origin": {
      "!span": "132[11:2]-133[11:3]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/objectlit.js"
  },
  {
    "name": "Ctor1",
    "addr": "/Ctor1/",
    "kind": "f",
    "type": "void function()",
    "lineno": 1,
    "origin": {
      "!span": "9[0:9]-14[0:14]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/objnames.js"
  },
  {
    "name": "prototype",
    "addr": "/prototype/",
    "kind": "v",
    "lineno": 2,
    "namespace": "Ctor1",
    "origin": {
      "!span": "40[1:6]-49[1:15]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/objnames.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "number",
    "lineno": 2,
    "namespace": "Ctor1.prototype",
    "origin": {
      "!span": "53[1:19]-54[1:20]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/objnames.js"
  },
  {
    "name": "Ctor2",
    "addr": "/Ctor2/",
    "kind": "f",
    "type": "void function()",
    "lineno": 4,
    "origin": {
      "!span": "70[3:9]-75[3:14]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/objnames.js"
  },
  {
    "name": "singleton",
    "addr": "/singleton/",
    "kind": "v",
    "lineno": 6,
    "origin": {
      "!span": "86[5:4]-95[5:13]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/objnames.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "number",
    "lineno": 6,
    "namespace": "singleton",
    "origin": {
      "!span": "99[5:17]-100[5:18]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/objnames.js"
  },
  {
    "name": "b",
    "addr": "/b/",
    "kind": "v",
    "type": "number",
    "lineno": 6,
    "namespace": "singleton",
    "origin": {
      "!span": "106[5:24]-107[5:25]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/objnames.js"
  },
  {
    "name": "foo",
    "addr": "/foo/",
    "kind": "v",
    "lineno": 7,
    "origin": {
      "!span": "73[6:4]-76[6:7]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/order_of_definition.js"
  },
  {
    "name": "baz",
    "addr": "/baz/",
    "kind": "v",
    "lineno": 9,
    "origin": {
      "!span": "88[8:4]-91[8:7]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/order_of_definition.js"
  },
  {
    "name": "bug",
    "addr": "/bug/",
    "kind": "f",
    "type": "void function(baz.bug.!0)",
    "lineno": 9,
    "namespace": "baz",
    "origin": {
      "!span": "95[8:11]-98[8:14]",
      "!type": "fn(o: baz.bug.!0)",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/order_of_definition.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "f",
    "type": "void function()",
    "lineno": 10,
    "namespace": "baz.bug",
    "origin": {
      "!span": "125[9:11]-126[9:12]",
      "!type": "fn()",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/order_of_definition.js"
  },
  {
    "name": "bar",
    "addr": "/bar/",
    "kind": "v",
    "lineno": 15,
    "namespace": "foo",
    "origin": {
      "!span": "192[14:4]-195[14:7]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/order_of_definition.js"
  },
  {
    "name": "mod",
    "addr": "/mod/",
    "kind": "v",
    "lineno": 1,
    "origin": {
      "!span": "4[0:4]-7[0:7]",
      "!data": {
        "isConstructor": false
      }
    },
    "tagfile": "__DIR__/phantom_object.js"
  },
  {
    "name": "func",
    "addr": "/func/",
    "kind": "f",
    "type": "number function()",
    "lineno": 3,
    "namespace": "mod",
    "origin": {
      "!span": "31[2:4]-35[2:8]",
      "!type": "fn() -> number",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/phantom_object.js"
  },
  {
    "name": "otherMod",
    "addr": "/otherMod/",
    "kind": "v",
    "lineno": 7,
    "origin": {
      "!span": "97[6:4]-105[6:12]",
      "!data": {
        "isConstructor": false
      }
    },
    "tagfile": "__DIR__/phantom_object.js"
  },
  {
    "name": "c",
    "addr": "/c/",
    "kind": "v",
    "type": "number",
    "lineno": 9,
    "namespace": "otherMod",
    "origin": {
      "!span": "148[8:9]-149[8:10]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/phantom_object.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "v",
    "type": "number",
    "lineno": 1,
    "origin": {
      "!span": "4[0:4]-5[0:5]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/plus.js"
  },
  {
    "name": "y",
    "addr": "/y/",
    "kind": "v",
    "type": "string",
    "lineno": 2,
    "origin": {
      "!span": "16[1:4]-17[1:5]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/plus.js"
  },
  {
    "name": "p",
    "addr": "/p/",
    "kind": "v",
    "type": "Promise",
    "lineno": 1,
    "origin": {
      "!span": "4[0:4]-5[0:5]",
      "!type": "+Promise",
      "!data": {
        "isConstructor": false,
        "type": "Promise.prototype"
      }
    },
    "tagfile": "__DIR__/promise.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "v",
    "type": "number",
    "lineno": 3,
    "namespace": "Promise.:t",
    "origin": {
      "!span": "85[2:10]-86[2:11]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/promise.js"
  },
  {
    "name": ":t",
    "addr": "/function\\(acc\\) \\{ acc\\(\"hi\"\\); \\}/",
    "kind": "v",
    "type": "string",
    "lineno": 12,
    "namespace": "p2",
    "origin": {
      "!span": "228[11:21]-256[11:49]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/promise.js"
  },
  {
    "name": "p2",
    "addr": "/p2/",
    "kind": "v",
    "type": "Promise",
    "lineno": 12,
    "origin": {
      "!span": "211[11:4]-213[11:6]",
      "!type": "+Promise",
      "!data": {
        "isConstructor": false,
        "type": "Promise.prototype"
      }
    },
    "tagfile": "__DIR__/promise.js"
  },
  {
    "name": "p3",
    "addr": "/p3/",
    "kind": "v",
    "type": "Promise",
    "lineno": 21,
    "origin": {
      "!span": "408[20:4]-410[20:6]",
      "!type": "+Promise",
      "!data": {
        "isConstructor": false,
        "type": "Promise.prototype"
      }
    },
    "tagfile": "__DIR__/promise.js"
  },
  {
    "name": ":t",
    "addr": "/10/",
    "kind": "v",
    "type": "number",
    "lineno": 21,
    "namespace": "p3",
    "origin": {
      "!span": "429[20:25]-431[20:27]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/promise.js"
  },
  {
    "name": "p4",
    "addr": "/p4/",
    "kind": "v",
    "type": "Promise",
    "lineno": 30,
    "origin": {
      "!span": "549[29:4]-551[29:6]",
      "!type": "+Promise",
      "!data": {
        "isConstructor": false,
        "type": "Promise.prototype"
      }
    },
    "tagfile": "__DIR__/promise.js"
  },
  {
    "name": ":t",
    "addr": "/Promise\\.resolve\\(10\\)/",
    "kind": "v",
    "type": "number",
    "lineno": 30,
    "namespace": "p4",
    "origin": {
      "!span": "570[29:25]-589[29:44]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/promise.js"
  },
  {
    "name": ":t",
    "addr": "/10/",
    "kind": "v",
    "type": "number",
    "lineno": 35,
    "namespace": "arg5",
    "origin": {
      "!span": "678[34:35]-680[34:37]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/promise.js"
  },
  {
    "name": "arg5",
    "addr": "/arg5/",
    "kind": "v",
    "type": "?|number",
    "lineno": 35,
    "origin": {
      "!span": "647[34:4]-651[34:8]",
      "!type": "?|number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false
      }
    },
    "tagfile": "__DIR__/promise.js"
  },
  {
    "name": "p5",
    "addr": "/p5/",
    "kind": "v",
    "type": "Promise",
    "lineno": 36,
    "origin": {
      "!span": "692[35:4]-694[35:6]",
      "!type": "+Promise",
      "!data": {
        "isConstructor": false,
        "type": "Promise.prototype"
      }
    },
    "tagfile": "__DIR__/promise.js"
  },
  {
    "name": ":t",
    "addr": "/arg5/",
    "kind": "v",
    "type": "number",
    "lineno": 36,
    "namespace": "p5",
    "origin": {
      "!span": "713[35:25]-717[35:29]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/promise.js"
  },
  {
    "name": "p6",
    "addr": "/p6/",
    "kind": "v",
    "type": "Promise",
    "lineno": 41,
    "origin": {
      "!span": "775[40:4]-777[40:6]",
      "!type": "+Promise",
      "!data": {
        "isConstructor": false,
        "type": "Promise.prototype"
      }
    },
    "tagfile": "__DIR__/promise.js"
  },
  {
    "name": ":t",
    "addr": "/function\\(value\\) \\{/",
    "kind": "v",
    "type": "number",
    "lineno": 43,
    "namespace": "p6",
    "origin": {
      "!span": "870[42:8]-909[44:1]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/promise.js"
  },
  {
    "name": "p7",
    "addr": "/p7/",
    "kind": "v",
    "type": "Promise",
    "lineno": 47,
    "origin": {
      "!span": "917[46:4]-919[46:6]",
      "!type": "+Promise",
      "!data": {
        "isConstructor": false,
        "type": "Promise.prototype"
      }
    },
    "tagfile": "__DIR__/promise.js"
  },
  {
    "name": ":t",
    "addr": "/function\\(value\\) \\{/",
    "kind": "v",
    "type": "number",
    "lineno": 49,
    "namespace": "p7",
    "origin": {
      "!span": "979[48:8]-1018[50:1]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/promise.js"
  },
  {
    "name": "p8",
    "addr": "/p8/",
    "kind": "v",
    "type": "Promise",
    "lineno": 53,
    "origin": {
      "!span": "1026[52:4]-1028[52:6]",
      "!type": "+Promise",
      "!data": {
        "isConstructor": false,
        "type": "Promise.prototype"
      }
    },
    "tagfile": "__DIR__/promise.js"
  },
  {
    "name": "arg",
    "addr": "/arg/",
    "kind": "v",
    "type": "string",
    "lineno": 56,
    "namespace": "myResolve1",
    "origin": {
      "!span": "1086[55:20]-1089[55:23]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/promise.js"
  },
  {
    "name": "myResolve1",
    "addr": "/myResolve1/",
    "kind": "f",
    "type": "Promise function(string)",
    "lineno": 56,
    "origin": {
      "!span": "1075[55:9]-1085[55:19]",
      "!type": "fn(arg: string) -> +Promise",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/promise.js"
  },
  {
    "name": "myResolve2",
    "addr": "/myResolve2/",
    "kind": "f",
    "type": "Promise function(string|number)",
    "lineno": 62,
    "origin": {
      "!span": "1171[61:9]-1181[61:19]",
      "!type": "fn(arg: string|number) -> +Promise",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/promise.js"
  },
  {
    "name": "arg7",
    "addr": "/arg7/",
    "kind": "v",
    "type": "?|number",
    "lineno": 73,
    "namespace": "myResolve3",
    "origin": {
      "!span": "1394[72:20]-1398[72:24]",
      "!type": "?|number",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true
      }
    },
    "tagfile": "__DIR__/promise.js"
  },
  {
    "name": "myResolve3",
    "addr": "/myResolve3/",
    "kind": "f",
    "type": "Promise function(?|number)",
    "lineno": 73,
    "origin": {
      "!span": "1383[72:9]-1393[72:19]",
      "!type": "fn(arg7: ?|number) -> +Promise",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/promise.js"
  },
  {
    "name": ":t",
    "addr": "/arg7/",
    "kind": "v",
    "type": "number",
    "lineno": 74,
    "namespace": "Promise",
    "origin": {
      "!span": "1427[73:25]-1431[73:29]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/promise.js"
  },
  {
    "name": ":t",
    "addr": "/4/",
    "kind": "v",
    "type": "number",
    "lineno": 81,
    "namespace": "myResolve3.arg7",
    "origin": {
      "!span": "1543[80:27]-1544[80:28]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/promise.js"
  },
  {
    "name": "Foo",
    "addr": "/Foo/",
    "kind": "f",
    "type": "void function(bool)",
    "lineno": 1,
    "origin": {
      "!span": "9[0:9]-12[0:12]",
      "!type": "fn(x: bool)",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/proto.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "v",
    "type": "boolean",
    "lineno": 1,
    "namespace": "Foo",
    "origin": {
      "!span": "13[0:13]-14[0:14]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype",
        "scoped": true,
        "isArg": true
      }
    },
    "tagfile": "__DIR__/proto.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "v",
    "type": "boolean",
    "lineno": 2,
    "namespace": "z",
    "origin": {
      "!span": "25[1:7]-26[1:8]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/proto.js"
  },
  {
    "name": "y",
    "addr": "/y/",
    "kind": "v",
    "type": "[number]",
    "lineno": 3,
    "namespace": "Foo",
    "origin": {
      "!span": "39[2:7]-40[2:8]",
      "!type": "[number]",
      "!data": {
        "isConstructor": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/proto.js"
  },
  {
    "name": "prototype",
    "addr": "/prototype/",
    "kind": "v",
    "lineno": 7,
    "namespace": "Foo",
    "origin": {
      "!span": "76[6:4]-85[6:13]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/proto.js"
  },
  {
    "name": "makeString",
    "addr": "/makeString/",
    "kind": "f",
    "type": "string function()",
    "lineno": 8,
    "namespace": "Foo.prototype",
    "origin": {
      "!span": "92[7:2]-102[7:12]",
      "!type": "fn() -> string",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/proto.js"
  },
  {
    "name": "bar",
    "addr": "/bar/",
    "kind": "v",
    "type": "number",
    "lineno": 9,
    "namespace": "Foo.prototype",
    "origin": {
      "!span": "135[8:2]-138[8:5]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/proto.js"
  },
  {
    "name": "z",
    "addr": "/z/",
    "kind": "v",
    "type": "Foo",
    "lineno": 12,
    "origin": {
      "!span": "151[11:4]-152[11:5]",
      "!type": "+Foo",
      "!data": {
        "isConstructor": false,
        "type": "Foo.prototype"
      }
    },
    "tagfile": "__DIR__/proto.js"
  },
  {
    "name": "Base",
    "addr": "/Base/",
    "kind": "f",
    "type": "void function()",
    "lineno": 1,
    "origin": {
      "!span": "9[0:9]-13[0:13]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/protoname.js"
  },
  {
    "name": "prototype",
    "addr": "/prototype/",
    "kind": "v",
    "lineno": 2,
    "namespace": "Base",
    "origin": {
      "!span": "24[1:5]-33[1:14]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/protoname.js"
  },
  {
    "name": "Sub1",
    "addr": "/Sub1/",
    "kind": "f",
    "type": "void function()",
    "lineno": 7,
    "origin": {
      "!span": "105[6:9]-109[6:13]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/protoname.js"
  },
  {
    "name": "prototype",
    "addr": "/prototype/",
    "kind": "v",
    "lineno": 8,
    "namespace": "Sub1",
    "origin": {
      "!span": "120[7:5]-129[7:14]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Base.prototype"
      }
    },
    "tagfile": "__DIR__/protoname.js"
  },
  {
    "name": "Sub2",
    "addr": "/Sub2/",
    "kind": "f",
    "type": "void function()",
    "lineno": 11,
    "origin": {
      "!span": "175[10:9]-179[10:13]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/protoname.js"
  },
  {
    "name": "prototype",
    "addr": "/prototype/",
    "kind": "v",
    "lineno": 12,
    "namespace": "Sub2",
    "origin": {
      "!span": "190[11:5]-199[11:14]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Base.prototype"
      }
    },
    "tagfile": "__DIR__/protoname.js"
  },
  {
    "name": "Base2",
    "addr": "/Base2/",
    "kind": "f",
    "type": "void function()",
    "lineno": 15,
    "origin": {
      "!span": "264[14:9]-269[14:14]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/protoname.js"
  },
  {
    "name": "Sub3",
    "addr": "/Sub3/",
    "kind": "f",
    "type": "void function()",
    "lineno": 17,
    "origin": {
      "!span": "285[16:9]-289[16:13]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/protoname.js"
  },
  {
    "name": "prototype",
    "addr": "/prototype/",
    "kind": "v",
    "lineno": 18,
    "namespace": "Sub3",
    "origin": {
      "!span": "300[17:5]-309[17:14]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Base2.prototype"
      }
    },
    "tagfile": "__DIR__/protoname.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "v",
    "type": "Type",
    "lineno": 1,
    "origin": {
      "!span": "4[0:4]-5[0:5]",
      "!type": "+Type",
      "!data": {
        "isConstructor": false,
        "type": "Type.prototype"
      }
    },
    "tagfile": "__DIR__/replace_bogus_prop.js"
  },
  {
    "name": "Type",
    "addr": "/Type/",
    "kind": "f",
    "type": "void function()",
    "lineno": 5,
    "origin": {
      "!span": "49[4:9]-53[4:13]",
      "!type": "fn()",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/replace_bogus_prop.js"
  },
  {
    "name": "foo",
    "addr": "/foo/",
    "kind": "v",
    "type": "string",
    "lineno": 6,
    "namespace": "Type.prototype",
    "origin": {
      "!span": "74[5:15]-77[5:18]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/replace_bogus_prop.js"
  },
  {
    "name": "set",
    "addr": "/set/",
    "kind": "v",
    "type": "Set",
    "lineno": 1,
    "origin": {
      "!span": "4[0:4]-7[0:7]",
      "!type": "+Set",
      "!data": {
        "isConstructor": false,
        "type": "Set.prototype"
      }
    },
    "tagfile": "__DIR__/set.js"
  },
  {
    "name": "elt",
    "addr": "/elt/",
    "kind": "v",
    "type": "boolean",
    "lineno": 7,
    "origin": {
      "!span": "86[6:9]-89[6:12]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/set.js"
  },
  {
    "name": "foo",
    "addr": "/foo/",
    "kind": "v",
    "type": "number",
    "lineno": 1,
    "origin": {
      "!span": "4[0:4]-7[0:7]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/simple.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "v",
    "lineno": 6,
    "origin": {
      "!span": "64[5:4]-65[5:5]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/simple.js"
  },
  {
    "name": "init",
    "addr": "/init/",
    "kind": "f",
    "type": "void function(x)",
    "lineno": 8,
    "origin": {
      "!span": "82[7:9]-86[7:13]",
      "!type": "fn(v: x)",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/simple.js"
  },
  {
    "name": "foo",
    "addr": "/foo/",
    "kind": "v",
    "type": "number",
    "lineno": 9,
    "namespace": "x",
    "origin": {
      "!span": "96[8:4]-99[8:7]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/simple.js"
  },
  {
    "name": "bar",
    "addr": "/bar/",
    "kind": "v",
    "type": "number",
    "lineno": 10,
    "namespace": "x",
    "origin": {
      "!span": "110[9:4]-113[9:7]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/simple.js"
  },
  {
    "name": "last",
    "addr": "/last/",
    "kind": "f",
    "type": "!0.<i> function(Array[number]|[string])",
    "lineno": 1,
    "origin": {
      "!span": "9[0:9]-13[0:13]",
      "!type": "fn(arr: [number]|[string]) -> !0.<i>",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/simple_generic.js"
  },
  {
    "name": "arr",
    "addr": "/arr/",
    "kind": "v",
    "type": "[number]|[string]",
    "lineno": 1,
    "namespace": "last",
    "origin": {
      "!span": "14[0:14]-17[0:17]",
      "!type": "[number]|[string]",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/simple_generic.js"
  },
  {
    "name": "map",
    "addr": "/map/",
    "kind": "f",
    "type": "string|fn() -> bool) -> [?] function(Array[number], fn()",
    "lineno": 6,
    "origin": {
      "!span": "124[5:9]-127[5:12]",
      "!type": "fn(arr: [number], f: fn() -> string|fn() -> bool) -> [?]",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/simple_generic.js"
  },
  {
    "name": "arr",
    "addr": "/arr/",
    "kind": "v",
    "type": "[number]",
    "lineno": 6,
    "namespace": "map",
    "origin": {
      "!span": "128[5:13]-131[5:16]",
      "!type": "[number]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/simple_generic.js"
  },
  {
    "name": "f",
    "addr": "/f/",
    "kind": "f",
    "type": "boolean function()",
    "lineno": 6,
    "namespace": "map",
    "origin": {
      "!span": "133[5:18]-134[5:19]",
      "!type": "fn() -> bool",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/simple_generic.js"
  },
  {
    "name": "res",
    "addr": "/res/",
    "kind": "v",
    "type": "[bool]",
    "lineno": 7,
    "namespace": "map",
    "origin": {
      "!span": "144[6:6]-147[6:9]",
      "!type": "[bool]",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/simple_generic.js"
  },
  {
    "name": "i",
    "addr": "/i/",
    "kind": "v",
    "type": "number",
    "lineno": 8,
    "namespace": "map",
    "origin": {
      "!span": "165[7:11]-166[7:12]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": false,
        "isArg": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/simple_generic.js"
  },
  {
    "name": "Point3",
    "addr": "/Point3/",
    "kind": "f",
    "type": "void function(number, number, number)",
    "lineno": 1,
    "origin": {
      "!span": "6[0:6]-12[0:12]",
      "!type": "fn(x: number, y: number, z: number)",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/super.js"
  },
  {
    "name": "prototype",
    "addr": "/class Point3 extends Point2 \\{/",
    "kind": "v",
    "lineno": 1,
    "namespace": "Point3",
    "origin": {
      "!span": "0[0:0]-150[4:1]",
      "!data": {
        "isConstructor": false,
        "type": "Point2.prototype"
      }
    },
    "tagfile": "__DIR__/super.js"
  },
  {
    "name": "z",
    "addr": "/z/",
    "kind": "v",
    "type": "number",
    "lineno": 2,
    "namespace": "Point3",
    "origin": {
      "!span": "73[1:43]-74[1:44]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/super.js"
  },
  {
    "name": "foobar",
    "addr": "/foobar/",
    "kind": "f",
    "type": "!this.x function()",
    "lineno": 3,
    "namespace": "Point3.prototype",
    "origin": {
      "!span": "83[2:2]-89[2:8]",
      "!type": "fn() -> !this.x",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/super.js"
  },
  {
    "name": "callSuper",
    "addr": "/callSuper/",
    "kind": "f",
    "type": "string function()",
    "lineno": 4,
    "namespace": "Point3.prototype",
    "origin": {
      "!span": "112[3:2]-121[3:11]",
      "!type": "fn() -> string",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/super.js"
  },
  {
    "name": "prototype",
    "addr": "/class Point2 \\{/",
    "kind": "v",
    "lineno": 7,
    "namespace": "Point2",
    "origin": {
      "!span": "152[6:0]-244[9:1]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/super.js"
  },
  {
    "name": "Point2",
    "addr": "/Point2/",
    "kind": "f",
    "type": "void function(number, number)",
    "lineno": 7,
    "origin": {
      "!span": "158[6:6]-164[6:12]",
      "!type": "fn(x: number, y: number)",
      "!data": {
        "isConstructor": true,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/super.js"
  },
  {
    "name": "y",
    "addr": "/y/",
    "kind": "v",
    "type": "number",
    "lineno": 8,
    "namespace": "Point3",
    "origin": {
      "!span": "206[7:39]-207[7:40]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/super.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "v",
    "type": "number",
    "lineno": 8,
    "namespace": "Point3",
    "origin": {
      "!span": "194[7:27]-195[7:28]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/super.js"
  },
  {
    "name": "hello",
    "addr": "/hello/",
    "kind": "f",
    "type": "string function()",
    "lineno": 9,
    "namespace": "Point2.prototype",
    "origin": {
      "!span": "216[8:2]-221[8:7]",
      "!type": "fn() -> string",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/super.js"
  },
  {
    "name": "p",
    "addr": "/p/",
    "kind": "v",
    "type": "Point3",
    "lineno": 12,
    "origin": {
      "!span": "250[11:4]-251[11:5]",
      "!type": "+Point3",
      "!data": {
        "isConstructor": false,
        "type": "Point3.prototype"
      }
    },
    "tagfile": "__DIR__/super.js"
  },
  {
    "name": "pro",
    "addr": "/pro/",
    "kind": "v",
    "lineno": 18,
    "origin": {
      "!span": "362[17:4]-365[17:7]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/super.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "v",
    "type": "number",
    "lineno": 18,
    "namespace": "pro",
    "origin": {
      "!span": "369[17:11]-370[17:12]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/super.js"
  },
  {
    "name": "obj",
    "addr": "/obj/",
    "kind": "v",
    "lineno": 20,
    "origin": {
      "!span": "381[19:4]-384[19:7]",
      "!data": {
        "isConstructor": false,
        "type": "pro"
      }
    },
    "tagfile": "__DIR__/super.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "v",
    "type": "string",
    "lineno": 22,
    "namespace": "obj",
    "origin": {
      "!span": "409[21:2]-410[21:3]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/super.js"
  },
  {
    "name": "getSuperX",
    "addr": "/getSuperX/",
    "kind": "f",
    "type": "number function()",
    "lineno": 23,
    "namespace": "obj",
    "origin": {
      "!span": "424[22:2]-433[22:11]",
      "!type": "fn() -> number",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/super.js"
  },
  {
    "name": "mySym",
    "addr": "/mySym/",
    "kind": "v",
    "lineno": 1,
    "origin": {
      "!span": "4[0:4]-9[0:9]",
      "!data": {
        "isConstructor": false,
        "type": "Symbol.prototype"
      }
    },
    "tagfile": "__DIR__/symbol.js"
  },
  {
    "name": "obj",
    "addr": "/obj/",
    "kind": "v",
    "lineno": 3,
    "origin": {
      "!span": "34[2:4]-37[2:7]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/symbol.js"
  },
  {
    "name": ":my_sym",
    "addr": "/mySym/",
    "kind": "v",
    "type": "number",
    "lineno": 4,
    "namespace": "obj",
    "origin": {
      "!span": "45[3:3]-50[3:8]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/symbol.js"
  },
  {
    "name": "iterator",
    "addr": "/Symbol\\.iterator/",
    "kind": "v",
    "type": "string",
    "lineno": 8,
    "namespace": "obj.:Symbol",
    "origin": {
      "!span": "85[7:4]-100[7:19]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/symbol.js"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "v",
    "type": "number",
    "lineno": 2,
    "origin": {
      "!span": "21[1:4]-22[1:5]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/template.js"
  },
  {
    "name": "build",
    "addr": "/build/",
    "kind": "f",
    "type": "boolean function(Array[string], number, string)",
    "lineno": 6,
    "origin": {
      "!span": "75[5:9]-80[5:14]",
      "!type": "fn(strs: [string], a: number, b: string) -> bool",
      "!data": {
        "isConstructor": false,
        "type": "Function.prototype"
      }
    },
    "tagfile": "__DIR__/template.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "number",
    "lineno": 6,
    "namespace": "build",
    "origin": {
      "!span": "87[5:21]-88[5:22]",
      "!type": "number",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Number.prototype"
      }
    },
    "tagfile": "__DIR__/template.js"
  },
  {
    "name": "b",
    "addr": "/b/",
    "kind": "v",
    "type": "string",
    "lineno": 6,
    "namespace": "build",
    "origin": {
      "!span": "90[5:24]-91[5:25]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/template.js"
  },
  {
    "name": "strs",
    "addr": "/strs/",
    "kind": "v",
    "type": "[string]",
    "lineno": 6,
    "namespace": "build",
    "origin": {
      "!span": "81[5:15]-85[5:19]",
      "!type": "[string]",
      "!data": {
        "isConstructor": false,
        "scoped": true,
        "isArg": true,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/template.js"
  },
  {
    "name": "a",
    "addr": "/a/",
    "kind": "v",
    "type": "boolean",
    "lineno": 1,
    "origin": {
      "!span": "4[0:4]-5[0:5]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "foo",
    "addr": "/foo/",
    "kind": "v",
    "type": "boolean",
    "lineno": 3,
    "origin": {
      "!span": "48[2:13]-51[2:16]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "e",
    "addr": "/e/",
    "kind": "v",
    "type": "boolean",
    "lineno": 5,
    "origin": {
      "!span": "139[4:4]-140[4:5]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "test",
    "addr": "/test/",
    "kind": "v",
    "type": "boolean",
    "lineno": 7,
    "origin": {
      "!span": "192[6:20]-196[6:24]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "g",
    "addr": "/g/",
    "kind": "v",
    "type": "boolean",
    "lineno": 7,
    "origin": {
      "!span": "176[6:4]-177[6:5]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "h",
    "addr": "/h/",
    "kind": "v",
    "type": "boolean",
    "lineno": 8,
    "origin": {
      "!span": "241[7:4]-242[7:5]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "i",
    "addr": "/i/",
    "kind": "v",
    "type": "boolean",
    "lineno": 9,
    "origin": {
      "!span": "278[8:4]-279[8:5]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "j",
    "addr": "/j/",
    "kind": "v",
    "type": "boolean",
    "lineno": 10,
    "origin": {
      "!span": "297[9:4]-298[9:5]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "k",
    "addr": "/k/",
    "kind": "v",
    "type": "boolean",
    "lineno": 11,
    "origin": {
      "!span": "339[10:4]-340[10:5]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "l",
    "addr": "/l/",
    "kind": "v",
    "type": "boolean",
    "lineno": 12,
    "origin": {
      "!span": "373[11:4]-374[11:5]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "m",
    "addr": "/m/",
    "kind": "v",
    "type": "boolean",
    "lineno": 13,
    "origin": {
      "!span": "424[12:4]-425[12:5]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "left",
    "addr": "/left/",
    "kind": "v",
    "type": "boolean",
    "lineno": 13,
    "origin": {
      "!span": "439[12:19]-443[12:23]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "n",
    "addr": "/n/",
    "kind": "v",
    "type": "boolean",
    "lineno": 14,
    "origin": {
      "!span": "491[13:4]-492[13:5]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "o",
    "addr": "/o/",
    "kind": "v",
    "type": "boolean",
    "lineno": 15,
    "origin": {
      "!span": "512[14:4]-513[14:5]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "p",
    "addr": "/p/",
    "kind": "v",
    "type": "boolean",
    "lineno": 16,
    "origin": {
      "!span": "537[15:4]-538[15:5]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "q",
    "addr": "/q/",
    "kind": "v",
    "type": "boolean",
    "lineno": 17,
    "origin": {
      "!span": "561[16:4]-562[16:5]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "r",
    "addr": "/r/",
    "kind": "v",
    "type": "boolean",
    "lineno": 18,
    "origin": {
      "!span": "589[17:4]-590[17:5]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "post",
    "addr": "/post/",
    "kind": "v",
    "type": "boolean",
    "lineno": 18,
    "origin": {
      "!span": "609[17:24]-613[17:28]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "pre2",
    "addr": "/pre2/",
    "kind": "v",
    "type": "string",
    "lineno": 19,
    "origin": {
      "!span": "657[18:27]-661[18:31]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "pre",
    "addr": "/pre/",
    "kind": "v",
    "type": "string",
    "lineno": 19,
    "origin": {
      "!span": "643[18:13]-646[18:16]",
      "!type": "string",
      "!data": {
        "isConstructor": false,
        "type": "String.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "s",
    "addr": "/s/",
    "kind": "v",
    "type": "boolean",
    "lineno": 19,
    "origin": {
      "!span": "634[18:4]-635[18:5]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "aa",
    "addr": "/aa/",
    "kind": "v",
    "lineno": 20,
    "origin": {
      "!span": "704[19:11]-706[19:13]",
      "!data": {
        "isConstructor": false,
        "type": "Object.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "bb",
    "addr": "/bb/",
    "kind": "v",
    "type": "boolean",
    "lineno": 20,
    "origin": {
      "!span": "718[19:25]-720[19:27]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "t",
    "addr": "/t/",
    "kind": "v",
    "type": "boolean",
    "lineno": 20,
    "origin": {
      "!span": "697[19:4]-698[19:5]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "href",
    "addr": "/href/",
    "kind": "v",
    "type": "boolean",
    "lineno": 21,
    "origin": {
      "!span": "773[20:18]-777[20:22]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "u",
    "addr": "/u/",
    "kind": "v",
    "type": "boolean",
    "lineno": 21,
    "origin": {
      "!span": "759[20:4]-760[20:5]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "v",
    "addr": "/v/",
    "kind": "v",
    "type": "boolean",
    "lineno": 22,
    "origin": {
      "!span": "809[21:4]-810[21:5]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "x",
    "addr": "/x/",
    "kind": "v",
    "type": "boolean",
    "lineno": 23,
    "origin": {
      "!span": "849[22:4]-850[22:5]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "w",
    "addr": "/w/",
    "kind": "v",
    "type": "boolean",
    "lineno": 24,
    "origin": {
      "!span": "877[23:4]-878[23:5]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "y",
    "addr": "/y/",
    "kind": "v",
    "type": "boolean",
    "lineno": 25,
    "origin": {
      "!span": "903[24:4]-904[24:5]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "z",
    "addr": "/z/",
    "kind": "v",
    "type": "boolean",
    "lineno": 26,
    "origin": {
      "!span": "930[25:4]-931[25:5]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "ç",
    "addr": "/ç/",
    "kind": "v",
    "type": "boolean",
    "lineno": 27,
    "origin": {
      "!span": "972[26:4]-973[26:5]",
      "!type": "bool",
      "!data": {
        "isConstructor": false,
        "type": "Boolean.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  },
  {
    "name": "arr",
    "addr": "/arr/",
    "kind": "v",
    "type": "[bool]",
    "lineno": 29,
    "origin": {
      "!span": "1052[28:4]-1055[28:7]",
      "!type": "[bool]",
      "!data": {
        "isConstructor": false,
        "type": "Array.prototype"
      }
    },
    "tagfile": "__DIR__/react.jsx"
  }
]
