{
  "type": "File",
  "start": 0,
  "end": 2630,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 87,
      "column": 1
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 2630,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 87,
        "column": 1
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ExportDefaultDeclaration",
        "start": 224,
        "end": 2630,
        "loc": {
          "start": {
            "line": 6,
            "column": 0
          },
          "end": {
            "line": 87,
            "column": 1
          }
        },
        "declaration": {
          "type": "ClassDeclaration",
          "start": 239,
          "end": 2630,
          "loc": {
            "start": {
              "line": 6,
              "column": 15
            },
            "end": {
              "line": 87,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 245,
            "end": 253,
            "loc": {
              "start": {
                "line": 6,
                "column": 21
              },
              "end": {
                "line": 6,
                "column": 29
              },
              "identifierName": "Messager"
            },
            "name": "Messager",
            "leadingComments": null
          },
          "superClass": null,
          "body": {
            "type": "ClassBody",
            "start": 254,
            "end": 2630,
            "loc": {
              "start": {
                "line": 6,
                "column": 30
              },
              "end": {
                "line": 87,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 260,
                "end": 370,
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 4
                  },
                  "end": {
                    "line": 11,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 260,
                  "end": 271,
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 4
                    },
                    "end": {
                      "line": 7,
                      "column": 15
                    },
                    "identifierName": "constructor"
                  },
                  "name": "constructor"
                },
                "kind": "constructor",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 274,
                  "end": 370,
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 18
                    },
                    "end": {
                      "line": 11,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 284,
                      "end": 311,
                      "loc": {
                        "start": {
                          "line": 8,
                          "column": 8
                        },
                        "end": {
                          "line": 8,
                          "column": 35
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 284,
                        "end": 310,
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 8
                          },
                          "end": {
                            "line": 8,
                            "column": 34
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 284,
                          "end": 306,
                          "loc": {
                            "start": {
                              "line": 8,
                              "column": 8
                            },
                            "end": {
                              "line": 8,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 284,
                            "end": 288,
                            "loc": {
                              "start": {
                                "line": 8,
                                "column": 8
                              },
                              "end": {
                                "line": 8,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 289,
                            "end": 306,
                            "loc": {
                              "start": {
                                "line": 8,
                                "column": 13
                              },
                              "end": {
                                "line": 8,
                                "column": 30
                              },
                              "identifierName": "listenerIDCounter"
                            },
                            "name": "listenerIDCounter"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NumericLiteral",
                          "start": 309,
                          "end": 310,
                          "loc": {
                            "start": {
                              "line": 8,
                              "column": 33
                            },
                            "end": {
                              "line": 8,
                              "column": 34
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 320,
                      "end": 335,
                      "loc": {
                        "start": {
                          "line": 9,
                          "column": 8
                        },
                        "end": {
                          "line": 9,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 320,
                        "end": 334,
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 8
                          },
                          "end": {
                            "line": 9,
                            "column": 22
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 320,
                          "end": 329,
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 8
                            },
                            "end": {
                              "line": 9,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 320,
                            "end": 324,
                            "loc": {
                              "start": {
                                "line": 9,
                                "column": 8
                              },
                              "end": {
                                "line": 9,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 325,
                            "end": 329,
                            "loc": {
                              "start": {
                                "line": 9,
                                "column": 13
                              },
                              "end": {
                                "line": 9,
                                "column": 17
                              },
                              "identifierName": "data"
                            },
                            "name": "data"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "start": 332,
                          "end": 334,
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 20
                            },
                            "end": {
                              "line": 9,
                              "column": 22
                            }
                          },
                          "properties": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 344,
                      "end": 364,
                      "loc": {
                        "start": {
                          "line": 10,
                          "column": 8
                        },
                        "end": {
                          "line": 10,
                          "column": 28
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 344,
                        "end": 363,
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 8
                          },
                          "end": {
                            "line": 10,
                            "column": 27
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 344,
                          "end": 358,
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 8
                            },
                            "end": {
                              "line": 10,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 344,
                            "end": 348,
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 8
                              },
                              "end": {
                                "line": 10,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 349,
                            "end": 358,
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 13
                              },
                              "end": {
                                "line": 10,
                                "column": 22
                              },
                              "identifierName": "listeners"
                            },
                            "name": "listeners"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "start": 361,
                          "end": 363,
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 25
                            },
                            "end": {
                              "line": 10,
                              "column": 27
                            }
                          },
                          "properties": []
                        }
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Updates the data at a specific location in the Messager storage dictionary.\n     * If there are listeners, notify them.\n     * \n     * @param {string} key Dictionary key name.\n     * @param {*} data Data to set.\n     ",
                    "start": 376,
                    "end": 606,
                    "loc": {
                      "start": {
                        "line": 13,
                        "column": 4
                      },
                      "end": {
                        "line": 19,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 611,
                "end": 802,
                "loc": {
                  "start": {
                    "line": 20,
                    "column": 4
                  },
                  "end": {
                    "line": 27,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 611,
                  "end": 614,
                  "loc": {
                    "start": {
                      "line": 20,
                      "column": 4
                    },
                    "end": {
                      "line": 20,
                      "column": 7
                    },
                    "identifierName": "set"
                  },
                  "name": "set",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 615,
                    "end": 618,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 8
                      },
                      "end": {
                        "line": 20,
                        "column": 11
                      },
                      "identifierName": "key"
                    },
                    "name": "key"
                  },
                  {
                    "type": "Identifier",
                    "start": 620,
                    "end": 624,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 13
                      },
                      "end": {
                        "line": 20,
                        "column": 17
                      },
                      "identifierName": "data"
                    },
                    "name": "data"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 626,
                  "end": 802,
                  "loc": {
                    "start": {
                      "line": 20,
                      "column": 19
                    },
                    "end": {
                      "line": 27,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 636,
                      "end": 658,
                      "loc": {
                        "start": {
                          "line": 21,
                          "column": 8
                        },
                        "end": {
                          "line": 21,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 636,
                        "end": 657,
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 8
                          },
                          "end": {
                            "line": 21,
                            "column": 29
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 636,
                          "end": 650,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 8
                            },
                            "end": {
                              "line": 21,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 636,
                            "end": 645,
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 8
                              },
                              "end": {
                                "line": 21,
                                "column": 17
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 636,
                              "end": 640,
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 8
                                },
                                "end": {
                                  "line": 21,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 641,
                              "end": 645,
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 13
                                },
                                "end": {
                                  "line": 21,
                                  "column": 17
                                },
                                "identifierName": "data"
                              },
                              "name": "data"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 646,
                            "end": 649,
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 18
                              },
                              "end": {
                                "line": 21,
                                "column": 21
                              },
                              "identifierName": "key"
                            },
                            "name": "key"
                          },
                          "computed": true
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 653,
                          "end": 657,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 25
                            },
                            "end": {
                              "line": 21,
                              "column": 29
                            },
                            "identifierName": "data"
                          },
                          "name": "data"
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 667,
                      "end": 796,
                      "loc": {
                        "start": {
                          "line": 22,
                          "column": 8
                        },
                        "end": {
                          "line": 26,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 671,
                        "end": 698,
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 12
                          },
                          "end": {
                            "line": 22,
                            "column": 39
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 671,
                          "end": 690,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 12
                            },
                            "end": {
                              "line": 22,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 671,
                            "end": 685,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 12
                              },
                              "end": {
                                "line": 22,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 671,
                              "end": 675,
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 12
                                },
                                "end": {
                                  "line": 22,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 676,
                              "end": 685,
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 17
                                },
                                "end": {
                                  "line": 22,
                                  "column": 26
                                },
                                "identifierName": "listeners"
                              },
                              "name": "listeners"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 686,
                            "end": 689,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 27
                              },
                              "end": {
                                "line": 22,
                                "column": 30
                              },
                              "identifierName": "key"
                            },
                            "name": "key"
                          },
                          "computed": true
                        },
                        "operator": "==",
                        "right": {
                          "type": "NullLiteral",
                          "start": 694,
                          "end": 698,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 35
                            },
                            "end": {
                              "line": 22,
                              "column": 39
                            }
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 700,
                        "end": 749,
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 41
                          },
                          "end": {
                            "line": 24,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 714,
                            "end": 739,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 12
                              },
                              "end": {
                                "line": 23,
                                "column": 37
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 714,
                              "end": 738,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 12
                                },
                                "end": {
                                  "line": 23,
                                  "column": 36
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 714,
                                "end": 733,
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 23,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 714,
                                  "end": 728,
                                  "loc": {
                                    "start": {
                                      "line": 23,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 23,
                                      "column": 26
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 714,
                                    "end": 718,
                                    "loc": {
                                      "start": {
                                        "line": 23,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 23,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 719,
                                    "end": 728,
                                    "loc": {
                                      "start": {
                                        "line": 23,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 23,
                                        "column": 26
                                      },
                                      "identifierName": "listeners"
                                    },
                                    "name": "listeners"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 729,
                                  "end": 732,
                                  "loc": {
                                    "start": {
                                      "line": 23,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 23,
                                      "column": 30
                                    },
                                    "identifierName": "key"
                                  },
                                  "name": "key"
                                },
                                "computed": true
                              },
                              "right": {
                                "type": "ArrayExpression",
                                "start": 736,
                                "end": 738,
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 23,
                                    "column": 36
                                  }
                                },
                                "elements": []
                              }
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "start": 755,
                        "end": 796,
                        "loc": {
                          "start": {
                            "line": 24,
                            "column": 15
                          },
                          "end": {
                            "line": 26,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 769,
                            "end": 786,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 12
                              },
                              "end": {
                                "line": 25,
                                "column": 29
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 769,
                              "end": 785,
                              "loc": {
                                "start": {
                                  "line": 25,
                                  "column": 12
                                },
                                "end": {
                                  "line": 25,
                                  "column": 28
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 769,
                                "end": 780,
                                "loc": {
                                  "start": {
                                    "line": 25,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 25,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 769,
                                  "end": 773,
                                  "loc": {
                                    "start": {
                                      "line": 25,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 25,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 774,
                                  "end": 780,
                                  "loc": {
                                    "start": {
                                      "line": 25,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 25,
                                      "column": 23
                                    },
                                    "identifierName": "notify"
                                  },
                                  "name": "notify"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 781,
                                  "end": 784,
                                  "loc": {
                                    "start": {
                                      "line": 25,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 25,
                                      "column": 27
                                    },
                                    "identifierName": "key"
                                  },
                                  "name": "key"
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Updates the data at a specific location in the Messager storage dictionary.\n     * If there are listeners, notify them.\n     * \n     * @param {string} key Dictionary key name.\n     * @param {*} data Data to set.\n     ",
                    "start": 376,
                    "end": 606,
                    "loc": {
                      "start": {
                        "line": 13,
                        "column": 4
                      },
                      "end": {
                        "line": 19,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Notifies all listeners currently waiting on updates at\n     * the location of the dictionary key.\n     * \n     * @param {string} key Dictionary key name.\n     ",
                    "start": 808,
                    "end": 980,
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 4
                      },
                      "end": {
                        "line": 34,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 985,
                "end": 1138,
                "loc": {
                  "start": {
                    "line": 35,
                    "column": 4
                  },
                  "end": {
                    "line": 39,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 985,
                  "end": 991,
                  "loc": {
                    "start": {
                      "line": 35,
                      "column": 4
                    },
                    "end": {
                      "line": 35,
                      "column": 10
                    },
                    "identifierName": "notify"
                  },
                  "name": "notify",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 992,
                    "end": 995,
                    "loc": {
                      "start": {
                        "line": 35,
                        "column": 11
                      },
                      "end": {
                        "line": 35,
                        "column": 14
                      },
                      "identifierName": "key"
                    },
                    "name": "key"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 997,
                  "end": 1138,
                  "loc": {
                    "start": {
                      "line": 35,
                      "column": 16
                    },
                    "end": {
                      "line": 39,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ForStatement",
                      "start": 1007,
                      "end": 1132,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 8
                        },
                        "end": {
                          "line": 38,
                          "column": 9
                        }
                      },
                      "init": {
                        "type": "VariableDeclaration",
                        "start": 1012,
                        "end": 1021,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 13
                          },
                          "end": {
                            "line": 36,
                            "column": 22
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 1016,
                            "end": 1021,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 17
                              },
                              "end": {
                                "line": 36,
                                "column": 22
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 1016,
                              "end": 1017,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 17
                                },
                                "end": {
                                  "line": 36,
                                  "column": 18
                                },
                                "identifierName": "i"
                              },
                              "name": "i"
                            },
                            "init": {
                              "type": "NumericLiteral",
                              "start": 1020,
                              "end": 1021,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 21
                                },
                                "end": {
                                  "line": 36,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "value": 0
                            }
                          }
                        ],
                        "kind": "let"
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 1023,
                        "end": 1053,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 24
                          },
                          "end": {
                            "line": 36,
                            "column": 54
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 1023,
                          "end": 1024,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 24
                            },
                            "end": {
                              "line": 36,
                              "column": 25
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        },
                        "operator": "<",
                        "right": {
                          "type": "MemberExpression",
                          "start": 1027,
                          "end": 1053,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 28
                            },
                            "end": {
                              "line": 36,
                              "column": 54
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1027,
                            "end": 1046,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 28
                              },
                              "end": {
                                "line": 36,
                                "column": 47
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1027,
                              "end": 1041,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 28
                                },
                                "end": {
                                  "line": 36,
                                  "column": 42
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1027,
                                "end": 1031,
                                "loc": {
                                  "start": {
                                    "line": 36,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 36,
                                    "column": 32
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1032,
                                "end": 1041,
                                "loc": {
                                  "start": {
                                    "line": 36,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 36,
                                    "column": 42
                                  },
                                  "identifierName": "listeners"
                                },
                                "name": "listeners"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1042,
                              "end": 1045,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 43
                                },
                                "end": {
                                  "line": 36,
                                  "column": 46
                                },
                                "identifierName": "key"
                              },
                              "name": "key"
                            },
                            "computed": true
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1047,
                            "end": 1053,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 48
                              },
                              "end": {
                                "line": 36,
                                "column": 54
                              },
                              "identifierName": "length"
                            },
                            "name": "length"
                          },
                          "computed": false
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "start": 1055,
                        "end": 1058,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 56
                          },
                          "end": {
                            "line": 36,
                            "column": 59
                          }
                        },
                        "operator": "++",
                        "prefix": false,
                        "argument": {
                          "type": "Identifier",
                          "start": 1055,
                          "end": 1056,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 56
                            },
                            "end": {
                              "line": 36,
                              "column": 57
                            },
                            "identifierName": "i"
                          },
                          "name": "i"
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 1060,
                        "end": 1132,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 61
                          },
                          "end": {
                            "line": 38,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 1074,
                            "end": 1122,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 12
                              },
                              "end": {
                                "line": 37,
                                "column": 60
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 1074,
                              "end": 1121,
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 12
                                },
                                "end": {
                                  "line": 37,
                                  "column": 59
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1074,
                                "end": 1105,
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 43
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 1074,
                                  "end": 1096,
                                  "loc": {
                                    "start": {
                                      "line": 37,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 34
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 1074,
                                    "end": 1093,
                                    "loc": {
                                      "start": {
                                        "line": 37,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 37,
                                        "column": 31
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 1074,
                                      "end": 1088,
                                      "loc": {
                                        "start": {
                                          "line": 37,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 37,
                                          "column": 26
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 1074,
                                        "end": 1078,
                                        "loc": {
                                          "start": {
                                            "line": 37,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 37,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1079,
                                        "end": 1088,
                                        "loc": {
                                          "start": {
                                            "line": 37,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 37,
                                            "column": 26
                                          },
                                          "identifierName": "listeners"
                                        },
                                        "name": "listeners"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1089,
                                      "end": 1092,
                                      "loc": {
                                        "start": {
                                          "line": 37,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 37,
                                          "column": 30
                                        },
                                        "identifierName": "key"
                                      },
                                      "name": "key"
                                    },
                                    "computed": true
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1094,
                                    "end": 1095,
                                    "loc": {
                                      "start": {
                                        "line": 37,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 37,
                                        "column": 33
                                      },
                                      "identifierName": "i"
                                    },
                                    "name": "i"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1097,
                                  "end": 1105,
                                  "loc": {
                                    "start": {
                                      "line": 37,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 43
                                    },
                                    "identifierName": "callback"
                                  },
                                  "name": "callback"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 1106,
                                  "end": 1120,
                                  "loc": {
                                    "start": {
                                      "line": 37,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 58
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 1106,
                                    "end": 1115,
                                    "loc": {
                                      "start": {
                                        "line": 37,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 37,
                                        "column": 53
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 1106,
                                      "end": 1110,
                                      "loc": {
                                        "start": {
                                          "line": 37,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 37,
                                          "column": 48
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1111,
                                      "end": 1115,
                                      "loc": {
                                        "start": {
                                          "line": 37,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 37,
                                          "column": 53
                                        },
                                        "identifierName": "data"
                                      },
                                      "name": "data"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1116,
                                    "end": 1119,
                                    "loc": {
                                      "start": {
                                        "line": 37,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 37,
                                        "column": 57
                                      },
                                      "identifierName": "key"
                                    },
                                    "name": "key"
                                  },
                                  "computed": true
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Notifies all listeners currently waiting on updates at\n     * the location of the dictionary key.\n     * \n     * @param {string} key Dictionary key name.\n     ",
                    "start": 808,
                    "end": 980,
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 4
                      },
                      "end": {
                        "line": 34,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Returns the data at a location in the dictionary specified by the \n     * key.\n     * \n     * @param {string} key Dictionary key name.\n     ",
                    "start": 1144,
                    "end": 1297,
                    "loc": {
                      "start": {
                        "line": 41,
                        "column": 4
                      },
                      "end": {
                        "line": 46,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 1302,
                "end": 1349,
                "loc": {
                  "start": {
                    "line": 47,
                    "column": 4
                  },
                  "end": {
                    "line": 49,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1302,
                  "end": 1305,
                  "loc": {
                    "start": {
                      "line": 47,
                      "column": 4
                    },
                    "end": {
                      "line": 47,
                      "column": 7
                    },
                    "identifierName": "get"
                  },
                  "name": "get",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1306,
                    "end": 1309,
                    "loc": {
                      "start": {
                        "line": 47,
                        "column": 8
                      },
                      "end": {
                        "line": 47,
                        "column": 11
                      },
                      "identifierName": "key"
                    },
                    "name": "key"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1311,
                  "end": 1349,
                  "loc": {
                    "start": {
                      "line": 47,
                      "column": 13
                    },
                    "end": {
                      "line": 49,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 1321,
                      "end": 1343,
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 8
                        },
                        "end": {
                          "line": 48,
                          "column": 30
                        }
                      },
                      "argument": {
                        "type": "MemberExpression",
                        "start": 1328,
                        "end": 1342,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 15
                          },
                          "end": {
                            "line": 48,
                            "column": 29
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 1328,
                          "end": 1337,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 15
                            },
                            "end": {
                              "line": 48,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1328,
                            "end": 1332,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 15
                              },
                              "end": {
                                "line": 48,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1333,
                            "end": 1337,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 20
                              },
                              "end": {
                                "line": 48,
                                "column": 24
                              },
                              "identifierName": "data"
                            },
                            "name": "data"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1338,
                          "end": 1341,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 25
                            },
                            "end": {
                              "line": 48,
                              "column": 28
                            },
                            "identifierName": "key"
                          },
                          "name": "key"
                        },
                        "computed": true
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Returns the data at a location in the dictionary specified by the \n     * key.\n     * \n     * @param {string} key Dictionary key name.\n     ",
                    "start": 1144,
                    "end": 1297,
                    "loc": {
                      "start": {
                        "line": 41,
                        "column": 4
                      },
                      "end": {
                        "line": 46,
                        "column": 7
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Listens to a position in the dictionary for updates. The callback passed to the function\n     * is called whenever the position defined by the dictionary key is updated. \n     * \n     * By default, notifies the callback of the current data upon watching.\n     * \n     * \n     * \n     * @param {string} key Dictionary key name.\n     * @param {function} callback Callback function to trigger.\n     * @param {boolean} notifyNow Default: true. Trigger the callback now.\n     * \n     * @returns {function} A callback function to de-register from watching data at the key location.\n     ",
                    "start": 1355,
                    "end": 1949,
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 4
                      },
                      "end": {
                        "line": 64,
                        "column": 7
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 1954,
                "end": 2628,
                "loc": {
                  "start": {
                    "line": 65,
                    "column": 4
                  },
                  "end": {
                    "line": 86,
                    "column": 5
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1954,
                  "end": 1959,
                  "loc": {
                    "start": {
                      "line": 65,
                      "column": 4
                    },
                    "end": {
                      "line": 65,
                      "column": 9
                    },
                    "identifierName": "watch"
                  },
                  "name": "watch",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1960,
                    "end": 1963,
                    "loc": {
                      "start": {
                        "line": 65,
                        "column": 10
                      },
                      "end": {
                        "line": 65,
                        "column": 13
                      },
                      "identifierName": "key"
                    },
                    "name": "key"
                  },
                  {
                    "type": "Identifier",
                    "start": 1965,
                    "end": 1973,
                    "loc": {
                      "start": {
                        "line": 65,
                        "column": 15
                      },
                      "end": {
                        "line": 65,
                        "column": 23
                      },
                      "identifierName": "callback"
                    },
                    "name": "callback"
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 1975,
                    "end": 1991,
                    "loc": {
                      "start": {
                        "line": 65,
                        "column": 25
                      },
                      "end": {
                        "line": 65,
                        "column": 41
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 1975,
                      "end": 1984,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 25
                        },
                        "end": {
                          "line": 65,
                          "column": 34
                        },
                        "identifierName": "notifyNow"
                      },
                      "name": "notifyNow"
                    },
                    "right": {
                      "type": "BooleanLiteral",
                      "start": 1987,
                      "end": 1991,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 37
                        },
                        "end": {
                          "line": 65,
                          "column": 41
                        }
                      },
                      "value": true
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1993,
                  "end": 2628,
                  "loc": {
                    "start": {
                      "line": 65,
                      "column": 43
                    },
                    "end": {
                      "line": 86,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 2003,
                      "end": 2037,
                      "loc": {
                        "start": {
                          "line": 66,
                          "column": 8
                        },
                        "end": {
                          "line": 66,
                          "column": 42
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2007,
                          "end": 2036,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 12
                            },
                            "end": {
                              "line": 66,
                              "column": 41
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2007,
                            "end": 2009,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 12
                              },
                              "end": {
                                "line": 66,
                                "column": 14
                              },
                              "identifierName": "id"
                            },
                            "name": "id"
                          },
                          "init": {
                            "type": "UpdateExpression",
                            "start": 2012,
                            "end": 2036,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 17
                              },
                              "end": {
                                "line": 66,
                                "column": 41
                              }
                            },
                            "operator": "++",
                            "prefix": false,
                            "argument": {
                              "type": "MemberExpression",
                              "start": 2012,
                              "end": 2034,
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 17
                                },
                                "end": {
                                  "line": 66,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2012,
                                "end": 2016,
                                "loc": {
                                  "start": {
                                    "line": 66,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 66,
                                    "column": 21
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2017,
                                "end": 2034,
                                "loc": {
                                  "start": {
                                    "line": 66,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 66,
                                    "column": 39
                                  },
                                  "identifierName": "listenerIDCounter"
                                },
                                "name": "listenerIDCounter"
                              },
                              "computed": false
                            }
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 2046,
                      "end": 2376,
                      "loc": {
                        "start": {
                          "line": 67,
                          "column": 8
                        },
                        "end": {
                          "line": 77,
                          "column": 9
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2050,
                          "end": 2376,
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 12
                            },
                            "end": {
                              "line": 77,
                              "column": 9
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2050,
                            "end": 2055,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 12
                              },
                              "end": {
                                "line": 67,
                                "column": 17
                              },
                              "identifierName": "token"
                            },
                            "name": "token"
                          },
                          "init": {
                            "type": "ObjectExpression",
                            "start": 2058,
                            "end": 2376,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 20
                              },
                              "end": {
                                "line": 77,
                                "column": 9
                              }
                            },
                            "properties": [
                              {
                                "type": "ObjectProperty",
                                "start": 2072,
                                "end": 2074,
                                "loc": {
                                  "start": {
                                    "line": 68,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 68,
                                    "column": 14
                                  }
                                },
                                "method": false,
                                "shorthand": true,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 2072,
                                  "end": 2074,
                                  "loc": {
                                    "start": {
                                      "line": 68,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 68,
                                      "column": 14
                                    },
                                    "identifierName": "id"
                                  },
                                  "name": "id"
                                },
                                "value": {
                                  "type": "Identifier",
                                  "start": 2072,
                                  "end": 2074,
                                  "loc": {
                                    "start": {
                                      "line": 68,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 68,
                                      "column": 14
                                    },
                                    "identifierName": "id"
                                  },
                                  "name": "id"
                                },
                                "extra": {
                                  "shorthand": true
                                }
                              },
                              {
                                "type": "ObjectProperty",
                                "start": 2088,
                                "end": 2096,
                                "loc": {
                                  "start": {
                                    "line": 69,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 20
                                  }
                                },
                                "method": false,
                                "shorthand": true,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 2088,
                                  "end": 2096,
                                  "loc": {
                                    "start": {
                                      "line": 69,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 69,
                                      "column": 20
                                    },
                                    "identifierName": "callback"
                                  },
                                  "name": "callback"
                                },
                                "value": {
                                  "type": "Identifier",
                                  "start": 2088,
                                  "end": 2096,
                                  "loc": {
                                    "start": {
                                      "line": 69,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 69,
                                      "column": 20
                                    },
                                    "identifierName": "callback"
                                  },
                                  "name": "callback"
                                },
                                "extra": {
                                  "shorthand": true
                                }
                              },
                              {
                                "type": "ObjectProperty",
                                "start": 2110,
                                "end": 2366,
                                "loc": {
                                  "start": {
                                    "line": 70,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 76,
                                    "column": 13
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 2110,
                                  "end": 2114,
                                  "loc": {
                                    "start": {
                                      "line": 70,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 70,
                                      "column": 16
                                    },
                                    "identifierName": "stop"
                                  },
                                  "name": "stop"
                                },
                                "value": {
                                  "type": "ArrowFunctionExpression",
                                  "start": 2116,
                                  "end": 2366,
                                  "loc": {
                                    "start": {
                                      "line": 70,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 76,
                                      "column": 13
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": false,
                                  "params": [],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 2122,
                                    "end": 2366,
                                    "loc": {
                                      "start": {
                                        "line": 70,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 76,
                                        "column": 13
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ForStatement",
                                        "start": 2140,
                                        "end": 2352,
                                        "loc": {
                                          "start": {
                                            "line": 71,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 75,
                                            "column": 17
                                          }
                                        },
                                        "init": {
                                          "type": "VariableDeclaration",
                                          "start": 2145,
                                          "end": 2154,
                                          "loc": {
                                            "start": {
                                              "line": 71,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 71,
                                              "column": 30
                                            }
                                          },
                                          "declarations": [
                                            {
                                              "type": "VariableDeclarator",
                                              "start": 2149,
                                              "end": 2154,
                                              "loc": {
                                                "start": {
                                                  "line": 71,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 71,
                                                  "column": 30
                                                }
                                              },
                                              "id": {
                                                "type": "Identifier",
                                                "start": 2149,
                                                "end": 2150,
                                                "loc": {
                                                  "start": {
                                                    "line": 71,
                                                    "column": 25
                                                  },
                                                  "end": {
                                                    "line": 71,
                                                    "column": 26
                                                  },
                                                  "identifierName": "i"
                                                },
                                                "name": "i"
                                              },
                                              "init": {
                                                "type": "NumericLiteral",
                                                "start": 2153,
                                                "end": 2154,
                                                "loc": {
                                                  "start": {
                                                    "line": 71,
                                                    "column": 29
                                                  },
                                                  "end": {
                                                    "line": 71,
                                                    "column": 30
                                                  }
                                                },
                                                "extra": {
                                                  "rawValue": 0,
                                                  "raw": "0"
                                                },
                                                "value": 0
                                              }
                                            }
                                          ],
                                          "kind": "let"
                                        },
                                        "test": {
                                          "type": "BinaryExpression",
                                          "start": 2156,
                                          "end": 2186,
                                          "loc": {
                                            "start": {
                                              "line": 71,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 71,
                                              "column": 62
                                            }
                                          },
                                          "left": {
                                            "type": "Identifier",
                                            "start": 2156,
                                            "end": 2157,
                                            "loc": {
                                              "start": {
                                                "line": 71,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 71,
                                                "column": 33
                                              },
                                              "identifierName": "i"
                                            },
                                            "name": "i"
                                          },
                                          "operator": "<",
                                          "right": {
                                            "type": "MemberExpression",
                                            "start": 2160,
                                            "end": 2186,
                                            "loc": {
                                              "start": {
                                                "line": 71,
                                                "column": 36
                                              },
                                              "end": {
                                                "line": 71,
                                                "column": 62
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 2160,
                                              "end": 2179,
                                              "loc": {
                                                "start": {
                                                  "line": 71,
                                                  "column": 36
                                                },
                                                "end": {
                                                  "line": 71,
                                                  "column": 55
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 2160,
                                                "end": 2174,
                                                "loc": {
                                                  "start": {
                                                    "line": 71,
                                                    "column": 36
                                                  },
                                                  "end": {
                                                    "line": 71,
                                                    "column": 50
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 2160,
                                                  "end": 2164,
                                                  "loc": {
                                                    "start": {
                                                      "line": 71,
                                                      "column": 36
                                                    },
                                                    "end": {
                                                      "line": 71,
                                                      "column": 40
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 2165,
                                                  "end": 2174,
                                                  "loc": {
                                                    "start": {
                                                      "line": 71,
                                                      "column": 41
                                                    },
                                                    "end": {
                                                      "line": 71,
                                                      "column": 50
                                                    },
                                                    "identifierName": "listeners"
                                                  },
                                                  "name": "listeners"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2175,
                                                "end": 2178,
                                                "loc": {
                                                  "start": {
                                                    "line": 71,
                                                    "column": 51
                                                  },
                                                  "end": {
                                                    "line": 71,
                                                    "column": 54
                                                  },
                                                  "identifierName": "key"
                                                },
                                                "name": "key"
                                              },
                                              "computed": true
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2180,
                                              "end": 2186,
                                              "loc": {
                                                "start": {
                                                  "line": 71,
                                                  "column": 56
                                                },
                                                "end": {
                                                  "line": 71,
                                                  "column": 62
                                                },
                                                "identifierName": "length"
                                              },
                                              "name": "length"
                                            },
                                            "computed": false
                                          }
                                        },
                                        "update": {
                                          "type": "UpdateExpression",
                                          "start": 2188,
                                          "end": 2191,
                                          "loc": {
                                            "start": {
                                              "line": 71,
                                              "column": 64
                                            },
                                            "end": {
                                              "line": 71,
                                              "column": 67
                                            }
                                          },
                                          "operator": "++",
                                          "prefix": false,
                                          "argument": {
                                            "type": "Identifier",
                                            "start": 2188,
                                            "end": 2189,
                                            "loc": {
                                              "start": {
                                                "line": 71,
                                                "column": 64
                                              },
                                              "end": {
                                                "line": 71,
                                                "column": 65
                                              },
                                              "identifierName": "i"
                                            },
                                            "name": "i"
                                          }
                                        },
                                        "body": {
                                          "type": "BlockStatement",
                                          "start": 2193,
                                          "end": 2352,
                                          "loc": {
                                            "start": {
                                              "line": 71,
                                              "column": 69
                                            },
                                            "end": {
                                              "line": 75,
                                              "column": 17
                                            }
                                          },
                                          "body": [
                                            {
                                              "type": "IfStatement",
                                              "start": 2215,
                                              "end": 2334,
                                              "loc": {
                                                "start": {
                                                  "line": 72,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 74,
                                                  "column": 21
                                                }
                                              },
                                              "test": {
                                                "type": "BinaryExpression",
                                                "start": 2219,
                                                "end": 2251,
                                                "loc": {
                                                  "start": {
                                                    "line": 72,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 72,
                                                    "column": 56
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 2219,
                                                  "end": 2244,
                                                  "loc": {
                                                    "start": {
                                                      "line": 72,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 72,
                                                      "column": 49
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "start": 2219,
                                                    "end": 2241,
                                                    "loc": {
                                                      "start": {
                                                        "line": 72,
                                                        "column": 24
                                                      },
                                                      "end": {
                                                        "line": 72,
                                                        "column": 46
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "start": 2219,
                                                      "end": 2238,
                                                      "loc": {
                                                        "start": {
                                                          "line": 72,
                                                          "column": 24
                                                        },
                                                        "end": {
                                                          "line": 72,
                                                          "column": 43
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "MemberExpression",
                                                        "start": 2219,
                                                        "end": 2233,
                                                        "loc": {
                                                          "start": {
                                                            "line": 72,
                                                            "column": 24
                                                          },
                                                          "end": {
                                                            "line": 72,
                                                            "column": 38
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "ThisExpression",
                                                          "start": 2219,
                                                          "end": 2223,
                                                          "loc": {
                                                            "start": {
                                                              "line": 72,
                                                              "column": 24
                                                            },
                                                            "end": {
                                                              "line": 72,
                                                              "column": 28
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 2224,
                                                          "end": 2233,
                                                          "loc": {
                                                            "start": {
                                                              "line": 72,
                                                              "column": 29
                                                            },
                                                            "end": {
                                                              "line": 72,
                                                              "column": 38
                                                            },
                                                            "identifierName": "listeners"
                                                          },
                                                          "name": "listeners"
                                                        },
                                                        "computed": false
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 2234,
                                                        "end": 2237,
                                                        "loc": {
                                                          "start": {
                                                            "line": 72,
                                                            "column": 39
                                                          },
                                                          "end": {
                                                            "line": 72,
                                                            "column": 42
                                                          },
                                                          "identifierName": "key"
                                                        },
                                                        "name": "key"
                                                      },
                                                      "computed": true
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 2239,
                                                      "end": 2240,
                                                      "loc": {
                                                        "start": {
                                                          "line": 72,
                                                          "column": 44
                                                        },
                                                        "end": {
                                                          "line": 72,
                                                          "column": 45
                                                        },
                                                        "identifierName": "i"
                                                      },
                                                      "name": "i"
                                                    },
                                                    "computed": true
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 2242,
                                                    "end": 2244,
                                                    "loc": {
                                                      "start": {
                                                        "line": 72,
                                                        "column": 47
                                                      },
                                                      "end": {
                                                        "line": 72,
                                                        "column": 49
                                                      },
                                                      "identifierName": "id"
                                                    },
                                                    "name": "id"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "===",
                                                "right": {
                                                  "type": "Identifier",
                                                  "start": 2249,
                                                  "end": 2251,
                                                  "loc": {
                                                    "start": {
                                                      "line": 72,
                                                      "column": 54
                                                    },
                                                    "end": {
                                                      "line": 72,
                                                      "column": 56
                                                    },
                                                    "identifierName": "id"
                                                  },
                                                  "name": "id"
                                                }
                                              },
                                              "consequent": {
                                                "type": "BlockStatement",
                                                "start": 2253,
                                                "end": 2334,
                                                "loc": {
                                                  "start": {
                                                    "line": 72,
                                                    "column": 58
                                                  },
                                                  "end": {
                                                    "line": 74,
                                                    "column": 21
                                                  }
                                                },
                                                "body": [
                                                  {
                                                    "type": "ExpressionStatement",
                                                    "start": 2279,
                                                    "end": 2312,
                                                    "loc": {
                                                      "start": {
                                                        "line": 73,
                                                        "column": 24
                                                      },
                                                      "end": {
                                                        "line": 73,
                                                        "column": 57
                                                      }
                                                    },
                                                    "expression": {
                                                      "type": "CallExpression",
                                                      "start": 2279,
                                                      "end": 2311,
                                                      "loc": {
                                                        "start": {
                                                          "line": 73,
                                                          "column": 24
                                                        },
                                                        "end": {
                                                          "line": 73,
                                                          "column": 56
                                                        }
                                                      },
                                                      "callee": {
                                                        "type": "MemberExpression",
                                                        "start": 2279,
                                                        "end": 2305,
                                                        "loc": {
                                                          "start": {
                                                            "line": 73,
                                                            "column": 24
                                                          },
                                                          "end": {
                                                            "line": 73,
                                                            "column": 50
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "MemberExpression",
                                                          "start": 2279,
                                                          "end": 2298,
                                                          "loc": {
                                                            "start": {
                                                              "line": 73,
                                                              "column": 24
                                                            },
                                                            "end": {
                                                              "line": 73,
                                                              "column": 43
                                                            }
                                                          },
                                                          "object": {
                                                            "type": "MemberExpression",
                                                            "start": 2279,
                                                            "end": 2293,
                                                            "loc": {
                                                              "start": {
                                                                "line": 73,
                                                                "column": 24
                                                              },
                                                              "end": {
                                                                "line": 73,
                                                                "column": 38
                                                              }
                                                            },
                                                            "object": {
                                                              "type": "ThisExpression",
                                                              "start": 2279,
                                                              "end": 2283,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 73,
                                                                  "column": 24
                                                                },
                                                                "end": {
                                                                  "line": 73,
                                                                  "column": 28
                                                                }
                                                              }
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "start": 2284,
                                                              "end": 2293,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 73,
                                                                  "column": 29
                                                                },
                                                                "end": {
                                                                  "line": 73,
                                                                  "column": 38
                                                                },
                                                                "identifierName": "listeners"
                                                              },
                                                              "name": "listeners"
                                                            },
                                                            "computed": false
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "start": 2294,
                                                            "end": 2297,
                                                            "loc": {
                                                              "start": {
                                                                "line": 73,
                                                                "column": 39
                                                              },
                                                              "end": {
                                                                "line": 73,
                                                                "column": 42
                                                              },
                                                              "identifierName": "key"
                                                            },
                                                            "name": "key"
                                                          },
                                                          "computed": true
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 2299,
                                                          "end": 2305,
                                                          "loc": {
                                                            "start": {
                                                              "line": 73,
                                                              "column": 44
                                                            },
                                                            "end": {
                                                              "line": 73,
                                                              "column": 50
                                                            },
                                                            "identifierName": "splice"
                                                          },
                                                          "name": "splice"
                                                        },
                                                        "computed": false
                                                      },
                                                      "arguments": [
                                                        {
                                                          "type": "Identifier",
                                                          "start": 2306,
                                                          "end": 2307,
                                                          "loc": {
                                                            "start": {
                                                              "line": 73,
                                                              "column": 51
                                                            },
                                                            "end": {
                                                              "line": 73,
                                                              "column": 52
                                                            },
                                                            "identifierName": "i"
                                                          },
                                                          "name": "i"
                                                        },
                                                        {
                                                          "type": "NumericLiteral",
                                                          "start": 2309,
                                                          "end": 2310,
                                                          "loc": {
                                                            "start": {
                                                              "line": 73,
                                                              "column": 54
                                                            },
                                                            "end": {
                                                              "line": 73,
                                                              "column": 55
                                                            }
                                                          },
                                                          "extra": {
                                                            "rawValue": 1,
                                                            "raw": "1"
                                                          },
                                                          "value": 1
                                                        }
                                                      ]
                                                    }
                                                  }
                                                ],
                                                "directives": []
                                              },
                                              "alternate": null
                                            }
                                          ],
                                          "directives": []
                                        }
                                      }
                                    ],
                                    "directives": []
                                  }
                                }
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "IfStatement",
                      "start": 2385,
                      "end": 2498,
                      "loc": {
                        "start": {
                          "line": 78,
                          "column": 8
                        },
                        "end": {
                          "line": 81,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 2389,
                        "end": 2416,
                        "loc": {
                          "start": {
                            "line": 78,
                            "column": 12
                          },
                          "end": {
                            "line": 78,
                            "column": 39
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 2389,
                          "end": 2408,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 12
                            },
                            "end": {
                              "line": 78,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2389,
                            "end": 2403,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 12
                              },
                              "end": {
                                "line": 78,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2389,
                              "end": 2393,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 12
                                },
                                "end": {
                                  "line": 78,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2394,
                              "end": 2403,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 17
                                },
                                "end": {
                                  "line": 78,
                                  "column": 26
                                },
                                "identifierName": "listeners"
                              },
                              "name": "listeners"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2404,
                            "end": 2407,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 27
                              },
                              "end": {
                                "line": 78,
                                "column": 30
                              },
                              "identifierName": "key"
                            },
                            "name": "key"
                          },
                          "computed": true
                        },
                        "operator": "==",
                        "right": {
                          "type": "NullLiteral",
                          "start": 2412,
                          "end": 2416,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 35
                            },
                            "end": {
                              "line": 78,
                              "column": 39
                            }
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 2418,
                        "end": 2498,
                        "loc": {
                          "start": {
                            "line": 78,
                            "column": 41
                          },
                          "end": {
                            "line": 81,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 2432,
                            "end": 2457,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 12
                              },
                              "end": {
                                "line": 79,
                                "column": 37
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 2432,
                              "end": 2456,
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 12
                                },
                                "end": {
                                  "line": 79,
                                  "column": 36
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 2432,
                                "end": 2451,
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 2432,
                                  "end": 2446,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 26
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 2432,
                                    "end": 2436,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2437,
                                    "end": 2446,
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 26
                                      },
                                      "identifierName": "listeners"
                                    },
                                    "name": "listeners"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2447,
                                  "end": 2450,
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 30
                                    },
                                    "identifierName": "key"
                                  },
                                  "name": "key"
                                },
                                "computed": true
                              },
                              "right": {
                                "type": "ArrayExpression",
                                "start": 2454,
                                "end": 2456,
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 36
                                  }
                                },
                                "elements": []
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 2470,
                            "end": 2488,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 12
                              },
                              "end": {
                                "line": 80,
                                "column": 30
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 2470,
                              "end": 2487,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 12
                                },
                                "end": {
                                  "line": 80,
                                  "column": 29
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 2470,
                                "end": 2479,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 21
                                  },
                                  "identifierName": "notifyNow"
                                },
                                "name": "notifyNow"
                              },
                              "right": {
                                "type": "BooleanLiteral",
                                "start": 2482,
                                "end": 2487,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 29
                                  }
                                },
                                "value": false
                              }
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2507,
                      "end": 2539,
                      "loc": {
                        "start": {
                          "line": 82,
                          "column": 8
                        },
                        "end": {
                          "line": 82,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2507,
                        "end": 2538,
                        "loc": {
                          "start": {
                            "line": 82,
                            "column": 8
                          },
                          "end": {
                            "line": 82,
                            "column": 39
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2507,
                          "end": 2531,
                          "loc": {
                            "start": {
                              "line": 82,
                              "column": 8
                            },
                            "end": {
                              "line": 82,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2507,
                            "end": 2526,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 8
                              },
                              "end": {
                                "line": 82,
                                "column": 27
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 2507,
                              "end": 2521,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 8
                                },
                                "end": {
                                  "line": 82,
                                  "column": 22
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2507,
                                "end": 2511,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2512,
                                "end": 2521,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 22
                                  },
                                  "identifierName": "listeners"
                                },
                                "name": "listeners"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2522,
                              "end": 2525,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 23
                                },
                                "end": {
                                  "line": 82,
                                  "column": 26
                                },
                                "identifierName": "key"
                              },
                              "name": "key"
                            },
                            "computed": true
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2527,
                            "end": 2531,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 28
                              },
                              "end": {
                                "line": 82,
                                "column": 32
                              },
                              "identifierName": "push"
                            },
                            "name": "push"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 2532,
                            "end": 2537,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 33
                              },
                              "end": {
                                "line": 82,
                                "column": 38
                              },
                              "identifierName": "token"
                            },
                            "name": "token"
                          }
                        ]
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 2548,
                      "end": 2600,
                      "loc": {
                        "start": {
                          "line": 83,
                          "column": 8
                        },
                        "end": {
                          "line": 84,
                          "column": 37
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 2552,
                        "end": 2561,
                        "loc": {
                          "start": {
                            "line": 83,
                            "column": 12
                          },
                          "end": {
                            "line": 83,
                            "column": 21
                          },
                          "identifierName": "notifyNow"
                        },
                        "name": "notifyNow"
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 2575,
                        "end": 2600,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 12
                          },
                          "end": {
                            "line": 84,
                            "column": 37
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 2575,
                          "end": 2599,
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 12
                            },
                            "end": {
                              "line": 84,
                              "column": 36
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2575,
                            "end": 2583,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 12
                              },
                              "end": {
                                "line": 84,
                                "column": 20
                              },
                              "identifierName": "callback"
                            },
                            "name": "callback"
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 2584,
                              "end": 2598,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 21
                                },
                                "end": {
                                  "line": 84,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 2584,
                                "end": 2593,
                                "loc": {
                                  "start": {
                                    "line": 84,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 84,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 2584,
                                  "end": 2588,
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 25
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2589,
                                  "end": 2593,
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 30
                                    },
                                    "identifierName": "data"
                                  },
                                  "name": "data"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2594,
                                "end": 2597,
                                "loc": {
                                  "start": {
                                    "line": 84,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 84,
                                    "column": 34
                                  },
                                  "identifierName": "key"
                                },
                                "name": "key"
                              },
                              "computed": true
                            }
                          ]
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 2609,
                      "end": 2622,
                      "loc": {
                        "start": {
                          "line": 85,
                          "column": 8
                        },
                        "end": {
                          "line": 85,
                          "column": 21
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 2616,
                        "end": 2621,
                        "loc": {
                          "start": {
                            "line": 85,
                            "column": 15
                          },
                          "end": {
                            "line": 85,
                            "column": 20
                          },
                          "identifierName": "token"
                        },
                        "name": "token"
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Listens to a position in the dictionary for updates. The callback passed to the function\n     * is called whenever the position defined by the dictionary key is updated. \n     * \n     * By default, notifies the callback of the current data upon watching.\n     * \n     * \n     * \n     * @param {string} key Dictionary key name.\n     * @param {function} callback Callback function to trigger.\n     * @param {boolean} notifyNow Default: true. Trigger the callback now.\n     * \n     * @returns {function} A callback function to de-register from watching data at the key location.\n     ",
                    "start": 1355,
                    "end": 1949,
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 4
                      },
                      "end": {
                        "line": 64,
                        "column": 7
                      }
                    }
                  }
                ]
              }
            ]
          },
          "leadingComments": [
            {
              "type": "CommentBlock",
              "value": "*\n * A messager is a managed dictionary that notifies listeners when specific entries\n * in the dictionary are updated. The messager contains functions for setting, getting, listening\n * and notifying of data changes.\n ",
              "start": 0,
              "end": 223,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 0
                },
                "end": {
                  "line": 5,
                  "column": 3
                }
              }
            }
          ],
          "trailingComments": []
        },
        "leadingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * A messager is a managed dictionary that notifies listeners when specific entries\n * in the dictionary are updated. The messager contains functions for setting, getting, listening\n * and notifying of data changes.\n ",
            "start": 0,
            "end": 223,
            "loc": {
              "start": {
                "line": 1,
                "column": 0
              },
              "end": {
                "line": 5,
                "column": 3
              }
            }
          }
        ]
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentBlock",
      "value": "*\n * A messager is a managed dictionary that notifies listeners when specific entries\n * in the dictionary are updated. The messager contains functions for setting, getting, listening\n * and notifying of data changes.\n ",
      "start": 0,
      "end": 223,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Updates the data at a specific location in the Messager storage dictionary.\n     * If there are listeners, notify them.\n     * \n     * @param {string} key Dictionary key name.\n     * @param {*} data Data to set.\n     ",
      "start": 376,
      "end": 606,
      "loc": {
        "start": {
          "line": 13,
          "column": 4
        },
        "end": {
          "line": 19,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Notifies all listeners currently waiting on updates at\n     * the location of the dictionary key.\n     * \n     * @param {string} key Dictionary key name.\n     ",
      "start": 808,
      "end": 980,
      "loc": {
        "start": {
          "line": 29,
          "column": 4
        },
        "end": {
          "line": 34,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Returns the data at a location in the dictionary specified by the \n     * key.\n     * \n     * @param {string} key Dictionary key name.\n     ",
      "start": 1144,
      "end": 1297,
      "loc": {
        "start": {
          "line": 41,
          "column": 4
        },
        "end": {
          "line": 46,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Listens to a position in the dictionary for updates. The callback passed to the function\n     * is called whenever the position defined by the dictionary key is updated. \n     * \n     * By default, notifies the callback of the current data upon watching.\n     * \n     * \n     * \n     * @param {string} key Dictionary key name.\n     * @param {function} callback Callback function to trigger.\n     * @param {boolean} notifyNow Default: true. Trigger the callback now.\n     * \n     * @returns {function} A callback function to de-register from watching data at the key location.\n     ",
      "start": 1355,
      "end": 1949,
      "loc": {
        "start": {
          "line": 51,
          "column": 4
        },
        "end": {
          "line": 64,
          "column": 7
        }
      }
    }
  ],
  "tokens": [
    {
      "type": "CommentBlock",
      "value": "*\n * A messager is a managed dictionary that notifies listeners when specific entries\n * in the dictionary are updated. The messager contains functions for setting, getting, listening\n * and notifying of data changes.\n ",
      "start": 0,
      "end": 223,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 224,
      "end": 230,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "default",
        "keyword": "default",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 231,
      "end": 238,
      "loc": {
        "start": {
          "line": 6,
          "column": 7
        },
        "end": {
          "line": 6,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 239,
      "end": 244,
      "loc": {
        "start": {
          "line": 6,
          "column": 15
        },
        "end": {
          "line": 6,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Messager",
      "start": 245,
      "end": 253,
      "loc": {
        "start": {
          "line": 6,
          "column": 21
        },
        "end": {
          "line": 6,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 254,
      "end": 255,
      "loc": {
        "start": {
          "line": 6,
          "column": 30
        },
        "end": {
          "line": 6,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 260,
      "end": 271,
      "loc": {
        "start": {
          "line": 7,
          "column": 4
        },
        "end": {
          "line": 7,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 271,
      "end": 272,
      "loc": {
        "start": {
          "line": 7,
          "column": 15
        },
        "end": {
          "line": 7,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 272,
      "end": 273,
      "loc": {
        "start": {
          "line": 7,
          "column": 16
        },
        "end": {
          "line": 7,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 274,
      "end": 275,
      "loc": {
        "start": {
          "line": 7,
          "column": 18
        },
        "end": {
          "line": 7,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 284,
      "end": 288,
      "loc": {
        "start": {
          "line": 8,
          "column": 8
        },
        "end": {
          "line": 8,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 288,
      "end": 289,
      "loc": {
        "start": {
          "line": 8,
          "column": 12
        },
        "end": {
          "line": 8,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listenerIDCounter",
      "start": 289,
      "end": 306,
      "loc": {
        "start": {
          "line": 8,
          "column": 13
        },
        "end": {
          "line": 8,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 307,
      "end": 308,
      "loc": {
        "start": {
          "line": 8,
          "column": 31
        },
        "end": {
          "line": 8,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 309,
      "end": 310,
      "loc": {
        "start": {
          "line": 8,
          "column": 33
        },
        "end": {
          "line": 8,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 310,
      "end": 311,
      "loc": {
        "start": {
          "line": 8,
          "column": 34
        },
        "end": {
          "line": 8,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 320,
      "end": 324,
      "loc": {
        "start": {
          "line": 9,
          "column": 8
        },
        "end": {
          "line": 9,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 324,
      "end": 325,
      "loc": {
        "start": {
          "line": 9,
          "column": 12
        },
        "end": {
          "line": 9,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 325,
      "end": 329,
      "loc": {
        "start": {
          "line": 9,
          "column": 13
        },
        "end": {
          "line": 9,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 330,
      "end": 331,
      "loc": {
        "start": {
          "line": 9,
          "column": 18
        },
        "end": {
          "line": 9,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 332,
      "end": 333,
      "loc": {
        "start": {
          "line": 9,
          "column": 20
        },
        "end": {
          "line": 9,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 333,
      "end": 334,
      "loc": {
        "start": {
          "line": 9,
          "column": 21
        },
        "end": {
          "line": 9,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 334,
      "end": 335,
      "loc": {
        "start": {
          "line": 9,
          "column": 22
        },
        "end": {
          "line": 9,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 344,
      "end": 348,
      "loc": {
        "start": {
          "line": 10,
          "column": 8
        },
        "end": {
          "line": 10,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 348,
      "end": 349,
      "loc": {
        "start": {
          "line": 10,
          "column": 12
        },
        "end": {
          "line": 10,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listeners",
      "start": 349,
      "end": 358,
      "loc": {
        "start": {
          "line": 10,
          "column": 13
        },
        "end": {
          "line": 10,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 359,
      "end": 360,
      "loc": {
        "start": {
          "line": 10,
          "column": 23
        },
        "end": {
          "line": 10,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 361,
      "end": 362,
      "loc": {
        "start": {
          "line": 10,
          "column": 25
        },
        "end": {
          "line": 10,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 362,
      "end": 363,
      "loc": {
        "start": {
          "line": 10,
          "column": 26
        },
        "end": {
          "line": 10,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 363,
      "end": 364,
      "loc": {
        "start": {
          "line": 10,
          "column": 27
        },
        "end": {
          "line": 10,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 369,
      "end": 370,
      "loc": {
        "start": {
          "line": 11,
          "column": 4
        },
        "end": {
          "line": 11,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Updates the data at a specific location in the Messager storage dictionary.\n     * If there are listeners, notify them.\n     * \n     * @param {string} key Dictionary key name.\n     * @param {*} data Data to set.\n     ",
      "start": 376,
      "end": 606,
      "loc": {
        "start": {
          "line": 13,
          "column": 4
        },
        "end": {
          "line": 19,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "set",
      "start": 611,
      "end": 614,
      "loc": {
        "start": {
          "line": 20,
          "column": 4
        },
        "end": {
          "line": 20,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 614,
      "end": 615,
      "loc": {
        "start": {
          "line": 20,
          "column": 7
        },
        "end": {
          "line": 20,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 615,
      "end": 618,
      "loc": {
        "start": {
          "line": 20,
          "column": 8
        },
        "end": {
          "line": 20,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 618,
      "end": 619,
      "loc": {
        "start": {
          "line": 20,
          "column": 11
        },
        "end": {
          "line": 20,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 620,
      "end": 624,
      "loc": {
        "start": {
          "line": 20,
          "column": 13
        },
        "end": {
          "line": 20,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 624,
      "end": 625,
      "loc": {
        "start": {
          "line": 20,
          "column": 17
        },
        "end": {
          "line": 20,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 626,
      "end": 627,
      "loc": {
        "start": {
          "line": 20,
          "column": 19
        },
        "end": {
          "line": 20,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 636,
      "end": 640,
      "loc": {
        "start": {
          "line": 21,
          "column": 8
        },
        "end": {
          "line": 21,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 640,
      "end": 641,
      "loc": {
        "start": {
          "line": 21,
          "column": 12
        },
        "end": {
          "line": 21,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 641,
      "end": 645,
      "loc": {
        "start": {
          "line": 21,
          "column": 13
        },
        "end": {
          "line": 21,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 645,
      "end": 646,
      "loc": {
        "start": {
          "line": 21,
          "column": 17
        },
        "end": {
          "line": 21,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 646,
      "end": 649,
      "loc": {
        "start": {
          "line": 21,
          "column": 18
        },
        "end": {
          "line": 21,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 649,
      "end": 650,
      "loc": {
        "start": {
          "line": 21,
          "column": 21
        },
        "end": {
          "line": 21,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 651,
      "end": 652,
      "loc": {
        "start": {
          "line": 21,
          "column": 23
        },
        "end": {
          "line": 21,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 653,
      "end": 657,
      "loc": {
        "start": {
          "line": 21,
          "column": 25
        },
        "end": {
          "line": 21,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 657,
      "end": 658,
      "loc": {
        "start": {
          "line": 21,
          "column": 29
        },
        "end": {
          "line": 21,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 667,
      "end": 669,
      "loc": {
        "start": {
          "line": 22,
          "column": 8
        },
        "end": {
          "line": 22,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 670,
      "end": 671,
      "loc": {
        "start": {
          "line": 22,
          "column": 11
        },
        "end": {
          "line": 22,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 671,
      "end": 675,
      "loc": {
        "start": {
          "line": 22,
          "column": 12
        },
        "end": {
          "line": 22,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 675,
      "end": 676,
      "loc": {
        "start": {
          "line": 22,
          "column": 16
        },
        "end": {
          "line": 22,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listeners",
      "start": 676,
      "end": 685,
      "loc": {
        "start": {
          "line": 22,
          "column": 17
        },
        "end": {
          "line": 22,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 685,
      "end": 686,
      "loc": {
        "start": {
          "line": 22,
          "column": 26
        },
        "end": {
          "line": 22,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 686,
      "end": 689,
      "loc": {
        "start": {
          "line": 22,
          "column": 27
        },
        "end": {
          "line": 22,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 689,
      "end": 690,
      "loc": {
        "start": {
          "line": 22,
          "column": 30
        },
        "end": {
          "line": 22,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "==",
      "start": 691,
      "end": 693,
      "loc": {
        "start": {
          "line": 22,
          "column": 32
        },
        "end": {
          "line": 22,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 694,
      "end": 698,
      "loc": {
        "start": {
          "line": 22,
          "column": 35
        },
        "end": {
          "line": 22,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 698,
      "end": 699,
      "loc": {
        "start": {
          "line": 22,
          "column": 39
        },
        "end": {
          "line": 22,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 700,
      "end": 701,
      "loc": {
        "start": {
          "line": 22,
          "column": 41
        },
        "end": {
          "line": 22,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 714,
      "end": 718,
      "loc": {
        "start": {
          "line": 23,
          "column": 12
        },
        "end": {
          "line": 23,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 718,
      "end": 719,
      "loc": {
        "start": {
          "line": 23,
          "column": 16
        },
        "end": {
          "line": 23,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listeners",
      "start": 719,
      "end": 728,
      "loc": {
        "start": {
          "line": 23,
          "column": 17
        },
        "end": {
          "line": 23,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 728,
      "end": 729,
      "loc": {
        "start": {
          "line": 23,
          "column": 26
        },
        "end": {
          "line": 23,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 729,
      "end": 732,
      "loc": {
        "start": {
          "line": 23,
          "column": 27
        },
        "end": {
          "line": 23,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 732,
      "end": 733,
      "loc": {
        "start": {
          "line": 23,
          "column": 30
        },
        "end": {
          "line": 23,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 734,
      "end": 735,
      "loc": {
        "start": {
          "line": 23,
          "column": 32
        },
        "end": {
          "line": 23,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 736,
      "end": 737,
      "loc": {
        "start": {
          "line": 23,
          "column": 34
        },
        "end": {
          "line": 23,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 737,
      "end": 738,
      "loc": {
        "start": {
          "line": 23,
          "column": 35
        },
        "end": {
          "line": 23,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 738,
      "end": 739,
      "loc": {
        "start": {
          "line": 23,
          "column": 36
        },
        "end": {
          "line": 23,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 748,
      "end": 749,
      "loc": {
        "start": {
          "line": 24,
          "column": 8
        },
        "end": {
          "line": 24,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 750,
      "end": 754,
      "loc": {
        "start": {
          "line": 24,
          "column": 10
        },
        "end": {
          "line": 24,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 755,
      "end": 756,
      "loc": {
        "start": {
          "line": 24,
          "column": 15
        },
        "end": {
          "line": 24,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 769,
      "end": 773,
      "loc": {
        "start": {
          "line": 25,
          "column": 12
        },
        "end": {
          "line": 25,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 773,
      "end": 774,
      "loc": {
        "start": {
          "line": 25,
          "column": 16
        },
        "end": {
          "line": 25,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "notify",
      "start": 774,
      "end": 780,
      "loc": {
        "start": {
          "line": 25,
          "column": 17
        },
        "end": {
          "line": 25,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 780,
      "end": 781,
      "loc": {
        "start": {
          "line": 25,
          "column": 23
        },
        "end": {
          "line": 25,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 781,
      "end": 784,
      "loc": {
        "start": {
          "line": 25,
          "column": 24
        },
        "end": {
          "line": 25,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 784,
      "end": 785,
      "loc": {
        "start": {
          "line": 25,
          "column": 27
        },
        "end": {
          "line": 25,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 785,
      "end": 786,
      "loc": {
        "start": {
          "line": 25,
          "column": 28
        },
        "end": {
          "line": 25,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 795,
      "end": 796,
      "loc": {
        "start": {
          "line": 26,
          "column": 8
        },
        "end": {
          "line": 26,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 801,
      "end": 802,
      "loc": {
        "start": {
          "line": 27,
          "column": 4
        },
        "end": {
          "line": 27,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Notifies all listeners currently waiting on updates at\n     * the location of the dictionary key.\n     * \n     * @param {string} key Dictionary key name.\n     ",
      "start": 808,
      "end": 980,
      "loc": {
        "start": {
          "line": 29,
          "column": 4
        },
        "end": {
          "line": 34,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "notify",
      "start": 985,
      "end": 991,
      "loc": {
        "start": {
          "line": 35,
          "column": 4
        },
        "end": {
          "line": 35,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 991,
      "end": 992,
      "loc": {
        "start": {
          "line": 35,
          "column": 10
        },
        "end": {
          "line": 35,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 992,
      "end": 995,
      "loc": {
        "start": {
          "line": 35,
          "column": 11
        },
        "end": {
          "line": 35,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 995,
      "end": 996,
      "loc": {
        "start": {
          "line": 35,
          "column": 14
        },
        "end": {
          "line": 35,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 997,
      "end": 998,
      "loc": {
        "start": {
          "line": 35,
          "column": 16
        },
        "end": {
          "line": 35,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 1007,
      "end": 1010,
      "loc": {
        "start": {
          "line": 36,
          "column": 8
        },
        "end": {
          "line": 36,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1011,
      "end": 1012,
      "loc": {
        "start": {
          "line": 36,
          "column": 12
        },
        "end": {
          "line": 36,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 1012,
      "end": 1015,
      "loc": {
        "start": {
          "line": 36,
          "column": 13
        },
        "end": {
          "line": 36,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 1016,
      "end": 1017,
      "loc": {
        "start": {
          "line": 36,
          "column": 17
        },
        "end": {
          "line": 36,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1018,
      "end": 1019,
      "loc": {
        "start": {
          "line": 36,
          "column": 19
        },
        "end": {
          "line": 36,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 1020,
      "end": 1021,
      "loc": {
        "start": {
          "line": 36,
          "column": 21
        },
        "end": {
          "line": 36,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1021,
      "end": 1022,
      "loc": {
        "start": {
          "line": 36,
          "column": 22
        },
        "end": {
          "line": 36,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 1023,
      "end": 1024,
      "loc": {
        "start": {
          "line": 36,
          "column": 24
        },
        "end": {
          "line": 36,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "<",
      "start": 1025,
      "end": 1026,
      "loc": {
        "start": {
          "line": 36,
          "column": 26
        },
        "end": {
          "line": 36,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1027,
      "end": 1031,
      "loc": {
        "start": {
          "line": 36,
          "column": 28
        },
        "end": {
          "line": 36,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1031,
      "end": 1032,
      "loc": {
        "start": {
          "line": 36,
          "column": 32
        },
        "end": {
          "line": 36,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listeners",
      "start": 1032,
      "end": 1041,
      "loc": {
        "start": {
          "line": 36,
          "column": 33
        },
        "end": {
          "line": 36,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1041,
      "end": 1042,
      "loc": {
        "start": {
          "line": 36,
          "column": 42
        },
        "end": {
          "line": 36,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 1042,
      "end": 1045,
      "loc": {
        "start": {
          "line": 36,
          "column": 43
        },
        "end": {
          "line": 36,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1045,
      "end": 1046,
      "loc": {
        "start": {
          "line": 36,
          "column": 46
        },
        "end": {
          "line": 36,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1046,
      "end": 1047,
      "loc": {
        "start": {
          "line": 36,
          "column": 47
        },
        "end": {
          "line": 36,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 1047,
      "end": 1053,
      "loc": {
        "start": {
          "line": 36,
          "column": 48
        },
        "end": {
          "line": 36,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1053,
      "end": 1054,
      "loc": {
        "start": {
          "line": 36,
          "column": 54
        },
        "end": {
          "line": 36,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 1055,
      "end": 1056,
      "loc": {
        "start": {
          "line": 36,
          "column": 56
        },
        "end": {
          "line": 36,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "++/--",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": true,
        "binop": null
      },
      "value": "++",
      "start": 1056,
      "end": 1058,
      "loc": {
        "start": {
          "line": 36,
          "column": 57
        },
        "end": {
          "line": 36,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1058,
      "end": 1059,
      "loc": {
        "start": {
          "line": 36,
          "column": 59
        },
        "end": {
          "line": 36,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1060,
      "end": 1061,
      "loc": {
        "start": {
          "line": 36,
          "column": 61
        },
        "end": {
          "line": 36,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1074,
      "end": 1078,
      "loc": {
        "start": {
          "line": 37,
          "column": 12
        },
        "end": {
          "line": 37,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1078,
      "end": 1079,
      "loc": {
        "start": {
          "line": 37,
          "column": 16
        },
        "end": {
          "line": 37,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listeners",
      "start": 1079,
      "end": 1088,
      "loc": {
        "start": {
          "line": 37,
          "column": 17
        },
        "end": {
          "line": 37,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1088,
      "end": 1089,
      "loc": {
        "start": {
          "line": 37,
          "column": 26
        },
        "end": {
          "line": 37,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 1089,
      "end": 1092,
      "loc": {
        "start": {
          "line": 37,
          "column": 27
        },
        "end": {
          "line": 37,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1092,
      "end": 1093,
      "loc": {
        "start": {
          "line": 37,
          "column": 30
        },
        "end": {
          "line": 37,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1093,
      "end": 1094,
      "loc": {
        "start": {
          "line": 37,
          "column": 31
        },
        "end": {
          "line": 37,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 1094,
      "end": 1095,
      "loc": {
        "start": {
          "line": 37,
          "column": 32
        },
        "end": {
          "line": 37,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1095,
      "end": 1096,
      "loc": {
        "start": {
          "line": 37,
          "column": 33
        },
        "end": {
          "line": 37,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1096,
      "end": 1097,
      "loc": {
        "start": {
          "line": 37,
          "column": 34
        },
        "end": {
          "line": 37,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "callback",
      "start": 1097,
      "end": 1105,
      "loc": {
        "start": {
          "line": 37,
          "column": 35
        },
        "end": {
          "line": 37,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1105,
      "end": 1106,
      "loc": {
        "start": {
          "line": 37,
          "column": 43
        },
        "end": {
          "line": 37,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1106,
      "end": 1110,
      "loc": {
        "start": {
          "line": 37,
          "column": 44
        },
        "end": {
          "line": 37,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1110,
      "end": 1111,
      "loc": {
        "start": {
          "line": 37,
          "column": 48
        },
        "end": {
          "line": 37,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 1111,
      "end": 1115,
      "loc": {
        "start": {
          "line": 37,
          "column": 49
        },
        "end": {
          "line": 37,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1115,
      "end": 1116,
      "loc": {
        "start": {
          "line": 37,
          "column": 53
        },
        "end": {
          "line": 37,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 1116,
      "end": 1119,
      "loc": {
        "start": {
          "line": 37,
          "column": 54
        },
        "end": {
          "line": 37,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1119,
      "end": 1120,
      "loc": {
        "start": {
          "line": 37,
          "column": 57
        },
        "end": {
          "line": 37,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1120,
      "end": 1121,
      "loc": {
        "start": {
          "line": 37,
          "column": 58
        },
        "end": {
          "line": 37,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1121,
      "end": 1122,
      "loc": {
        "start": {
          "line": 37,
          "column": 59
        },
        "end": {
          "line": 37,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1131,
      "end": 1132,
      "loc": {
        "start": {
          "line": 38,
          "column": 8
        },
        "end": {
          "line": 38,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1137,
      "end": 1138,
      "loc": {
        "start": {
          "line": 39,
          "column": 4
        },
        "end": {
          "line": 39,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Returns the data at a location in the dictionary specified by the \n     * key.\n     * \n     * @param {string} key Dictionary key name.\n     ",
      "start": 1144,
      "end": 1297,
      "loc": {
        "start": {
          "line": 41,
          "column": 4
        },
        "end": {
          "line": 46,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "get",
      "start": 1302,
      "end": 1305,
      "loc": {
        "start": {
          "line": 47,
          "column": 4
        },
        "end": {
          "line": 47,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1305,
      "end": 1306,
      "loc": {
        "start": {
          "line": 47,
          "column": 7
        },
        "end": {
          "line": 47,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 1306,
      "end": 1309,
      "loc": {
        "start": {
          "line": 47,
          "column": 8
        },
        "end": {
          "line": 47,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1309,
      "end": 1310,
      "loc": {
        "start": {
          "line": 47,
          "column": 11
        },
        "end": {
          "line": 47,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1311,
      "end": 1312,
      "loc": {
        "start": {
          "line": 47,
          "column": 13
        },
        "end": {
          "line": 47,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 1321,
      "end": 1327,
      "loc": {
        "start": {
          "line": 48,
          "column": 8
        },
        "end": {
          "line": 48,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1328,
      "end": 1332,
      "loc": {
        "start": {
          "line": 48,
          "column": 15
        },
        "end": {
          "line": 48,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1332,
      "end": 1333,
      "loc": {
        "start": {
          "line": 48,
          "column": 19
        },
        "end": {
          "line": 48,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 1333,
      "end": 1337,
      "loc": {
        "start": {
          "line": 48,
          "column": 20
        },
        "end": {
          "line": 48,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1337,
      "end": 1338,
      "loc": {
        "start": {
          "line": 48,
          "column": 24
        },
        "end": {
          "line": 48,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 1338,
      "end": 1341,
      "loc": {
        "start": {
          "line": 48,
          "column": 25
        },
        "end": {
          "line": 48,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1341,
      "end": 1342,
      "loc": {
        "start": {
          "line": 48,
          "column": 28
        },
        "end": {
          "line": 48,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1342,
      "end": 1343,
      "loc": {
        "start": {
          "line": 48,
          "column": 29
        },
        "end": {
          "line": 48,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1348,
      "end": 1349,
      "loc": {
        "start": {
          "line": 49,
          "column": 4
        },
        "end": {
          "line": 49,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Listens to a position in the dictionary for updates. The callback passed to the function\n     * is called whenever the position defined by the dictionary key is updated. \n     * \n     * By default, notifies the callback of the current data upon watching.\n     * \n     * \n     * \n     * @param {string} key Dictionary key name.\n     * @param {function} callback Callback function to trigger.\n     * @param {boolean} notifyNow Default: true. Trigger the callback now.\n     * \n     * @returns {function} A callback function to de-register from watching data at the key location.\n     ",
      "start": 1355,
      "end": 1949,
      "loc": {
        "start": {
          "line": 51,
          "column": 4
        },
        "end": {
          "line": 64,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "watch",
      "start": 1954,
      "end": 1959,
      "loc": {
        "start": {
          "line": 65,
          "column": 4
        },
        "end": {
          "line": 65,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1959,
      "end": 1960,
      "loc": {
        "start": {
          "line": 65,
          "column": 9
        },
        "end": {
          "line": 65,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 1960,
      "end": 1963,
      "loc": {
        "start": {
          "line": 65,
          "column": 10
        },
        "end": {
          "line": 65,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1963,
      "end": 1964,
      "loc": {
        "start": {
          "line": 65,
          "column": 13
        },
        "end": {
          "line": 65,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "callback",
      "start": 1965,
      "end": 1973,
      "loc": {
        "start": {
          "line": 65,
          "column": 15
        },
        "end": {
          "line": 65,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1973,
      "end": 1974,
      "loc": {
        "start": {
          "line": 65,
          "column": 23
        },
        "end": {
          "line": 65,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "notifyNow",
      "start": 1975,
      "end": 1984,
      "loc": {
        "start": {
          "line": 65,
          "column": 25
        },
        "end": {
          "line": 65,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1985,
      "end": 1986,
      "loc": {
        "start": {
          "line": 65,
          "column": 35
        },
        "end": {
          "line": 65,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 1987,
      "end": 1991,
      "loc": {
        "start": {
          "line": 65,
          "column": 37
        },
        "end": {
          "line": 65,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1991,
      "end": 1992,
      "loc": {
        "start": {
          "line": 65,
          "column": 41
        },
        "end": {
          "line": 65,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1993,
      "end": 1994,
      "loc": {
        "start": {
          "line": 65,
          "column": 43
        },
        "end": {
          "line": 65,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 2003,
      "end": 2006,
      "loc": {
        "start": {
          "line": 66,
          "column": 8
        },
        "end": {
          "line": 66,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 2007,
      "end": 2009,
      "loc": {
        "start": {
          "line": 66,
          "column": 12
        },
        "end": {
          "line": 66,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2010,
      "end": 2011,
      "loc": {
        "start": {
          "line": 66,
          "column": 15
        },
        "end": {
          "line": 66,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2012,
      "end": 2016,
      "loc": {
        "start": {
          "line": 66,
          "column": 17
        },
        "end": {
          "line": 66,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2016,
      "end": 2017,
      "loc": {
        "start": {
          "line": 66,
          "column": 21
        },
        "end": {
          "line": 66,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listenerIDCounter",
      "start": 2017,
      "end": 2034,
      "loc": {
        "start": {
          "line": 66,
          "column": 22
        },
        "end": {
          "line": 66,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "++/--",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": true,
        "binop": null
      },
      "value": "++",
      "start": 2034,
      "end": 2036,
      "loc": {
        "start": {
          "line": 66,
          "column": 39
        },
        "end": {
          "line": 66,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2036,
      "end": 2037,
      "loc": {
        "start": {
          "line": 66,
          "column": 41
        },
        "end": {
          "line": 66,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 2046,
      "end": 2049,
      "loc": {
        "start": {
          "line": 67,
          "column": 8
        },
        "end": {
          "line": 67,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "token",
      "start": 2050,
      "end": 2055,
      "loc": {
        "start": {
          "line": 67,
          "column": 12
        },
        "end": {
          "line": 67,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2056,
      "end": 2057,
      "loc": {
        "start": {
          "line": 67,
          "column": 18
        },
        "end": {
          "line": 67,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2058,
      "end": 2059,
      "loc": {
        "start": {
          "line": 67,
          "column": 20
        },
        "end": {
          "line": 67,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 2072,
      "end": 2074,
      "loc": {
        "start": {
          "line": 68,
          "column": 12
        },
        "end": {
          "line": 68,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2074,
      "end": 2075,
      "loc": {
        "start": {
          "line": 68,
          "column": 14
        },
        "end": {
          "line": 68,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "callback",
      "start": 2088,
      "end": 2096,
      "loc": {
        "start": {
          "line": 69,
          "column": 12
        },
        "end": {
          "line": 69,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2096,
      "end": 2097,
      "loc": {
        "start": {
          "line": 69,
          "column": 20
        },
        "end": {
          "line": 69,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "stop",
      "start": 2110,
      "end": 2114,
      "loc": {
        "start": {
          "line": 70,
          "column": 12
        },
        "end": {
          "line": 70,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2114,
      "end": 2115,
      "loc": {
        "start": {
          "line": 70,
          "column": 16
        },
        "end": {
          "line": 70,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2116,
      "end": 2117,
      "loc": {
        "start": {
          "line": 70,
          "column": 18
        },
        "end": {
          "line": 70,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2117,
      "end": 2118,
      "loc": {
        "start": {
          "line": 70,
          "column": 19
        },
        "end": {
          "line": 70,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2119,
      "end": 2121,
      "loc": {
        "start": {
          "line": 70,
          "column": 21
        },
        "end": {
          "line": 70,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2122,
      "end": 2123,
      "loc": {
        "start": {
          "line": 70,
          "column": 24
        },
        "end": {
          "line": 70,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 2140,
      "end": 2143,
      "loc": {
        "start": {
          "line": 71,
          "column": 16
        },
        "end": {
          "line": 71,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2144,
      "end": 2145,
      "loc": {
        "start": {
          "line": 71,
          "column": 20
        },
        "end": {
          "line": 71,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 2145,
      "end": 2148,
      "loc": {
        "start": {
          "line": 71,
          "column": 21
        },
        "end": {
          "line": 71,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2149,
      "end": 2150,
      "loc": {
        "start": {
          "line": 71,
          "column": 25
        },
        "end": {
          "line": 71,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2151,
      "end": 2152,
      "loc": {
        "start": {
          "line": 71,
          "column": 27
        },
        "end": {
          "line": 71,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 2153,
      "end": 2154,
      "loc": {
        "start": {
          "line": 71,
          "column": 29
        },
        "end": {
          "line": 71,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2154,
      "end": 2155,
      "loc": {
        "start": {
          "line": 71,
          "column": 30
        },
        "end": {
          "line": 71,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2156,
      "end": 2157,
      "loc": {
        "start": {
          "line": 71,
          "column": 32
        },
        "end": {
          "line": 71,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "<",
      "start": 2158,
      "end": 2159,
      "loc": {
        "start": {
          "line": 71,
          "column": 34
        },
        "end": {
          "line": 71,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2160,
      "end": 2164,
      "loc": {
        "start": {
          "line": 71,
          "column": 36
        },
        "end": {
          "line": 71,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2164,
      "end": 2165,
      "loc": {
        "start": {
          "line": 71,
          "column": 40
        },
        "end": {
          "line": 71,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listeners",
      "start": 2165,
      "end": 2174,
      "loc": {
        "start": {
          "line": 71,
          "column": 41
        },
        "end": {
          "line": 71,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2174,
      "end": 2175,
      "loc": {
        "start": {
          "line": 71,
          "column": 50
        },
        "end": {
          "line": 71,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 2175,
      "end": 2178,
      "loc": {
        "start": {
          "line": 71,
          "column": 51
        },
        "end": {
          "line": 71,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2178,
      "end": 2179,
      "loc": {
        "start": {
          "line": 71,
          "column": 54
        },
        "end": {
          "line": 71,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2179,
      "end": 2180,
      "loc": {
        "start": {
          "line": 71,
          "column": 55
        },
        "end": {
          "line": 71,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 2180,
      "end": 2186,
      "loc": {
        "start": {
          "line": 71,
          "column": 56
        },
        "end": {
          "line": 71,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2186,
      "end": 2187,
      "loc": {
        "start": {
          "line": 71,
          "column": 62
        },
        "end": {
          "line": 71,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2188,
      "end": 2189,
      "loc": {
        "start": {
          "line": 71,
          "column": 64
        },
        "end": {
          "line": 71,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "++/--",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": true,
        "binop": null
      },
      "value": "++",
      "start": 2189,
      "end": 2191,
      "loc": {
        "start": {
          "line": 71,
          "column": 65
        },
        "end": {
          "line": 71,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2191,
      "end": 2192,
      "loc": {
        "start": {
          "line": 71,
          "column": 67
        },
        "end": {
          "line": 71,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2193,
      "end": 2194,
      "loc": {
        "start": {
          "line": 71,
          "column": 69
        },
        "end": {
          "line": 71,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2215,
      "end": 2217,
      "loc": {
        "start": {
          "line": 72,
          "column": 20
        },
        "end": {
          "line": 72,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2218,
      "end": 2219,
      "loc": {
        "start": {
          "line": 72,
          "column": 23
        },
        "end": {
          "line": 72,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2219,
      "end": 2223,
      "loc": {
        "start": {
          "line": 72,
          "column": 24
        },
        "end": {
          "line": 72,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2223,
      "end": 2224,
      "loc": {
        "start": {
          "line": 72,
          "column": 28
        },
        "end": {
          "line": 72,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listeners",
      "start": 2224,
      "end": 2233,
      "loc": {
        "start": {
          "line": 72,
          "column": 29
        },
        "end": {
          "line": 72,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2233,
      "end": 2234,
      "loc": {
        "start": {
          "line": 72,
          "column": 38
        },
        "end": {
          "line": 72,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 2234,
      "end": 2237,
      "loc": {
        "start": {
          "line": 72,
          "column": 39
        },
        "end": {
          "line": 72,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2237,
      "end": 2238,
      "loc": {
        "start": {
          "line": 72,
          "column": 42
        },
        "end": {
          "line": 72,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2238,
      "end": 2239,
      "loc": {
        "start": {
          "line": 72,
          "column": 43
        },
        "end": {
          "line": 72,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2239,
      "end": 2240,
      "loc": {
        "start": {
          "line": 72,
          "column": 44
        },
        "end": {
          "line": 72,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2240,
      "end": 2241,
      "loc": {
        "start": {
          "line": 72,
          "column": 45
        },
        "end": {
          "line": 72,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2241,
      "end": 2242,
      "loc": {
        "start": {
          "line": 72,
          "column": 46
        },
        "end": {
          "line": 72,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 2242,
      "end": 2244,
      "loc": {
        "start": {
          "line": 72,
          "column": 47
        },
        "end": {
          "line": 72,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 2245,
      "end": 2248,
      "loc": {
        "start": {
          "line": 72,
          "column": 50
        },
        "end": {
          "line": 72,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 2249,
      "end": 2251,
      "loc": {
        "start": {
          "line": 72,
          "column": 54
        },
        "end": {
          "line": 72,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2251,
      "end": 2252,
      "loc": {
        "start": {
          "line": 72,
          "column": 56
        },
        "end": {
          "line": 72,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2253,
      "end": 2254,
      "loc": {
        "start": {
          "line": 72,
          "column": 58
        },
        "end": {
          "line": 72,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2279,
      "end": 2283,
      "loc": {
        "start": {
          "line": 73,
          "column": 24
        },
        "end": {
          "line": 73,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2283,
      "end": 2284,
      "loc": {
        "start": {
          "line": 73,
          "column": 28
        },
        "end": {
          "line": 73,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listeners",
      "start": 2284,
      "end": 2293,
      "loc": {
        "start": {
          "line": 73,
          "column": 29
        },
        "end": {
          "line": 73,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2293,
      "end": 2294,
      "loc": {
        "start": {
          "line": 73,
          "column": 38
        },
        "end": {
          "line": 73,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 2294,
      "end": 2297,
      "loc": {
        "start": {
          "line": 73,
          "column": 39
        },
        "end": {
          "line": 73,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2297,
      "end": 2298,
      "loc": {
        "start": {
          "line": 73,
          "column": 42
        },
        "end": {
          "line": 73,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2298,
      "end": 2299,
      "loc": {
        "start": {
          "line": 73,
          "column": 43
        },
        "end": {
          "line": 73,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "splice",
      "start": 2299,
      "end": 2305,
      "loc": {
        "start": {
          "line": 73,
          "column": 44
        },
        "end": {
          "line": 73,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2305,
      "end": 2306,
      "loc": {
        "start": {
          "line": 73,
          "column": 50
        },
        "end": {
          "line": 73,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "i",
      "start": 2306,
      "end": 2307,
      "loc": {
        "start": {
          "line": 73,
          "column": 51
        },
        "end": {
          "line": 73,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2307,
      "end": 2308,
      "loc": {
        "start": {
          "line": 73,
          "column": 52
        },
        "end": {
          "line": 73,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 2309,
      "end": 2310,
      "loc": {
        "start": {
          "line": 73,
          "column": 54
        },
        "end": {
          "line": 73,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2310,
      "end": 2311,
      "loc": {
        "start": {
          "line": 73,
          "column": 55
        },
        "end": {
          "line": 73,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2311,
      "end": 2312,
      "loc": {
        "start": {
          "line": 73,
          "column": 56
        },
        "end": {
          "line": 73,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2333,
      "end": 2334,
      "loc": {
        "start": {
          "line": 74,
          "column": 20
        },
        "end": {
          "line": 74,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2351,
      "end": 2352,
      "loc": {
        "start": {
          "line": 75,
          "column": 16
        },
        "end": {
          "line": 75,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2365,
      "end": 2366,
      "loc": {
        "start": {
          "line": 76,
          "column": 12
        },
        "end": {
          "line": 76,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2375,
      "end": 2376,
      "loc": {
        "start": {
          "line": 77,
          "column": 8
        },
        "end": {
          "line": 77,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2385,
      "end": 2387,
      "loc": {
        "start": {
          "line": 78,
          "column": 8
        },
        "end": {
          "line": 78,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2388,
      "end": 2389,
      "loc": {
        "start": {
          "line": 78,
          "column": 11
        },
        "end": {
          "line": 78,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2389,
      "end": 2393,
      "loc": {
        "start": {
          "line": 78,
          "column": 12
        },
        "end": {
          "line": 78,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2393,
      "end": 2394,
      "loc": {
        "start": {
          "line": 78,
          "column": 16
        },
        "end": {
          "line": 78,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listeners",
      "start": 2394,
      "end": 2403,
      "loc": {
        "start": {
          "line": 78,
          "column": 17
        },
        "end": {
          "line": 78,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2403,
      "end": 2404,
      "loc": {
        "start": {
          "line": 78,
          "column": 26
        },
        "end": {
          "line": 78,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 2404,
      "end": 2407,
      "loc": {
        "start": {
          "line": 78,
          "column": 27
        },
        "end": {
          "line": 78,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2407,
      "end": 2408,
      "loc": {
        "start": {
          "line": 78,
          "column": 30
        },
        "end": {
          "line": 78,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "==",
      "start": 2409,
      "end": 2411,
      "loc": {
        "start": {
          "line": 78,
          "column": 32
        },
        "end": {
          "line": 78,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 2412,
      "end": 2416,
      "loc": {
        "start": {
          "line": 78,
          "column": 35
        },
        "end": {
          "line": 78,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2416,
      "end": 2417,
      "loc": {
        "start": {
          "line": 78,
          "column": 39
        },
        "end": {
          "line": 78,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2418,
      "end": 2419,
      "loc": {
        "start": {
          "line": 78,
          "column": 41
        },
        "end": {
          "line": 78,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2432,
      "end": 2436,
      "loc": {
        "start": {
          "line": 79,
          "column": 12
        },
        "end": {
          "line": 79,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2436,
      "end": 2437,
      "loc": {
        "start": {
          "line": 79,
          "column": 16
        },
        "end": {
          "line": 79,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listeners",
      "start": 2437,
      "end": 2446,
      "loc": {
        "start": {
          "line": 79,
          "column": 17
        },
        "end": {
          "line": 79,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2446,
      "end": 2447,
      "loc": {
        "start": {
          "line": 79,
          "column": 26
        },
        "end": {
          "line": 79,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 2447,
      "end": 2450,
      "loc": {
        "start": {
          "line": 79,
          "column": 27
        },
        "end": {
          "line": 79,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2450,
      "end": 2451,
      "loc": {
        "start": {
          "line": 79,
          "column": 30
        },
        "end": {
          "line": 79,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2452,
      "end": 2453,
      "loc": {
        "start": {
          "line": 79,
          "column": 32
        },
        "end": {
          "line": 79,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2454,
      "end": 2455,
      "loc": {
        "start": {
          "line": 79,
          "column": 34
        },
        "end": {
          "line": 79,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2455,
      "end": 2456,
      "loc": {
        "start": {
          "line": 79,
          "column": 35
        },
        "end": {
          "line": 79,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2456,
      "end": 2457,
      "loc": {
        "start": {
          "line": 79,
          "column": 36
        },
        "end": {
          "line": 79,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "notifyNow",
      "start": 2470,
      "end": 2479,
      "loc": {
        "start": {
          "line": 80,
          "column": 12
        },
        "end": {
          "line": 80,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2480,
      "end": 2481,
      "loc": {
        "start": {
          "line": 80,
          "column": 22
        },
        "end": {
          "line": 80,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 2482,
      "end": 2487,
      "loc": {
        "start": {
          "line": 80,
          "column": 24
        },
        "end": {
          "line": 80,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2487,
      "end": 2488,
      "loc": {
        "start": {
          "line": 80,
          "column": 29
        },
        "end": {
          "line": 80,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2497,
      "end": 2498,
      "loc": {
        "start": {
          "line": 81,
          "column": 8
        },
        "end": {
          "line": 81,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2507,
      "end": 2511,
      "loc": {
        "start": {
          "line": 82,
          "column": 8
        },
        "end": {
          "line": 82,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2511,
      "end": 2512,
      "loc": {
        "start": {
          "line": 82,
          "column": 12
        },
        "end": {
          "line": 82,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "listeners",
      "start": 2512,
      "end": 2521,
      "loc": {
        "start": {
          "line": 82,
          "column": 13
        },
        "end": {
          "line": 82,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2521,
      "end": 2522,
      "loc": {
        "start": {
          "line": 82,
          "column": 22
        },
        "end": {
          "line": 82,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 2522,
      "end": 2525,
      "loc": {
        "start": {
          "line": 82,
          "column": 23
        },
        "end": {
          "line": 82,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2525,
      "end": 2526,
      "loc": {
        "start": {
          "line": 82,
          "column": 26
        },
        "end": {
          "line": 82,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2526,
      "end": 2527,
      "loc": {
        "start": {
          "line": 82,
          "column": 27
        },
        "end": {
          "line": 82,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "push",
      "start": 2527,
      "end": 2531,
      "loc": {
        "start": {
          "line": 82,
          "column": 28
        },
        "end": {
          "line": 82,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2531,
      "end": 2532,
      "loc": {
        "start": {
          "line": 82,
          "column": 32
        },
        "end": {
          "line": 82,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "token",
      "start": 2532,
      "end": 2537,
      "loc": {
        "start": {
          "line": 82,
          "column": 33
        },
        "end": {
          "line": 82,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2537,
      "end": 2538,
      "loc": {
        "start": {
          "line": 82,
          "column": 38
        },
        "end": {
          "line": 82,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2538,
      "end": 2539,
      "loc": {
        "start": {
          "line": 82,
          "column": 39
        },
        "end": {
          "line": 82,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2548,
      "end": 2550,
      "loc": {
        "start": {
          "line": 83,
          "column": 8
        },
        "end": {
          "line": 83,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2551,
      "end": 2552,
      "loc": {
        "start": {
          "line": 83,
          "column": 11
        },
        "end": {
          "line": 83,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "notifyNow",
      "start": 2552,
      "end": 2561,
      "loc": {
        "start": {
          "line": 83,
          "column": 12
        },
        "end": {
          "line": 83,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2561,
      "end": 2562,
      "loc": {
        "start": {
          "line": 83,
          "column": 21
        },
        "end": {
          "line": 83,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "callback",
      "start": 2575,
      "end": 2583,
      "loc": {
        "start": {
          "line": 84,
          "column": 12
        },
        "end": {
          "line": 84,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2583,
      "end": 2584,
      "loc": {
        "start": {
          "line": 84,
          "column": 20
        },
        "end": {
          "line": 84,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2584,
      "end": 2588,
      "loc": {
        "start": {
          "line": 84,
          "column": 21
        },
        "end": {
          "line": 84,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2588,
      "end": 2589,
      "loc": {
        "start": {
          "line": 84,
          "column": 25
        },
        "end": {
          "line": 84,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 2589,
      "end": 2593,
      "loc": {
        "start": {
          "line": 84,
          "column": 26
        },
        "end": {
          "line": 84,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2593,
      "end": 2594,
      "loc": {
        "start": {
          "line": 84,
          "column": 30
        },
        "end": {
          "line": 84,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 2594,
      "end": 2597,
      "loc": {
        "start": {
          "line": 84,
          "column": 31
        },
        "end": {
          "line": 84,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2597,
      "end": 2598,
      "loc": {
        "start": {
          "line": 84,
          "column": 34
        },
        "end": {
          "line": 84,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2598,
      "end": 2599,
      "loc": {
        "start": {
          "line": 84,
          "column": 35
        },
        "end": {
          "line": 84,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2599,
      "end": 2600,
      "loc": {
        "start": {
          "line": 84,
          "column": 36
        },
        "end": {
          "line": 84,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2609,
      "end": 2615,
      "loc": {
        "start": {
          "line": 85,
          "column": 8
        },
        "end": {
          "line": 85,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "token",
      "start": 2616,
      "end": 2621,
      "loc": {
        "start": {
          "line": 85,
          "column": 15
        },
        "end": {
          "line": 85,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2621,
      "end": 2622,
      "loc": {
        "start": {
          "line": 85,
          "column": 20
        },
        "end": {
          "line": 85,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2627,
      "end": 2628,
      "loc": {
        "start": {
          "line": 86,
          "column": 4
        },
        "end": {
          "line": 86,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2629,
      "end": 2630,
      "loc": {
        "start": {
          "line": 87,
          "column": 0
        },
        "end": {
          "line": 87,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2630,
      "end": 2630,
      "loc": {
        "start": {
          "line": 87,
          "column": 1
        },
        "end": {
          "line": 87,
          "column": 1
        }
      }
    }
  ]
}