{
  "type": "Program",
  "body": [
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "async",
            "range": [
              9,
              14
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 14
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "async",
            "range": [
              9,
              14
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 14
              }
            }
          },
          "range": [
            9,
            14
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 9
            },
            "end": {
              "line": 1,
              "column": 14
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../scheduler/async",
        "raw": "'../scheduler/async'",
        "range": [
          22,
          42
        ],
        "loc": {
          "start": {
            "line": 1,
            "column": 22
          },
          "end": {
            "line": 1,
            "column": 42
          }
        }
      },
      "range": [
        0,
        43
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 43
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "Subscriber",
            "range": [
              53,
              63
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 19
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "Subscriber",
            "range": [
              53,
              63
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 19
              }
            }
          },
          "range": [
            53,
            63
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 9
            },
            "end": {
              "line": 2,
              "column": 19
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../Subscriber",
        "raw": "'../Subscriber'",
        "range": [
          71,
          86
        ],
        "loc": {
          "start": {
            "line": 2,
            "column": 27
          },
          "end": {
            "line": 2,
            "column": 42
          }
        }
      },
      "range": [
        44,
        87
      ],
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 43
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "isScheduler",
            "range": [
              97,
              108
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 20
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "isScheduler",
            "range": [
              97,
              108
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 20
              }
            }
          },
          "range": [
            97,
            108
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 9
            },
            "end": {
              "line": 3,
              "column": 20
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../util/isScheduler",
        "raw": "'../util/isScheduler'",
        "range": [
          116,
          137
        ],
        "loc": {
          "start": {
            "line": 3,
            "column": 28
          },
          "end": {
            "line": 3,
            "column": 49
          }
        }
      },
      "range": [
        88,
        138
      ],
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 50
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": " tslint:disable:max-line-length ",
          "range": [
            139,
            175
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 0
            },
            "end": {
              "line": 4,
              "column": 36
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "FunctionDeclaration",
        "id": {
          "type": "Identifier",
          "name": "bufferTime",
          "range": [
            192,
            202
          ],
          "loc": {
            "start": {
              "line": 5,
              "column": 16
            },
            "end": {
              "line": 5,
              "column": 26
            }
          }
        },
        "params": [
          {
            "type": "Identifier",
            "name": "bufferTimeSpan",
            "range": [
              203,
              217
            ],
            "loc": {
              "start": {
                "line": 5,
                "column": 27
              },
              "end": {
                "line": 5,
                "column": 41
              }
            }
          }
        ],
        "body": {
          "type": "BlockStatement",
          "body": [
            {
              "type": "VariableDeclaration",
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "id": {
                    "type": "Identifier",
                    "name": "length",
                    "range": [
                      229,
                      235
                    ],
                    "loc": {
                      "start": {
                        "line": 6,
                        "column": 8
                      },
                      "end": {
                        "line": 6,
                        "column": 14
                      }
                    }
                  },
                  "init": {
                    "type": "MemberExpression",
                    "computed": false,
                    "object": {
                      "type": "Identifier",
                      "name": "arguments",
                      "range": [
                        238,
                        247
                      ],
                      "loc": {
                        "start": {
                          "line": 6,
                          "column": 17
                        },
                        "end": {
                          "line": 6,
                          "column": 26
                        }
                      }
                    },
                    "property": {
                      "type": "Identifier",
                      "name": "length",
                      "range": [
                        248,
                        254
                      ],
                      "loc": {
                        "start": {
                          "line": 6,
                          "column": 27
                        },
                        "end": {
                          "line": 6,
                          "column": 33
                        }
                      }
                    },
                    "range": [
                      238,
                      254
                    ],
                    "loc": {
                      "start": {
                        "line": 6,
                        "column": 17
                      },
                      "end": {
                        "line": 6,
                        "column": 33
                      }
                    }
                  },
                  "range": [
                    229,
                    254
                  ],
                  "loc": {
                    "start": {
                      "line": 6,
                      "column": 8
                    },
                    "end": {
                      "line": 6,
                      "column": 33
                    }
                  }
                }
              ],
              "kind": "var",
              "range": [
                225,
                255
              ],
              "loc": {
                "start": {
                  "line": 6,
                  "column": 4
                },
                "end": {
                  "line": 6,
                  "column": 34
                }
              }
            },
            {
              "type": "VariableDeclaration",
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "id": {
                    "type": "Identifier",
                    "name": "scheduler",
                    "range": [
                      264,
                      273
                    ],
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 8
                      },
                      "end": {
                        "line": 7,
                        "column": 17
                      }
                    }
                  },
                  "init": {
                    "type": "Identifier",
                    "name": "async",
                    "range": [
                      276,
                      281
                    ],
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 20
                      },
                      "end": {
                        "line": 7,
                        "column": 25
                      }
                    }
                  },
                  "range": [
                    264,
                    281
                  ],
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 8
                    },
                    "end": {
                      "line": 7,
                      "column": 25
                    }
                  }
                }
              ],
              "kind": "var",
              "range": [
                260,
                282
              ],
              "loc": {
                "start": {
                  "line": 7,
                  "column": 4
                },
                "end": {
                  "line": 7,
                  "column": 26
                }
              }
            },
            {
              "type": "IfStatement",
              "test": {
                "type": "CallExpression",
                "callee": {
                  "type": "Identifier",
                  "name": "isScheduler",
                  "range": [
                    291,
                    302
                  ],
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 8
                    },
                    "end": {
                      "line": 8,
                      "column": 19
                    }
                  }
                },
                "arguments": [
                  {
                    "type": "MemberExpression",
                    "computed": true,
                    "object": {
                      "type": "Identifier",
                      "name": "arguments",
                      "range": [
                        303,
                        312
                      ],
                      "loc": {
                        "start": {
                          "line": 8,
                          "column": 20
                        },
                        "end": {
                          "line": 8,
                          "column": 29
                        }
                      }
                    },
                    "property": {
                      "type": "BinaryExpression",
                      "operator": "-",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "arguments",
                          "range": [
                            313,
                            322
                          ],
                          "loc": {
                            "start": {
                              "line": 8,
                              "column": 30
                            },
                            "end": {
                              "line": 8,
                              "column": 39
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "length",
                          "range": [
                            323,
                            329
                          ],
                          "loc": {
                            "start": {
                              "line": 8,
                              "column": 40
                            },
                            "end": {
                              "line": 8,
                              "column": 46
                            }
                          }
                        },
                        "range": [
                          313,
                          329
                        ],
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 30
                          },
                          "end": {
                            "line": 8,
                            "column": 46
                          }
                        }
                      },
                      "right": {
                        "type": "Literal",
                        "value": 1,
                        "raw": "1",
                        "range": [
                          332,
                          333
                        ],
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 49
                          },
                          "end": {
                            "line": 8,
                            "column": 50
                          }
                        }
                      },
                      "range": [
                        313,
                        333
                      ],
                      "loc": {
                        "start": {
                          "line": 8,
                          "column": 30
                        },
                        "end": {
                          "line": 8,
                          "column": 50
                        }
                      }
                    },
                    "range": [
                      303,
                      334
                    ],
                    "loc": {
                      "start": {
                        "line": 8,
                        "column": 20
                      },
                      "end": {
                        "line": 8,
                        "column": 51
                      }
                    }
                  }
                ],
                "range": [
                  291,
                  335
                ],
                "loc": {
                  "start": {
                    "line": 8,
                    "column": 8
                  },
                  "end": {
                    "line": 8,
                    "column": 52
                  }
                }
              },
              "consequent": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "name": "scheduler",
                        "range": [
                          347,
                          356
                        ],
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 8
                          },
                          "end": {
                            "line": 9,
                            "column": 17
                          }
                        }
                      },
                      "right": {
                        "type": "MemberExpression",
                        "computed": true,
                        "object": {
                          "type": "Identifier",
                          "name": "arguments",
                          "range": [
                            359,
                            368
                          ],
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 20
                            },
                            "end": {
                              "line": 9,
                              "column": 29
                            }
                          }
                        },
                        "property": {
                          "type": "BinaryExpression",
                          "operator": "-",
                          "left": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "arguments",
                              "range": [
                                369,
                                378
                              ],
                              "loc": {
                                "start": {
                                  "line": 9,
                                  "column": 30
                                },
                                "end": {
                                  "line": 9,
                                  "column": 39
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "length",
                              "range": [
                                379,
                                385
                              ],
                              "loc": {
                                "start": {
                                  "line": 9,
                                  "column": 40
                                },
                                "end": {
                                  "line": 9,
                                  "column": 46
                                }
                              }
                            },
                            "range": [
                              369,
                              385
                            ],
                            "loc": {
                              "start": {
                                "line": 9,
                                "column": 30
                              },
                              "end": {
                                "line": 9,
                                "column": 46
                              }
                            }
                          },
                          "right": {
                            "type": "Literal",
                            "value": 1,
                            "raw": "1",
                            "range": [
                              388,
                              389
                            ],
                            "loc": {
                              "start": {
                                "line": 9,
                                "column": 49
                              },
                              "end": {
                                "line": 9,
                                "column": 50
                              }
                            }
                          },
                          "range": [
                            369,
                            389
                          ],
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 30
                            },
                            "end": {
                              "line": 9,
                              "column": 50
                            }
                          }
                        },
                        "range": [
                          359,
                          390
                        ],
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 20
                          },
                          "end": {
                            "line": 9,
                            "column": 51
                          }
                        }
                      },
                      "range": [
                        347,
                        390
                      ],
                      "loc": {
                        "start": {
                          "line": 9,
                          "column": 8
                        },
                        "end": {
                          "line": 9,
                          "column": 51
                        }
                      }
                    },
                    "range": [
                      347,
                      391
                    ],
                    "loc": {
                      "start": {
                        "line": 9,
                        "column": 8
                      },
                      "end": {
                        "line": 9,
                        "column": 52
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "UpdateExpression",
                      "operator": "--",
                      "argument": {
                        "type": "Identifier",
                        "name": "length",
                        "range": [
                          400,
                          406
                        ],
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 8
                          },
                          "end": {
                            "line": 10,
                            "column": 14
                          }
                        }
                      },
                      "prefix": false,
                      "range": [
                        400,
                        408
                      ],
                      "loc": {
                        "start": {
                          "line": 10,
                          "column": 8
                        },
                        "end": {
                          "line": 10,
                          "column": 16
                        }
                      }
                    },
                    "range": [
                      400,
                      409
                    ],
                    "loc": {
                      "start": {
                        "line": 10,
                        "column": 8
                      },
                      "end": {
                        "line": 10,
                        "column": 17
                      }
                    }
                  }
                ],
                "range": [
                  337,
                  415
                ],
                "loc": {
                  "start": {
                    "line": 8,
                    "column": 54
                  },
                  "end": {
                    "line": 11,
                    "column": 5
                  }
                }
              },
              "alternate": null,
              "range": [
                287,
                415
              ],
              "loc": {
                "start": {
                  "line": 8,
                  "column": 4
                },
                "end": {
                  "line": 11,
                  "column": 5
                }
              }
            },
            {
              "type": "VariableDeclaration",
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "id": {
                    "type": "Identifier",
                    "name": "bufferCreationInterval",
                    "range": [
                      424,
                      446
                    ],
                    "loc": {
                      "start": {
                        "line": 12,
                        "column": 8
                      },
                      "end": {
                        "line": 12,
                        "column": 30
                      }
                    }
                  },
                  "init": {
                    "type": "Literal",
                    "value": null,
                    "raw": "null",
                    "range": [
                      449,
                      453
                    ],
                    "loc": {
                      "start": {
                        "line": 12,
                        "column": 33
                      },
                      "end": {
                        "line": 12,
                        "column": 37
                      }
                    }
                  },
                  "range": [
                    424,
                    453
                  ],
                  "loc": {
                    "start": {
                      "line": 12,
                      "column": 8
                    },
                    "end": {
                      "line": 12,
                      "column": 37
                    }
                  }
                }
              ],
              "kind": "var",
              "range": [
                420,
                454
              ],
              "loc": {
                "start": {
                  "line": 12,
                  "column": 4
                },
                "end": {
                  "line": 12,
                  "column": 38
                }
              }
            },
            {
              "type": "IfStatement",
              "test": {
                "type": "BinaryExpression",
                "operator": ">=",
                "left": {
                  "type": "Identifier",
                  "name": "length",
                  "range": [
                    463,
                    469
                  ],
                  "loc": {
                    "start": {
                      "line": 13,
                      "column": 8
                    },
                    "end": {
                      "line": 13,
                      "column": 14
                    }
                  }
                },
                "right": {
                  "type": "Literal",
                  "value": 2,
                  "raw": "2",
                  "range": [
                    473,
                    474
                  ],
                  "loc": {
                    "start": {
                      "line": 13,
                      "column": 18
                    },
                    "end": {
                      "line": 13,
                      "column": 19
                    }
                  }
                },
                "range": [
                  463,
                  474
                ],
                "loc": {
                  "start": {
                    "line": 13,
                    "column": 8
                  },
                  "end": {
                    "line": 13,
                    "column": 19
                  }
                }
              },
              "consequent": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "name": "bufferCreationInterval",
                        "range": [
                          486,
                          508
                        ],
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 8
                          },
                          "end": {
                            "line": 14,
                            "column": 30
                          }
                        }
                      },
                      "right": {
                        "type": "MemberExpression",
                        "computed": true,
                        "object": {
                          "type": "Identifier",
                          "name": "arguments",
                          "range": [
                            511,
                            520
                          ],
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 33
                            },
                            "end": {
                              "line": 14,
                              "column": 42
                            }
                          }
                        },
                        "property": {
                          "type": "Literal",
                          "value": 1,
                          "raw": "1",
                          "range": [
                            521,
                            522
                          ],
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 43
                            },
                            "end": {
                              "line": 14,
                              "column": 44
                            }
                          }
                        },
                        "range": [
                          511,
                          523
                        ],
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 33
                          },
                          "end": {
                            "line": 14,
                            "column": 45
                          }
                        }
                      },
                      "range": [
                        486,
                        523
                      ],
                      "loc": {
                        "start": {
                          "line": 14,
                          "column": 8
                        },
                        "end": {
                          "line": 14,
                          "column": 45
                        }
                      }
                    },
                    "range": [
                      486,
                      524
                    ],
                    "loc": {
                      "start": {
                        "line": 14,
                        "column": 8
                      },
                      "end": {
                        "line": 14,
                        "column": 46
                      }
                    }
                  }
                ],
                "range": [
                  476,
                  530
                ],
                "loc": {
                  "start": {
                    "line": 13,
                    "column": 21
                  },
                  "end": {
                    "line": 15,
                    "column": 5
                  }
                }
              },
              "alternate": null,
              "range": [
                459,
                530
              ],
              "loc": {
                "start": {
                  "line": 13,
                  "column": 4
                },
                "end": {
                  "line": 15,
                  "column": 5
                }
              }
            },
            {
              "type": "VariableDeclaration",
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "id": {
                    "type": "Identifier",
                    "name": "maxBufferSize",
                    "range": [
                      539,
                      552
                    ],
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 8
                      },
                      "end": {
                        "line": 16,
                        "column": 21
                      }
                    }
                  },
                  "init": {
                    "type": "MemberExpression",
                    "computed": false,
                    "object": {
                      "type": "Identifier",
                      "name": "Number",
                      "range": [
                        555,
                        561
                      ],
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 24
                        },
                        "end": {
                          "line": 16,
                          "column": 30
                        }
                      }
                    },
                    "property": {
                      "type": "Identifier",
                      "name": "POSITIVE_INFINITY",
                      "range": [
                        562,
                        579
                      ],
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 31
                        },
                        "end": {
                          "line": 16,
                          "column": 48
                        }
                      }
                    },
                    "range": [
                      555,
                      579
                    ],
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 24
                      },
                      "end": {
                        "line": 16,
                        "column": 48
                      }
                    }
                  },
                  "range": [
                    539,
                    579
                  ],
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 8
                    },
                    "end": {
                      "line": 16,
                      "column": 48
                    }
                  }
                }
              ],
              "kind": "var",
              "range": [
                535,
                580
              ],
              "loc": {
                "start": {
                  "line": 16,
                  "column": 4
                },
                "end": {
                  "line": 16,
                  "column": 49
                }
              }
            },
            {
              "type": "IfStatement",
              "test": {
                "type": "BinaryExpression",
                "operator": ">=",
                "left": {
                  "type": "Identifier",
                  "name": "length",
                  "range": [
                    589,
                    595
                  ],
                  "loc": {
                    "start": {
                      "line": 17,
                      "column": 8
                    },
                    "end": {
                      "line": 17,
                      "column": 14
                    }
                  }
                },
                "right": {
                  "type": "Literal",
                  "value": 3,
                  "raw": "3",
                  "range": [
                    599,
                    600
                  ],
                  "loc": {
                    "start": {
                      "line": 17,
                      "column": 18
                    },
                    "end": {
                      "line": 17,
                      "column": 19
                    }
                  }
                },
                "range": [
                  589,
                  600
                ],
                "loc": {
                  "start": {
                    "line": 17,
                    "column": 8
                  },
                  "end": {
                    "line": 17,
                    "column": 19
                  }
                }
              },
              "consequent": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "name": "maxBufferSize",
                        "range": [
                          612,
                          625
                        ],
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 8
                          },
                          "end": {
                            "line": 18,
                            "column": 21
                          }
                        }
                      },
                      "right": {
                        "type": "MemberExpression",
                        "computed": true,
                        "object": {
                          "type": "Identifier",
                          "name": "arguments",
                          "range": [
                            628,
                            637
                          ],
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 24
                            },
                            "end": {
                              "line": 18,
                              "column": 33
                            }
                          }
                        },
                        "property": {
                          "type": "Literal",
                          "value": 2,
                          "raw": "2",
                          "range": [
                            638,
                            639
                          ],
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 34
                            },
                            "end": {
                              "line": 18,
                              "column": 35
                            }
                          }
                        },
                        "range": [
                          628,
                          640
                        ],
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 24
                          },
                          "end": {
                            "line": 18,
                            "column": 36
                          }
                        }
                      },
                      "range": [
                        612,
                        640
                      ],
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 8
                        },
                        "end": {
                          "line": 18,
                          "column": 36
                        }
                      }
                    },
                    "range": [
                      612,
                      641
                    ],
                    "loc": {
                      "start": {
                        "line": 18,
                        "column": 8
                      },
                      "end": {
                        "line": 18,
                        "column": 37
                      }
                    }
                  }
                ],
                "range": [
                  602,
                  647
                ],
                "loc": {
                  "start": {
                    "line": 17,
                    "column": 21
                  },
                  "end": {
                    "line": 19,
                    "column": 5
                  }
                }
              },
              "alternate": null,
              "range": [
                585,
                647
              ],
              "loc": {
                "start": {
                  "line": 17,
                  "column": 4
                },
                "end": {
                  "line": 19,
                  "column": 5
                }
              }
            },
            {
              "type": "ReturnStatement",
              "argument": {
                "type": "CallExpression",
                "callee": {
                  "type": "MemberExpression",
                  "computed": false,
                  "object": {
                    "type": "ThisExpression",
                    "range": [
                      659,
                      663
                    ],
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 11
                      },
                      "end": {
                        "line": 20,
                        "column": 15
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "name": "lift",
                    "range": [
                      664,
                      668
                    ],
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 16
                      },
                      "end": {
                        "line": 20,
                        "column": 20
                      }
                    }
                  },
                  "range": [
                    659,
                    668
                  ],
                  "loc": {
                    "start": {
                      "line": 20,
                      "column": 11
                    },
                    "end": {
                      "line": 20,
                      "column": 20
                    }
                  }
                },
                "arguments": [
                  {
                    "type": "NewExpression",
                    "callee": {
                      "type": "Identifier",
                      "name": "BufferTimeOperator",
                      "range": [
                        673,
                        691
                      ],
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 25
                        },
                        "end": {
                          "line": 20,
                          "column": 43
                        }
                      }
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "name": "bufferTimeSpan",
                        "range": [
                          692,
                          706
                        ],
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 44
                          },
                          "end": {
                            "line": 20,
                            "column": 58
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "bufferCreationInterval",
                        "range": [
                          708,
                          730
                        ],
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 60
                          },
                          "end": {
                            "line": 20,
                            "column": 82
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "maxBufferSize",
                        "range": [
                          732,
                          745
                        ],
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 84
                          },
                          "end": {
                            "line": 20,
                            "column": 97
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "scheduler",
                        "range": [
                          747,
                          756
                        ],
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 99
                          },
                          "end": {
                            "line": 20,
                            "column": 108
                          }
                        }
                      }
                    ],
                    "range": [
                      669,
                      757
                    ],
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 21
                      },
                      "end": {
                        "line": 20,
                        "column": 109
                      }
                    }
                  }
                ],
                "range": [
                  659,
                  758
                ],
                "loc": {
                  "start": {
                    "line": 20,
                    "column": 11
                  },
                  "end": {
                    "line": 20,
                    "column": 110
                  }
                }
              },
              "range": [
                652,
                759
              ],
              "loc": {
                "start": {
                  "line": 20,
                  "column": 4
                },
                "end": {
                  "line": 20,
                  "column": 111
                }
              }
            }
          ],
          "range": [
            219,
            761
          ],
          "loc": {
            "start": {
              "line": 5,
              "column": 43
            },
            "end": {
              "line": 21,
              "column": 1
            }
          }
        },
        "generator": false,
        "expression": false,
        "range": [
          183,
          761
        ],
        "loc": {
          "start": {
            "line": 5,
            "column": 7
          },
          "end": {
            "line": 21,
            "column": 1
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": " tslint:disable:max-line-length ",
            "range": [
              139,
              175
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 0
              },
              "end": {
                "line": 4,
                "column": 36
              }
            }
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "range": [
        176,
        761
      ],
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 21,
          "column": 1
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": " tslint:disable:max-line-length ",
          "range": [
            139,
            175
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 0
            },
            "end": {
              "line": 4,
              "column": 36
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "BufferTimeOperator",
            "range": [
              766,
              784
            ],
            "loc": {
              "start": {
                "line": 22,
                "column": 4
              },
              "end": {
                "line": 22,
                "column": 22
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "BufferTimeOperator",
                      "range": [
                        815,
                        833
                      ],
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 13
                        },
                        "end": {
                          "line": 23,
                          "column": 31
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "bufferTimeSpan",
                        "range": [
                          834,
                          848
                        ],
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 32
                          },
                          "end": {
                            "line": 23,
                            "column": 46
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "bufferCreationInterval",
                        "range": [
                          850,
                          872
                        ],
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 48
                          },
                          "end": {
                            "line": 23,
                            "column": 70
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "maxBufferSize",
                        "range": [
                          874,
                          887
                        ],
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 72
                          },
                          "end": {
                            "line": 23,
                            "column": 85
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "scheduler",
                        "range": [
                          889,
                          898
                        ],
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 87
                          },
                          "end": {
                            "line": 23,
                            "column": 96
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  910,
                                  914
                                ],
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "bufferTimeSpan",
                                "range": [
                                  915,
                                  929
                                ],
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 27
                                  }
                                }
                              },
                              "range": [
                                910,
                                929
                              ],
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 8
                                },
                                "end": {
                                  "line": 24,
                                  "column": 27
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "bufferTimeSpan",
                              "range": [
                                932,
                                946
                              ],
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 30
                                },
                                "end": {
                                  "line": 24,
                                  "column": 44
                                }
                              }
                            },
                            "range": [
                              910,
                              946
                            ],
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 8
                              },
                              "end": {
                                "line": 24,
                                "column": 44
                              }
                            }
                          },
                          "range": [
                            910,
                            947
                          ],
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 8
                            },
                            "end": {
                              "line": 24,
                              "column": 45
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  956,
                                  960
                                ],
                                "loc": {
                                  "start": {
                                    "line": 25,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 25,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "bufferCreationInterval",
                                "range": [
                                  961,
                                  983
                                ],
                                "loc": {
                                  "start": {
                                    "line": 25,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 25,
                                    "column": 35
                                  }
                                }
                              },
                              "range": [
                                956,
                                983
                              ],
                              "loc": {
                                "start": {
                                  "line": 25,
                                  "column": 8
                                },
                                "end": {
                                  "line": 25,
                                  "column": 35
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "bufferCreationInterval",
                              "range": [
                                986,
                                1008
                              ],
                              "loc": {
                                "start": {
                                  "line": 25,
                                  "column": 38
                                },
                                "end": {
                                  "line": 25,
                                  "column": 60
                                }
                              }
                            },
                            "range": [
                              956,
                              1008
                            ],
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 8
                              },
                              "end": {
                                "line": 25,
                                "column": 60
                              }
                            }
                          },
                          "range": [
                            956,
                            1009
                          ],
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 8
                            },
                            "end": {
                              "line": 25,
                              "column": 61
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1018,
                                  1022
                                ],
                                "loc": {
                                  "start": {
                                    "line": 26,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 26,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "maxBufferSize",
                                "range": [
                                  1023,
                                  1036
                                ],
                                "loc": {
                                  "start": {
                                    "line": 26,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 26,
                                    "column": 26
                                  }
                                }
                              },
                              "range": [
                                1018,
                                1036
                              ],
                              "loc": {
                                "start": {
                                  "line": 26,
                                  "column": 8
                                },
                                "end": {
                                  "line": 26,
                                  "column": 26
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "maxBufferSize",
                              "range": [
                                1039,
                                1052
                              ],
                              "loc": {
                                "start": {
                                  "line": 26,
                                  "column": 29
                                },
                                "end": {
                                  "line": 26,
                                  "column": 42
                                }
                              }
                            },
                            "range": [
                              1018,
                              1052
                            ],
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 8
                              },
                              "end": {
                                "line": 26,
                                "column": 42
                              }
                            }
                          },
                          "range": [
                            1018,
                            1053
                          ],
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 8
                            },
                            "end": {
                              "line": 26,
                              "column": 43
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1062,
                                  1066
                                ],
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "scheduler",
                                "range": [
                                  1067,
                                  1076
                                ],
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 22
                                  }
                                }
                              },
                              "range": [
                                1062,
                                1076
                              ],
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 8
                                },
                                "end": {
                                  "line": 27,
                                  "column": 22
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "scheduler",
                              "range": [
                                1079,
                                1088
                              ],
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 25
                                },
                                "end": {
                                  "line": 27,
                                  "column": 34
                                }
                              }
                            },
                            "range": [
                              1062,
                              1088
                            ],
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 8
                              },
                              "end": {
                                "line": 27,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            1062,
                            1089
                          ],
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 8
                            },
                            "end": {
                              "line": 27,
                              "column": 35
                            }
                          }
                        }
                      ],
                      "range": [
                        900,
                        1095
                      ],
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 98
                        },
                        "end": {
                          "line": 28,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      806,
                      1095
                    ],
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 4
                      },
                      "end": {
                        "line": 28,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "BufferTimeOperator",
                            "range": [
                              1100,
                              1118
                            ],
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 4
                              },
                              "end": {
                                "line": 29,
                                "column": 22
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              1119,
                              1128
                            ],
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 23
                              },
                              "end": {
                                "line": 29,
                                "column": 32
                              }
                            }
                          },
                          "range": [
                            1100,
                            1128
                          ],
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 4
                            },
                            "end": {
                              "line": 29,
                              "column": 32
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "call",
                          "range": [
                            1129,
                            1133
                          ],
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 33
                            },
                            "end": {
                              "line": 29,
                              "column": 37
                            }
                          }
                        },
                        "range": [
                          1100,
                          1133
                        ],
                        "loc": {
                          "start": {
                            "line": 29,
                            "column": 4
                          },
                          "end": {
                            "line": 29,
                            "column": 37
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "subscriber",
                            "range": [
                              1146,
                              1156
                            ],
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 50
                              },
                              "end": {
                                "line": 29,
                                "column": 60
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "source",
                            "range": [
                              1158,
                              1164
                            ],
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 62
                              },
                              "end": {
                                "line": 29,
                                "column": 68
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ReturnStatement",
                              "argument": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "source",
                                    "range": [
                                      1183,
                                      1189
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 30,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 30,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_subscribe",
                                    "range": [
                                      1190,
                                      1200
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 30,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 30,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "range": [
                                    1183,
                                    1200
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 30,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 30,
                                      "column": 32
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "NewExpression",
                                    "callee": {
                                      "type": "Identifier",
                                      "name": "BufferTimeSubscriber",
                                      "range": [
                                        1205,
                                        1225
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 30,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 30,
                                          "column": 57
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "name": "subscriber",
                                        "range": [
                                          1226,
                                          1236
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 30,
                                            "column": 58
                                          },
                                          "end": {
                                            "line": 30,
                                            "column": 68
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            1238,
                                            1242
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 30,
                                              "column": 70
                                            },
                                            "end": {
                                              "line": 30,
                                              "column": 74
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "bufferTimeSpan",
                                          "range": [
                                            1243,
                                            1257
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 30,
                                              "column": 75
                                            },
                                            "end": {
                                              "line": 30,
                                              "column": 89
                                            }
                                          }
                                        },
                                        "range": [
                                          1238,
                                          1257
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 30,
                                            "column": 70
                                          },
                                          "end": {
                                            "line": 30,
                                            "column": 89
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            1259,
                                            1263
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 30,
                                              "column": 91
                                            },
                                            "end": {
                                              "line": 30,
                                              "column": 95
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "bufferCreationInterval",
                                          "range": [
                                            1264,
                                            1286
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 30,
                                              "column": 96
                                            },
                                            "end": {
                                              "line": 30,
                                              "column": 118
                                            }
                                          }
                                        },
                                        "range": [
                                          1259,
                                          1286
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 30,
                                            "column": 91
                                          },
                                          "end": {
                                            "line": 30,
                                            "column": 118
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            1288,
                                            1292
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 30,
                                              "column": 120
                                            },
                                            "end": {
                                              "line": 30,
                                              "column": 124
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "maxBufferSize",
                                          "range": [
                                            1293,
                                            1306
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 30,
                                              "column": 125
                                            },
                                            "end": {
                                              "line": 30,
                                              "column": 138
                                            }
                                          }
                                        },
                                        "range": [
                                          1288,
                                          1306
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 30,
                                            "column": 120
                                          },
                                          "end": {
                                            "line": 30,
                                            "column": 138
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            1308,
                                            1312
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 30,
                                              "column": 140
                                            },
                                            "end": {
                                              "line": 30,
                                              "column": 144
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "scheduler",
                                          "range": [
                                            1313,
                                            1322
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 30,
                                              "column": 145
                                            },
                                            "end": {
                                              "line": 30,
                                              "column": 154
                                            }
                                          }
                                        },
                                        "range": [
                                          1308,
                                          1322
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 30,
                                            "column": 140
                                          },
                                          "end": {
                                            "line": 30,
                                            "column": 154
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      1201,
                                      1323
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 30,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 30,
                                        "column": 155
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  1183,
                                  1324
                                ],
                                "loc": {
                                  "start": {
                                    "line": 30,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 30,
                                    "column": 156
                                  }
                                }
                              },
                              "range": [
                                1176,
                                1325
                              ],
                              "loc": {
                                "start": {
                                  "line": 30,
                                  "column": 8
                                },
                                "end": {
                                  "line": 30,
                                  "column": 157
                                }
                              }
                            }
                          ],
                          "range": [
                            1166,
                            1331
                          ],
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 70
                            },
                            "end": {
                              "line": 31,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          1136,
                          1331
                        ],
                        "loc": {
                          "start": {
                            "line": 29,
                            "column": 40
                          },
                          "end": {
                            "line": 31,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1100,
                        1331
                      ],
                      "loc": {
                        "start": {
                          "line": 29,
                          "column": 4
                        },
                        "end": {
                          "line": 31,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      1100,
                      1332
                    ],
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 4
                      },
                      "end": {
                        "line": 31,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "BufferTimeOperator",
                      "range": [
                        1344,
                        1362
                      ],
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 11
                        },
                        "end": {
                          "line": 32,
                          "column": 29
                        }
                      }
                    },
                    "range": [
                      1337,
                      1363
                    ],
                    "loc": {
                      "start": {
                        "line": 32,
                        "column": 4
                      },
                      "end": {
                        "line": 32,
                        "column": 30
                      }
                    }
                  }
                ],
                "range": [
                  800,
                  1365
                ],
                "loc": {
                  "start": {
                    "line": 22,
                    "column": 38
                  },
                  "end": {
                    "line": 33,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                788,
                1365
              ],
              "loc": {
                "start": {
                  "line": 22,
                  "column": 26
                },
                "end": {
                  "line": 33,
                  "column": 1
                }
              }
            },
            "arguments": [],
            "range": [
              788,
              1367
            ],
            "loc": {
              "start": {
                "line": 22,
                "column": 26
              },
              "end": {
                "line": 33,
                "column": 3
              }
            }
          },
          "range": [
            766,
            1368
          ],
          "loc": {
            "start": {
              "line": 22,
              "column": 4
            },
            "end": {
              "line": 33,
              "column": 4
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        762,
        1369
      ],
      "loc": {
        "start": {
          "line": 22,
          "column": 0
        },
        "end": {
          "line": 33,
          "column": 5
        }
      }
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "Context",
            "range": [
              1374,
              1381
            ],
            "loc": {
              "start": {
                "line": 34,
                "column": 4
              },
              "end": {
                "line": 34,
                "column": 11
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "Context",
                      "range": [
                        1412,
                        1419
                      ],
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 13
                        },
                        "end": {
                          "line": 35,
                          "column": 20
                        }
                      }
                    },
                    "params": [],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1432,
                                  1436
                                ],
                                "loc": {
                                  "start": {
                                    "line": 36,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 36,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "buffer",
                                "range": [
                                  1437,
                                  1443
                                ],
                                "loc": {
                                  "start": {
                                    "line": 36,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 36,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                1432,
                                1443
                              ],
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 8
                                },
                                "end": {
                                  "line": 36,
                                  "column": 19
                                }
                              }
                            },
                            "right": {
                              "type": "ArrayExpression",
                              "elements": [],
                              "range": [
                                1446,
                                1448
                              ],
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 22
                                },
                                "end": {
                                  "line": 36,
                                  "column": 24
                                }
                              }
                            },
                            "range": [
                              1432,
                              1448
                            ],
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 8
                              },
                              "end": {
                                "line": 36,
                                "column": 24
                              }
                            }
                          },
                          "range": [
                            1432,
                            1449
                          ],
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 8
                            },
                            "end": {
                              "line": 36,
                              "column": 25
                            }
                          }
                        }
                      ],
                      "range": [
                        1422,
                        1455
                      ],
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 23
                        },
                        "end": {
                          "line": 37,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      1403,
                      1455
                    ],
                    "loc": {
                      "start": {
                        "line": 35,
                        "column": 4
                      },
                      "end": {
                        "line": 37,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "Context",
                      "range": [
                        1467,
                        1474
                      ],
                      "loc": {
                        "start": {
                          "line": 38,
                          "column": 11
                        },
                        "end": {
                          "line": 38,
                          "column": 18
                        }
                      }
                    },
                    "range": [
                      1460,
                      1475
                    ],
                    "loc": {
                      "start": {
                        "line": 38,
                        "column": 4
                      },
                      "end": {
                        "line": 38,
                        "column": 19
                      }
                    }
                  }
                ],
                "range": [
                  1397,
                  1477
                ],
                "loc": {
                  "start": {
                    "line": 34,
                    "column": 27
                  },
                  "end": {
                    "line": 39,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                1385,
                1477
              ],
              "loc": {
                "start": {
                  "line": 34,
                  "column": 15
                },
                "end": {
                  "line": 39,
                  "column": 1
                }
              }
            },
            "arguments": [],
            "range": [
              1385,
              1479
            ],
            "loc": {
              "start": {
                "line": 34,
                "column": 15
              },
              "end": {
                "line": 39,
                "column": 3
              }
            }
          },
          "range": [
            1374,
            1480
          ],
          "loc": {
            "start": {
              "line": 34,
              "column": 4
            },
            "end": {
              "line": 39,
              "column": 4
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        1370,
        1481
      ],
      "loc": {
        "start": {
          "line": 34,
          "column": 0
        },
        "end": {
          "line": 39,
          "column": 5
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            1482,
            1573
          ],
          "loc": {
            "start": {
              "line": 40,
              "column": 0
            },
            "end": {
              "line": 44,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "BufferTimeSubscriber",
            "range": [
              1578,
              1598
            ],
            "loc": {
              "start": {
                "line": 45,
                "column": 4
              },
              "end": {
                "line": 45,
                "column": 24
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "_super",
                  "range": [
                    1612,
                    1618
                  ],
                  "loc": {
                    "start": {
                      "line": 45,
                      "column": 38
                    },
                    "end": {
                      "line": 45,
                      "column": 44
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "Identifier",
                        "name": "__extends",
                        "range": [
                          1626,
                          1635
                        ],
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 4
                          },
                          "end": {
                            "line": 46,
                            "column": 13
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "name": "BufferTimeSubscriber",
                          "range": [
                            1636,
                            1656
                          ],
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 14
                            },
                            "end": {
                              "line": 46,
                              "column": 34
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "_super",
                          "range": [
                            1658,
                            1664
                          ],
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 36
                            },
                            "end": {
                              "line": 46,
                              "column": 42
                            }
                          }
                        }
                      ],
                      "range": [
                        1626,
                        1665
                      ],
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 4
                        },
                        "end": {
                          "line": 46,
                          "column": 43
                        }
                      }
                    },
                    "range": [
                      1626,
                      1666
                    ],
                    "loc": {
                      "start": {
                        "line": 46,
                        "column": 4
                      },
                      "end": {
                        "line": 46,
                        "column": 44
                      }
                    }
                  },
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "BufferTimeSubscriber",
                      "range": [
                        1680,
                        1700
                      ],
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 13
                        },
                        "end": {
                          "line": 47,
                          "column": 33
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "destination",
                        "range": [
                          1701,
                          1712
                        ],
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 34
                          },
                          "end": {
                            "line": 47,
                            "column": 45
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "bufferTimeSpan",
                        "range": [
                          1714,
                          1728
                        ],
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 47
                          },
                          "end": {
                            "line": 47,
                            "column": 61
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "bufferCreationInterval",
                        "range": [
                          1730,
                          1752
                        ],
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 63
                          },
                          "end": {
                            "line": 47,
                            "column": 85
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "maxBufferSize",
                        "range": [
                          1754,
                          1767
                        ],
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 87
                          },
                          "end": {
                            "line": 47,
                            "column": 100
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "scheduler",
                        "range": [
                          1769,
                          1778
                        ],
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 102
                          },
                          "end": {
                            "line": 47,
                            "column": 111
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "_super",
                                "range": [
                                  1790,
                                  1796
                                ],
                                "loc": {
                                  "start": {
                                    "line": 48,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 48,
                                    "column": 14
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "call",
                                "range": [
                                  1797,
                                  1801
                                ],
                                "loc": {
                                  "start": {
                                    "line": 48,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 48,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                1790,
                                1801
                              ],
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 8
                                },
                                "end": {
                                  "line": 48,
                                  "column": 19
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "range": [
                                  1802,
                                  1806
                                ],
                                "loc": {
                                  "start": {
                                    "line": 48,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 48,
                                    "column": 24
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "name": "destination",
                                "range": [
                                  1808,
                                  1819
                                ],
                                "loc": {
                                  "start": {
                                    "line": 48,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 48,
                                    "column": 37
                                  }
                                }
                              }
                            ],
                            "range": [
                              1790,
                              1820
                            ],
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 8
                              },
                              "end": {
                                "line": 48,
                                "column": 38
                              }
                            }
                          },
                          "range": [
                            1790,
                            1821
                          ],
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 8
                            },
                            "end": {
                              "line": 48,
                              "column": 39
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1830,
                                  1834
                                ],
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "bufferTimeSpan",
                                "range": [
                                  1835,
                                  1849
                                ],
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 27
                                  }
                                }
                              },
                              "range": [
                                1830,
                                1849
                              ],
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 8
                                },
                                "end": {
                                  "line": 49,
                                  "column": 27
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "bufferTimeSpan",
                              "range": [
                                1852,
                                1866
                              ],
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 30
                                },
                                "end": {
                                  "line": 49,
                                  "column": 44
                                }
                              }
                            },
                            "range": [
                              1830,
                              1866
                            ],
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 8
                              },
                              "end": {
                                "line": 49,
                                "column": 44
                              }
                            }
                          },
                          "range": [
                            1830,
                            1867
                          ],
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 8
                            },
                            "end": {
                              "line": 49,
                              "column": 45
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1876,
                                  1880
                                ],
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "bufferCreationInterval",
                                "range": [
                                  1881,
                                  1903
                                ],
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 35
                                  }
                                }
                              },
                              "range": [
                                1876,
                                1903
                              ],
                              "loc": {
                                "start": {
                                  "line": 50,
                                  "column": 8
                                },
                                "end": {
                                  "line": 50,
                                  "column": 35
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "bufferCreationInterval",
                              "range": [
                                1906,
                                1928
                              ],
                              "loc": {
                                "start": {
                                  "line": 50,
                                  "column": 38
                                },
                                "end": {
                                  "line": 50,
                                  "column": 60
                                }
                              }
                            },
                            "range": [
                              1876,
                              1928
                            ],
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 8
                              },
                              "end": {
                                "line": 50,
                                "column": 60
                              }
                            }
                          },
                          "range": [
                            1876,
                            1929
                          ],
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 8
                            },
                            "end": {
                              "line": 50,
                              "column": 61
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1938,
                                  1942
                                ],
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "maxBufferSize",
                                "range": [
                                  1943,
                                  1956
                                ],
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 26
                                  }
                                }
                              },
                              "range": [
                                1938,
                                1956
                              ],
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 8
                                },
                                "end": {
                                  "line": 51,
                                  "column": 26
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "maxBufferSize",
                              "range": [
                                1959,
                                1972
                              ],
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 29
                                },
                                "end": {
                                  "line": 51,
                                  "column": 42
                                }
                              }
                            },
                            "range": [
                              1938,
                              1972
                            ],
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 8
                              },
                              "end": {
                                "line": 51,
                                "column": 42
                              }
                            }
                          },
                          "range": [
                            1938,
                            1973
                          ],
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 8
                            },
                            "end": {
                              "line": 51,
                              "column": 43
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1982,
                                  1986
                                ],
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "scheduler",
                                "range": [
                                  1987,
                                  1996
                                ],
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 22
                                  }
                                }
                              },
                              "range": [
                                1982,
                                1996
                              ],
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 8
                                },
                                "end": {
                                  "line": 52,
                                  "column": 22
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "scheduler",
                              "range": [
                                1999,
                                2008
                              ],
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 25
                                },
                                "end": {
                                  "line": 52,
                                  "column": 34
                                }
                              }
                            },
                            "range": [
                              1982,
                              2008
                            ],
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 8
                              },
                              "end": {
                                "line": 52,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            1982,
                            2009
                          ],
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 8
                            },
                            "end": {
                              "line": 52,
                              "column": 35
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  2018,
                                  2022
                                ],
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "contexts",
                                "range": [
                                  2023,
                                  2031
                                ],
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 21
                                  }
                                }
                              },
                              "range": [
                                2018,
                                2031
                              ],
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 8
                                },
                                "end": {
                                  "line": 53,
                                  "column": 21
                                }
                              }
                            },
                            "right": {
                              "type": "ArrayExpression",
                              "elements": [],
                              "range": [
                                2034,
                                2036
                              ],
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 24
                                },
                                "end": {
                                  "line": 53,
                                  "column": 26
                                }
                              }
                            },
                            "range": [
                              2018,
                              2036
                            ],
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 8
                              },
                              "end": {
                                "line": 53,
                                "column": 26
                              }
                            }
                          },
                          "range": [
                            2018,
                            2037
                          ],
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 8
                            },
                            "end": {
                              "line": 53,
                              "column": 27
                            }
                          }
                        },
                        {
                          "type": "VariableDeclaration",
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "id": {
                                "type": "Identifier",
                                "name": "context",
                                "range": [
                                  2050,
                                  2057
                                ],
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 19
                                  }
                                }
                              },
                              "init": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      2060,
                                      2064
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 54,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 54,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "openContext",
                                    "range": [
                                      2065,
                                      2076
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 54,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 54,
                                        "column": 38
                                      }
                                    }
                                  },
                                  "range": [
                                    2060,
                                    2076
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 54,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 54,
                                      "column": 38
                                    }
                                  }
                                },
                                "arguments": [],
                                "range": [
                                  2060,
                                  2078
                                ],
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 40
                                  }
                                }
                              },
                              "range": [
                                2050,
                                2078
                              ],
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 12
                                },
                                "end": {
                                  "line": 54,
                                  "column": 40
                                }
                              }
                            }
                          ],
                          "kind": "var",
                          "range": [
                            2046,
                            2079
                          ],
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 8
                            },
                            "end": {
                              "line": 54,
                              "column": 41
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  2088,
                                  2092
                                ],
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "timespanOnly",
                                "range": [
                                  2093,
                                  2105
                                ],
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 25
                                  }
                                }
                              },
                              "range": [
                                2088,
                                2105
                              ],
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 8
                                },
                                "end": {
                                  "line": 55,
                                  "column": 25
                                }
                              }
                            },
                            "right": {
                              "type": "LogicalExpression",
                              "operator": "||",
                              "left": {
                                "type": "BinaryExpression",
                                "operator": "==",
                                "left": {
                                  "type": "Identifier",
                                  "name": "bufferCreationInterval",
                                  "range": [
                                    2108,
                                    2130
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 55,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 50
                                    }
                                  }
                                },
                                "right": {
                                  "type": "Literal",
                                  "value": null,
                                  "raw": "null",
                                  "range": [
                                    2134,
                                    2138
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 55,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 58
                                    }
                                  }
                                },
                                "range": [
                                  2108,
                                  2138
                                ],
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 58
                                  }
                                }
                              },
                              "right": {
                                "type": "BinaryExpression",
                                "operator": "<",
                                "left": {
                                  "type": "Identifier",
                                  "name": "bufferCreationInterval",
                                  "range": [
                                    2142,
                                    2164
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 55,
                                      "column": 62
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 84
                                    }
                                  }
                                },
                                "right": {
                                  "type": "Literal",
                                  "value": 0,
                                  "raw": "0",
                                  "range": [
                                    2167,
                                    2168
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 55,
                                      "column": 87
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 88
                                    }
                                  }
                                },
                                "range": [
                                  2142,
                                  2168
                                ],
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 62
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 88
                                  }
                                }
                              },
                              "range": [
                                2108,
                                2168
                              ],
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 28
                                },
                                "end": {
                                  "line": 55,
                                  "column": 88
                                }
                              }
                            },
                            "range": [
                              2088,
                              2168
                            ],
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 8
                              },
                              "end": {
                                "line": 55,
                                "column": 88
                              }
                            }
                          },
                          "range": [
                            2088,
                            2169
                          ],
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 8
                            },
                            "end": {
                              "line": 55,
                              "column": 89
                            }
                          }
                        },
                        {
                          "type": "IfStatement",
                          "test": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "ThisExpression",
                              "range": [
                                2182,
                                2186
                              ],
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 12
                                },
                                "end": {
                                  "line": 56,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "timespanOnly",
                              "range": [
                                2187,
                                2199
                              ],
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 17
                                },
                                "end": {
                                  "line": 56,
                                  "column": 29
                                }
                              }
                            },
                            "range": [
                              2182,
                              2199
                            ],
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 12
                              },
                              "end": {
                                "line": 56,
                                "column": 29
                              }
                            }
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "timeSpanOnlyState",
                                      "range": [
                                        2219,
                                        2236
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 57,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 57,
                                          "column": 33
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "ObjectExpression",
                                      "properties": [
                                        {
                                          "type": "Property",
                                          "key": {
                                            "type": "Identifier",
                                            "name": "subscriber",
                                            "range": [
                                              2241,
                                              2251
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 57,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 57,
                                                "column": 48
                                              }
                                            }
                                          },
                                          "value": {
                                            "type": "ThisExpression",
                                            "range": [
                                              2253,
                                              2257
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 57,
                                                "column": 50
                                              },
                                              "end": {
                                                "line": 57,
                                                "column": 54
                                              }
                                            }
                                          },
                                          "kind": "init",
                                          "method": false,
                                          "shorthand": false,
                                          "computed": false,
                                          "range": [
                                            2241,
                                            2257
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 57,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 57,
                                              "column": 54
                                            }
                                          }
                                        },
                                        {
                                          "type": "Property",
                                          "key": {
                                            "type": "Identifier",
                                            "name": "context",
                                            "range": [
                                              2259,
                                              2266
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 57,
                                                "column": 56
                                              },
                                              "end": {
                                                "line": 57,
                                                "column": 63
                                              }
                                            }
                                          },
                                          "value": {
                                            "type": "Identifier",
                                            "name": "context",
                                            "range": [
                                              2268,
                                              2275
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 57,
                                                "column": 65
                                              },
                                              "end": {
                                                "line": 57,
                                                "column": 72
                                              }
                                            }
                                          },
                                          "kind": "init",
                                          "method": false,
                                          "shorthand": false,
                                          "computed": false,
                                          "range": [
                                            2259,
                                            2275
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 57,
                                              "column": 56
                                            },
                                            "end": {
                                              "line": 57,
                                              "column": 72
                                            }
                                          }
                                        },
                                        {
                                          "type": "Property",
                                          "key": {
                                            "type": "Identifier",
                                            "name": "bufferTimeSpan",
                                            "range": [
                                              2277,
                                              2291
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 57,
                                                "column": 74
                                              },
                                              "end": {
                                                "line": 57,
                                                "column": 88
                                              }
                                            }
                                          },
                                          "value": {
                                            "type": "Identifier",
                                            "name": "bufferTimeSpan",
                                            "range": [
                                              2293,
                                              2307
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 57,
                                                "column": 90
                                              },
                                              "end": {
                                                "line": 57,
                                                "column": 104
                                              }
                                            }
                                          },
                                          "kind": "init",
                                          "method": false,
                                          "shorthand": false,
                                          "computed": false,
                                          "range": [
                                            2277,
                                            2307
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 57,
                                              "column": 74
                                            },
                                            "end": {
                                              "line": 57,
                                              "column": 104
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        2239,
                                        2309
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 57,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 57,
                                          "column": 106
                                        }
                                      }
                                    },
                                    "range": [
                                      2219,
                                      2309
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 57,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 57,
                                        "column": 106
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  2215,
                                  2310
                                ],
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 107
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2323,
                                        2327
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 58,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 58,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "add",
                                      "range": [
                                        2328,
                                        2331
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 58,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 58,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "range": [
                                      2323,
                                      2331
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 58,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 58,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "AssignmentExpression",
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "context",
                                          "range": [
                                            2332,
                                            2339
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 58,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 58,
                                              "column": 28
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "closeAction",
                                          "range": [
                                            2340,
                                            2351
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 58,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 58,
                                              "column": 40
                                            }
                                          }
                                        },
                                        "range": [
                                          2332,
                                          2351
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 58,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 58,
                                            "column": 40
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "scheduler",
                                            "range": [
                                              2354,
                                              2363
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 58,
                                                "column": 43
                                              },
                                              "end": {
                                                "line": 58,
                                                "column": 52
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "schedule",
                                            "range": [
                                              2364,
                                              2372
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 58,
                                                "column": 53
                                              },
                                              "end": {
                                                "line": 58,
                                                "column": 61
                                              }
                                            }
                                          },
                                          "range": [
                                            2354,
                                            2372
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 58,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 58,
                                              "column": 61
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "dispatchBufferTimeSpanOnly",
                                            "range": [
                                              2373,
                                              2399
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 58,
                                                "column": 62
                                              },
                                              "end": {
                                                "line": 58,
                                                "column": 88
                                              }
                                            }
                                          },
                                          {
                                            "type": "Identifier",
                                            "name": "bufferTimeSpan",
                                            "range": [
                                              2401,
                                              2415
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 58,
                                                "column": 90
                                              },
                                              "end": {
                                                "line": 58,
                                                "column": 104
                                              }
                                            }
                                          },
                                          {
                                            "type": "Identifier",
                                            "name": "timeSpanOnlyState",
                                            "range": [
                                              2417,
                                              2434
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 58,
                                                "column": 106
                                              },
                                              "end": {
                                                "line": 58,
                                                "column": 123
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          2354,
                                          2435
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 58,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 58,
                                            "column": 124
                                          }
                                        }
                                      },
                                      "range": [
                                        2332,
                                        2435
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 58,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 58,
                                          "column": 124
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    2323,
                                    2436
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 58,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 58,
                                      "column": 125
                                    }
                                  }
                                },
                                "range": [
                                  2323,
                                  2437
                                ],
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 126
                                  }
                                }
                              }
                            ],
                            "range": [
                              2201,
                              2447
                            ],
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 31
                              },
                              "end": {
                                "line": 59,
                                "column": 9
                              }
                            }
                          },
                          "alternate": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "closeState",
                                      "range": [
                                        2479,
                                        2489
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 61,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 61,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "ObjectExpression",
                                      "properties": [
                                        {
                                          "type": "Property",
                                          "key": {
                                            "type": "Identifier",
                                            "name": "subscriber",
                                            "range": [
                                              2494,
                                              2504
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 61,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 61,
                                                "column": 41
                                              }
                                            }
                                          },
                                          "value": {
                                            "type": "ThisExpression",
                                            "range": [
                                              2506,
                                              2510
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 61,
                                                "column": 43
                                              },
                                              "end": {
                                                "line": 61,
                                                "column": 47
                                              }
                                            }
                                          },
                                          "kind": "init",
                                          "method": false,
                                          "shorthand": false,
                                          "computed": false,
                                          "range": [
                                            2494,
                                            2510
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 61,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 61,
                                              "column": 47
                                            }
                                          }
                                        },
                                        {
                                          "type": "Property",
                                          "key": {
                                            "type": "Identifier",
                                            "name": "context",
                                            "range": [
                                              2512,
                                              2519
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 61,
                                                "column": 49
                                              },
                                              "end": {
                                                "line": 61,
                                                "column": 56
                                              }
                                            }
                                          },
                                          "value": {
                                            "type": "Identifier",
                                            "name": "context",
                                            "range": [
                                              2521,
                                              2528
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 61,
                                                "column": 58
                                              },
                                              "end": {
                                                "line": 61,
                                                "column": 65
                                              }
                                            }
                                          },
                                          "kind": "init",
                                          "method": false,
                                          "shorthand": false,
                                          "computed": false,
                                          "range": [
                                            2512,
                                            2528
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 61,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 61,
                                              "column": 65
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        2492,
                                        2530
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 61,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 61,
                                          "column": 67
                                        }
                                      }
                                    },
                                    "range": [
                                      2479,
                                      2530
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 61,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 61,
                                        "column": 67
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  2475,
                                  2531
                                ],
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 68
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "creationState",
                                      "range": [
                                        2548,
                                        2561
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 62,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 62,
                                          "column": 29
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "ObjectExpression",
                                      "properties": [
                                        {
                                          "type": "Property",
                                          "key": {
                                            "type": "Identifier",
                                            "name": "bufferTimeSpan",
                                            "range": [
                                              2566,
                                              2580
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 62,
                                                "column": 34
                                              },
                                              "end": {
                                                "line": 62,
                                                "column": 48
                                              }
                                            }
                                          },
                                          "value": {
                                            "type": "Identifier",
                                            "name": "bufferTimeSpan",
                                            "range": [
                                              2582,
                                              2596
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 62,
                                                "column": 50
                                              },
                                              "end": {
                                                "line": 62,
                                                "column": 64
                                              }
                                            }
                                          },
                                          "kind": "init",
                                          "method": false,
                                          "shorthand": false,
                                          "computed": false,
                                          "range": [
                                            2566,
                                            2596
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 62,
                                              "column": 34
                                            },
                                            "end": {
                                              "line": 62,
                                              "column": 64
                                            }
                                          }
                                        },
                                        {
                                          "type": "Property",
                                          "key": {
                                            "type": "Identifier",
                                            "name": "bufferCreationInterval",
                                            "range": [
                                              2598,
                                              2620
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 62,
                                                "column": 66
                                              },
                                              "end": {
                                                "line": 62,
                                                "column": 88
                                              }
                                            }
                                          },
                                          "value": {
                                            "type": "Identifier",
                                            "name": "bufferCreationInterval",
                                            "range": [
                                              2622,
                                              2644
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 62,
                                                "column": 90
                                              },
                                              "end": {
                                                "line": 62,
                                                "column": 112
                                              }
                                            }
                                          },
                                          "kind": "init",
                                          "method": false,
                                          "shorthand": false,
                                          "computed": false,
                                          "range": [
                                            2598,
                                            2644
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 62,
                                              "column": 66
                                            },
                                            "end": {
                                              "line": 62,
                                              "column": 112
                                            }
                                          }
                                        },
                                        {
                                          "type": "Property",
                                          "key": {
                                            "type": "Identifier",
                                            "name": "subscriber",
                                            "range": [
                                              2646,
                                              2656
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 62,
                                                "column": 114
                                              },
                                              "end": {
                                                "line": 62,
                                                "column": 124
                                              }
                                            }
                                          },
                                          "value": {
                                            "type": "ThisExpression",
                                            "range": [
                                              2658,
                                              2662
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 62,
                                                "column": 126
                                              },
                                              "end": {
                                                "line": 62,
                                                "column": 130
                                              }
                                            }
                                          },
                                          "kind": "init",
                                          "method": false,
                                          "shorthand": false,
                                          "computed": false,
                                          "range": [
                                            2646,
                                            2662
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 62,
                                              "column": 114
                                            },
                                            "end": {
                                              "line": 62,
                                              "column": 130
                                            }
                                          }
                                        },
                                        {
                                          "type": "Property",
                                          "key": {
                                            "type": "Identifier",
                                            "name": "scheduler",
                                            "range": [
                                              2664,
                                              2673
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 62,
                                                "column": 132
                                              },
                                              "end": {
                                                "line": 62,
                                                "column": 141
                                              }
                                            }
                                          },
                                          "value": {
                                            "type": "Identifier",
                                            "name": "scheduler",
                                            "range": [
                                              2675,
                                              2684
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 62,
                                                "column": 143
                                              },
                                              "end": {
                                                "line": 62,
                                                "column": 152
                                              }
                                            }
                                          },
                                          "kind": "init",
                                          "method": false,
                                          "shorthand": false,
                                          "computed": false,
                                          "range": [
                                            2664,
                                            2684
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 62,
                                              "column": 132
                                            },
                                            "end": {
                                              "line": 62,
                                              "column": 152
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        2564,
                                        2686
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 62,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 62,
                                          "column": 154
                                        }
                                      }
                                    },
                                    "range": [
                                      2548,
                                      2686
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 62,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 62,
                                        "column": 154
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  2544,
                                  2687
                                ],
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 62,
                                    "column": 155
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2700,
                                        2704
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 63,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 63,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "add",
                                      "range": [
                                        2705,
                                        2708
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 63,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 63,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "range": [
                                      2700,
                                      2708
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 63,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 63,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "AssignmentExpression",
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "context",
                                          "range": [
                                            2709,
                                            2716
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 63,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 63,
                                              "column": 28
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "closeAction",
                                          "range": [
                                            2717,
                                            2728
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 63,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 63,
                                              "column": 40
                                            }
                                          }
                                        },
                                        "range": [
                                          2709,
                                          2728
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 63,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 63,
                                            "column": 40
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "scheduler",
                                            "range": [
                                              2731,
                                              2740
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 43
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 52
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "schedule",
                                            "range": [
                                              2741,
                                              2749
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 53
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 61
                                              }
                                            }
                                          },
                                          "range": [
                                            2731,
                                            2749
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 63,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 63,
                                              "column": 61
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "dispatchBufferClose",
                                            "range": [
                                              2750,
                                              2769
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 62
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 81
                                              }
                                            }
                                          },
                                          {
                                            "type": "Identifier",
                                            "name": "bufferTimeSpan",
                                            "range": [
                                              2771,
                                              2785
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 83
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 97
                                              }
                                            }
                                          },
                                          {
                                            "type": "Identifier",
                                            "name": "closeState",
                                            "range": [
                                              2787,
                                              2797
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 99
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 109
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          2731,
                                          2798
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 63,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 63,
                                            "column": 110
                                          }
                                        }
                                      },
                                      "range": [
                                        2709,
                                        2798
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 63,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 63,
                                          "column": 110
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    2700,
                                    2799
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 63,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 63,
                                      "column": 111
                                    }
                                  }
                                },
                                "range": [
                                  2700,
                                  2800
                                ],
                                "loc": {
                                  "start": {
                                    "line": 63,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 63,
                                    "column": 112
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2813,
                                        2817
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 64,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 64,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "add",
                                      "range": [
                                        2818,
                                        2821
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 64,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 64,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "range": [
                                      2813,
                                      2821
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 64,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 64,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "scheduler",
                                          "range": [
                                            2822,
                                            2831
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 64,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 64,
                                              "column": 30
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "schedule",
                                          "range": [
                                            2832,
                                            2840
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 64,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 64,
                                              "column": 39
                                            }
                                          }
                                        },
                                        "range": [
                                          2822,
                                          2840
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 64,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 64,
                                            "column": 39
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "dispatchBufferCreation",
                                          "range": [
                                            2841,
                                            2863
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 64,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 64,
                                              "column": 62
                                            }
                                          }
                                        },
                                        {
                                          "type": "Identifier",
                                          "name": "bufferCreationInterval",
                                          "range": [
                                            2865,
                                            2887
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 64,
                                              "column": 64
                                            },
                                            "end": {
                                              "line": 64,
                                              "column": 86
                                            }
                                          }
                                        },
                                        {
                                          "type": "Identifier",
                                          "name": "creationState",
                                          "range": [
                                            2889,
                                            2902
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 64,
                                              "column": 88
                                            },
                                            "end": {
                                              "line": 64,
                                              "column": 101
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        2822,
                                        2903
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 64,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 64,
                                          "column": 102
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    2813,
                                    2904
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 64,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 64,
                                      "column": 103
                                    }
                                  }
                                },
                                "range": [
                                  2813,
                                  2905
                                ],
                                "loc": {
                                  "start": {
                                    "line": 64,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 64,
                                    "column": 104
                                  }
                                }
                              }
                            ],
                            "range": [
                              2461,
                              2915
                            ],
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 13
                              },
                              "end": {
                                "line": 65,
                                "column": 9
                              }
                            }
                          },
                          "range": [
                            2178,
                            2915
                          ],
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 8
                            },
                            "end": {
                              "line": 65,
                              "column": 9
                            }
                          }
                        }
                      ],
                      "range": [
                        1780,
                        2921
                      ],
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 113
                        },
                        "end": {
                          "line": 66,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      1671,
                      2921
                    ],
                    "loc": {
                      "start": {
                        "line": 47,
                        "column": 4
                      },
                      "end": {
                        "line": 66,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "BufferTimeSubscriber",
                            "range": [
                              2926,
                              2946
                            ],
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 4
                              },
                              "end": {
                                "line": 67,
                                "column": 24
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              2947,
                              2956
                            ],
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 25
                              },
                              "end": {
                                "line": 67,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            2926,
                            2956
                          ],
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 4
                            },
                            "end": {
                              "line": 67,
                              "column": 34
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_next",
                          "range": [
                            2957,
                            2962
                          ],
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 35
                            },
                            "end": {
                              "line": 67,
                              "column": 40
                            }
                          }
                        },
                        "range": [
                          2926,
                          2962
                        ],
                        "loc": {
                          "start": {
                            "line": 67,
                            "column": 4
                          },
                          "end": {
                            "line": 67,
                            "column": 40
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "value",
                            "range": [
                              2975,
                              2980
                            ],
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 53
                              },
                              "end": {
                                "line": 67,
                                "column": 58
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "contexts",
                                    "range": [
                                      2996,
                                      3004
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 68,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 68,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3007,
                                        3011
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 68,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 68,
                                          "column": 27
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "contexts",
                                      "range": [
                                        3012,
                                        3020
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 68,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 68,
                                          "column": 36
                                        }
                                      }
                                    },
                                    "range": [
                                      3007,
                                      3020
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 68,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 68,
                                        "column": 36
                                      }
                                    }
                                  },
                                  "range": [
                                    2996,
                                    3020
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 68,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 68,
                                      "column": 36
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                2992,
                                3021
                              ],
                              "loc": {
                                "start": {
                                  "line": 68,
                                  "column": 8
                                },
                                "end": {
                                  "line": 68,
                                  "column": 37
                                }
                              }
                            },
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "len",
                                    "range": [
                                      3034,
                                      3037
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 69,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 69,
                                        "column": 15
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "contexts",
                                      "range": [
                                        3040,
                                        3048
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 69,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 69,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "length",
                                      "range": [
                                        3049,
                                        3055
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 69,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 69,
                                          "column": 33
                                        }
                                      }
                                    },
                                    "range": [
                                      3040,
                                      3055
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 69,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 69,
                                        "column": 33
                                      }
                                    }
                                  },
                                  "range": [
                                    3034,
                                    3055
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 69,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 69,
                                      "column": 33
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                3030,
                                3056
                              ],
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 8
                                },
                                "end": {
                                  "line": 69,
                                  "column": 34
                                }
                              }
                            },
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "filledBufferContext",
                                    "range": [
                                      3069,
                                      3088
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 70,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 70,
                                        "column": 31
                                      }
                                    }
                                  },
                                  "init": null,
                                  "range": [
                                    3069,
                                    3088
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 70,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 70,
                                      "column": 31
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                3065,
                                3089
                              ],
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 8
                                },
                                "end": {
                                  "line": 70,
                                  "column": 32
                                }
                              }
                            },
                            {
                              "type": "ForStatement",
                              "init": {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "i",
                                      "range": [
                                        3107,
                                        3108
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 71,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 71,
                                          "column": 18
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "Literal",
                                      "value": 0,
                                      "raw": "0",
                                      "range": [
                                        3111,
                                        3112
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 71,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 71,
                                          "column": 22
                                        }
                                      }
                                    },
                                    "range": [
                                      3107,
                                      3112
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 22
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  3103,
                                  3112
                                ],
                                "loc": {
                                  "start": {
                                    "line": 71,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 71,
                                    "column": 22
                                  }
                                }
                              },
                              "test": {
                                "type": "BinaryExpression",
                                "operator": "<",
                                "left": {
                                  "type": "Identifier",
                                  "name": "i",
                                  "range": [
                                    3114,
                                    3115
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 71,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 71,
                                      "column": 25
                                    }
                                  }
                                },
                                "right": {
                                  "type": "Identifier",
                                  "name": "len",
                                  "range": [
                                    3118,
                                    3121
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 71,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 71,
                                      "column": 31
                                    }
                                  }
                                },
                                "range": [
                                  3114,
                                  3121
                                ],
                                "loc": {
                                  "start": {
                                    "line": 71,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 71,
                                    "column": 31
                                  }
                                }
                              },
                              "update": {
                                "type": "UpdateExpression",
                                "operator": "++",
                                "argument": {
                                  "type": "Identifier",
                                  "name": "i",
                                  "range": [
                                    3123,
                                    3124
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 71,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 71,
                                      "column": 34
                                    }
                                  }
                                },
                                "prefix": false,
                                "range": [
                                  3123,
                                  3126
                                ],
                                "loc": {
                                  "start": {
                                    "line": 71,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 71,
                                    "column": 36
                                  }
                                }
                              },
                              "body": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "VariableDeclaration",
                                    "declarations": [
                                      {
                                        "type": "VariableDeclarator",
                                        "id": {
                                          "type": "Identifier",
                                          "name": "context_1",
                                          "range": [
                                            3146,
                                            3155
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 72,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 72,
                                              "column": 25
                                            }
                                          }
                                        },
                                        "init": {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "contexts",
                                            "range": [
                                              3158,
                                              3166
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 72,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 72,
                                                "column": 36
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "i",
                                            "range": [
                                              3167,
                                              3168
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 72,
                                                "column": 37
                                              },
                                              "end": {
                                                "line": 72,
                                                "column": 38
                                              }
                                            }
                                          },
                                          "range": [
                                            3158,
                                            3169
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 72,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 72,
                                              "column": 39
                                            }
                                          }
                                        },
                                        "range": [
                                          3146,
                                          3169
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 72,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 72,
                                            "column": 39
                                          }
                                        }
                                      }
                                    ],
                                    "kind": "var",
                                    "range": [
                                      3142,
                                      3170
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 72,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 72,
                                        "column": 40
                                      }
                                    }
                                  },
                                  {
                                    "type": "VariableDeclaration",
                                    "declarations": [
                                      {
                                        "type": "VariableDeclarator",
                                        "id": {
                                          "type": "Identifier",
                                          "name": "buffer",
                                          "range": [
                                            3187,
                                            3193
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 73,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 73,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "init": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "context_1",
                                            "range": [
                                              3196,
                                              3205
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 73,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 73,
                                                "column": 34
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "buffer",
                                            "range": [
                                              3206,
                                              3212
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 73,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 73,
                                                "column": 41
                                              }
                                            }
                                          },
                                          "range": [
                                            3196,
                                            3212
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 73,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 73,
                                              "column": 41
                                            }
                                          }
                                        },
                                        "range": [
                                          3187,
                                          3212
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 73,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 73,
                                            "column": 41
                                          }
                                        }
                                      }
                                    ],
                                    "kind": "var",
                                    "range": [
                                      3183,
                                      3213
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 73,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 73,
                                        "column": 42
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "buffer",
                                          "range": [
                                            3226,
                                            3232
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 18
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "push",
                                          "range": [
                                            3233,
                                            3237
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "range": [
                                          3226,
                                          3237
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 74,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 74,
                                            "column": 23
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "value",
                                          "range": [
                                            3238,
                                            3243
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 29
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3226,
                                        3244
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "range": [
                                      3226,
                                      3245
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 31
                                      }
                                    }
                                  },
                                  {
                                    "type": "IfStatement",
                                    "test": {
                                      "type": "BinaryExpression",
                                      "operator": "==",
                                      "left": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "buffer",
                                          "range": [
                                            3262,
                                            3268
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 75,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 75,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "length",
                                          "range": [
                                            3269,
                                            3275
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 75,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 75,
                                              "column": 29
                                            }
                                          }
                                        },
                                        "range": [
                                          3262,
                                          3275
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 75,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 75,
                                            "column": 29
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3279,
                                            3283
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 75,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 75,
                                              "column": 37
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "maxBufferSize",
                                          "range": [
                                            3284,
                                            3297
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 75,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 75,
                                              "column": 51
                                            }
                                          }
                                        },
                                        "range": [
                                          3279,
                                          3297
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 75,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 75,
                                            "column": 51
                                          }
                                        }
                                      },
                                      "range": [
                                        3262,
                                        3297
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 75,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 75,
                                          "column": 51
                                        }
                                      }
                                    },
                                    "consequent": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "expression": {
                                            "type": "AssignmentExpression",
                                            "operator": "=",
                                            "left": {
                                              "type": "Identifier",
                                              "name": "filledBufferContext",
                                              "range": [
                                                3317,
                                                3336
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 76,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 76,
                                                  "column": 35
                                                }
                                              }
                                            },
                                            "right": {
                                              "type": "Identifier",
                                              "name": "context_1",
                                              "range": [
                                                3339,
                                                3348
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 76,
                                                  "column": 38
                                                },
                                                "end": {
                                                  "line": 76,
                                                  "column": 47
                                                }
                                              }
                                            },
                                            "range": [
                                              3317,
                                              3348
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 76,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 76,
                                                "column": 47
                                              }
                                            }
                                          },
                                          "range": [
                                            3317,
                                            3349
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 76,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 76,
                                              "column": 48
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3299,
                                        3363
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 75,
                                          "column": 53
                                        },
                                        "end": {
                                          "line": 77,
                                          "column": 13
                                        }
                                      }
                                    },
                                    "alternate": null,
                                    "range": [
                                      3258,
                                      3363
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 75,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 77,
                                        "column": 13
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3128,
                                  3373
                                ],
                                "loc": {
                                  "start": {
                                    "line": 71,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 78,
                                    "column": 9
                                  }
                                }
                              },
                              "range": [
                                3098,
                                3373
                              ],
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 8
                                },
                                "end": {
                                  "line": 78,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "Identifier",
                                "name": "filledBufferContext",
                                "range": [
                                  3386,
                                  3405
                                ],
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 31
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3421,
                                            3425
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 80,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 80,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "onBufferFull",
                                          "range": [
                                            3426,
                                            3438
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 80,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 80,
                                              "column": 29
                                            }
                                          }
                                        },
                                        "range": [
                                          3421,
                                          3438
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 80,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 80,
                                            "column": 29
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "filledBufferContext",
                                          "range": [
                                            3439,
                                            3458
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 80,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 80,
                                              "column": 49
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3421,
                                        3459
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 80,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 80,
                                          "column": 50
                                        }
                                      }
                                    },
                                    "range": [
                                      3421,
                                      3460
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 51
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3407,
                                  3470
                                ],
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 81,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                3382,
                                3470
                              ],
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 8
                                },
                                "end": {
                                  "line": 81,
                                  "column": 9
                                }
                              }
                            }
                          ],
                          "range": [
                            2982,
                            3476
                          ],
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 60
                            },
                            "end": {
                              "line": 82,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          2965,
                          3476
                        ],
                        "loc": {
                          "start": {
                            "line": 67,
                            "column": 43
                          },
                          "end": {
                            "line": 82,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2926,
                        3476
                      ],
                      "loc": {
                        "start": {
                          "line": 67,
                          "column": 4
                        },
                        "end": {
                          "line": 82,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      2926,
                      3477
                    ],
                    "loc": {
                      "start": {
                        "line": 67,
                        "column": 4
                      },
                      "end": {
                        "line": 82,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "BufferTimeSubscriber",
                            "range": [
                              3482,
                              3502
                            ],
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 4
                              },
                              "end": {
                                "line": 83,
                                "column": 24
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              3503,
                              3512
                            ],
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 25
                              },
                              "end": {
                                "line": 83,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            3482,
                            3512
                          ],
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 4
                            },
                            "end": {
                              "line": 83,
                              "column": 34
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_error",
                          "range": [
                            3513,
                            3519
                          ],
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 35
                            },
                            "end": {
                              "line": 83,
                              "column": 41
                            }
                          }
                        },
                        "range": [
                          3482,
                          3519
                        ],
                        "loc": {
                          "start": {
                            "line": 83,
                            "column": 4
                          },
                          "end": {
                            "line": 83,
                            "column": 41
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "err",
                            "range": [
                              3532,
                              3535
                            ],
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 54
                              },
                              "end": {
                                "line": 83,
                                "column": 57
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "AssignmentExpression",
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3547,
                                        3551
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "contexts",
                                      "range": [
                                        3552,
                                        3560
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 21
                                        }
                                      }
                                    },
                                    "range": [
                                      3547,
                                      3560
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "length",
                                    "range": [
                                      3561,
                                      3567
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 28
                                      }
                                    }
                                  },
                                  "range": [
                                    3547,
                                    3567
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 28
                                    }
                                  }
                                },
                                "right": {
                                  "type": "Literal",
                                  "value": 0,
                                  "raw": "0",
                                  "range": [
                                    3570,
                                    3571
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 32
                                    }
                                  }
                                },
                                "range": [
                                  3547,
                                  3571
                                ],
                                "loc": {
                                  "start": {
                                    "line": 84,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 84,
                                    "column": 32
                                  }
                                }
                              },
                              "range": [
                                3547,
                                3572
                              ],
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 8
                                },
                                "end": {
                                  "line": 84,
                                  "column": 33
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "_super",
                                        "range": [
                                          3581,
                                          3587
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 85,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 85,
                                            "column": 14
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "prototype",
                                        "range": [
                                          3588,
                                          3597
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 85,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 85,
                                            "column": 24
                                          }
                                        }
                                      },
                                      "range": [
                                        3581,
                                        3597
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 85,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 85,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "_error",
                                      "range": [
                                        3598,
                                        3604
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 85,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 85,
                                          "column": 31
                                        }
                                      }
                                    },
                                    "range": [
                                      3581,
                                      3604
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 85,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 85,
                                        "column": 31
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "call",
                                    "range": [
                                      3605,
                                      3609
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 85,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 85,
                                        "column": 36
                                      }
                                    }
                                  },
                                  "range": [
                                    3581,
                                    3609
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 85,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 85,
                                      "column": 36
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "range": [
                                      3610,
                                      3614
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 85,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 85,
                                        "column": 41
                                      }
                                    }
                                  },
                                  {
                                    "type": "Identifier",
                                    "name": "err",
                                    "range": [
                                      3616,
                                      3619
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 85,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 85,
                                        "column": 46
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3581,
                                  3620
                                ],
                                "loc": {
                                  "start": {
                                    "line": 85,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 85,
                                    "column": 47
                                  }
                                }
                              },
                              "range": [
                                3581,
                                3621
                              ],
                              "loc": {
                                "start": {
                                  "line": 85,
                                  "column": 8
                                },
                                "end": {
                                  "line": 85,
                                  "column": 48
                                }
                              }
                            }
                          ],
                          "range": [
                            3537,
                            3627
                          ],
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 59
                            },
                            "end": {
                              "line": 86,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          3522,
                          3627
                        ],
                        "loc": {
                          "start": {
                            "line": 83,
                            "column": 44
                          },
                          "end": {
                            "line": 86,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3482,
                        3627
                      ],
                      "loc": {
                        "start": {
                          "line": 83,
                          "column": 4
                        },
                        "end": {
                          "line": 86,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      3482,
                      3628
                    ],
                    "loc": {
                      "start": {
                        "line": 83,
                        "column": 4
                      },
                      "end": {
                        "line": 86,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "BufferTimeSubscriber",
                            "range": [
                              3633,
                              3653
                            ],
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 4
                              },
                              "end": {
                                "line": 87,
                                "column": 24
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              3654,
                              3663
                            ],
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 25
                              },
                              "end": {
                                "line": 87,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            3633,
                            3663
                          ],
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 4
                            },
                            "end": {
                              "line": 87,
                              "column": 34
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_complete",
                          "range": [
                            3664,
                            3673
                          ],
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 35
                            },
                            "end": {
                              "line": 87,
                              "column": 44
                            }
                          }
                        },
                        "range": [
                          3633,
                          3673
                        ],
                        "loc": {
                          "start": {
                            "line": 87,
                            "column": 4
                          },
                          "end": {
                            "line": 87,
                            "column": 44
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "_a",
                                    "range": [
                                      3702,
                                      3704
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 14
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "ThisExpression",
                                    "range": [
                                      3707,
                                      3711
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "range": [
                                    3702,
                                    3711
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 88,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 88,
                                      "column": 21
                                    }
                                  }
                                },
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "contexts",
                                    "range": [
                                      3713,
                                      3721
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 31
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "_a",
                                      "range": [
                                        3724,
                                        3726
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 88,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 88,
                                          "column": 36
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "contexts",
                                      "range": [
                                        3727,
                                        3735
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 88,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 88,
                                          "column": 45
                                        }
                                      }
                                    },
                                    "range": [
                                      3724,
                                      3735
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 45
                                      }
                                    }
                                  },
                                  "range": [
                                    3713,
                                    3735
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 88,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 88,
                                      "column": 45
                                    }
                                  }
                                },
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "destination",
                                    "range": [
                                      3737,
                                      3748
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 58
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "_a",
                                      "range": [
                                        3751,
                                        3753
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 88,
                                          "column": 61
                                        },
                                        "end": {
                                          "line": 88,
                                          "column": 63
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        3754,
                                        3765
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 88,
                                          "column": 64
                                        },
                                        "end": {
                                          "line": 88,
                                          "column": 75
                                        }
                                      }
                                    },
                                    "range": [
                                      3751,
                                      3765
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 61
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 75
                                      }
                                    }
                                  },
                                  "range": [
                                    3737,
                                    3765
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 88,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 88,
                                      "column": 75
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                3698,
                                3766
                              ],
                              "loc": {
                                "start": {
                                  "line": 88,
                                  "column": 8
                                },
                                "end": {
                                  "line": 88,
                                  "column": 76
                                }
                              }
                            },
                            {
                              "type": "WhileStatement",
                              "test": {
                                "type": "BinaryExpression",
                                "operator": ">",
                                "left": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "contexts",
                                    "range": [
                                      3782,
                                      3790
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 89,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 89,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "length",
                                    "range": [
                                      3791,
                                      3797
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 89,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 89,
                                        "column": 30
                                      }
                                    }
                                  },
                                  "range": [
                                    3782,
                                    3797
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 89,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 89,
                                      "column": 30
                                    }
                                  }
                                },
                                "right": {
                                  "type": "Literal",
                                  "value": 0,
                                  "raw": "0",
                                  "range": [
                                    3800,
                                    3801
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 89,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 89,
                                      "column": 34
                                    }
                                  }
                                },
                                "range": [
                                  3782,
                                  3801
                                ],
                                "loc": {
                                  "start": {
                                    "line": 89,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 89,
                                    "column": 34
                                  }
                                }
                              },
                              "body": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "VariableDeclaration",
                                    "declarations": [
                                      {
                                        "type": "VariableDeclarator",
                                        "id": {
                                          "type": "Identifier",
                                          "name": "context_2",
                                          "range": [
                                            3821,
                                            3830
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 25
                                            }
                                          }
                                        },
                                        "init": {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "contexts",
                                              "range": [
                                                3833,
                                                3841
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 90,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 90,
                                                  "column": 36
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "shift",
                                              "range": [
                                                3842,
                                                3847
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 90,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 90,
                                                  "column": 42
                                                }
                                              }
                                            },
                                            "range": [
                                              3833,
                                              3847
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 90,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 90,
                                                "column": 42
                                              }
                                            }
                                          },
                                          "arguments": [],
                                          "range": [
                                            3833,
                                            3849
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 44
                                            }
                                          }
                                        },
                                        "range": [
                                          3821,
                                          3849
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 90,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 90,
                                            "column": 44
                                          }
                                        }
                                      }
                                    ],
                                    "kind": "var",
                                    "range": [
                                      3817,
                                      3850
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 45
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "destination",
                                          "range": [
                                            3863,
                                            3874
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 91,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 91,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "next",
                                          "range": [
                                            3875,
                                            3879
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 91,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 91,
                                              "column": 28
                                            }
                                          }
                                        },
                                        "range": [
                                          3863,
                                          3879
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 91,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 91,
                                            "column": 28
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "context_2",
                                            "range": [
                                              3880,
                                              3889
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 91,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 91,
                                                "column": 38
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "buffer",
                                            "range": [
                                              3890,
                                              3896
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 91,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 91,
                                                "column": 45
                                              }
                                            }
                                          },
                                          "range": [
                                            3880,
                                            3896
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 91,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 91,
                                              "column": 45
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3863,
                                        3897
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 91,
                                          "column": 46
                                        }
                                      }
                                    },
                                    "range": [
                                      3863,
                                      3898
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 91,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 91,
                                        "column": 47
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3803,
                                  3908
                                ],
                                "loc": {
                                  "start": {
                                    "line": 89,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 92,
                                    "column": 9
                                  }
                                }
                              },
                              "range": [
                                3775,
                                3908
                              ],
                              "loc": {
                                "start": {
                                  "line": 89,
                                  "column": 8
                                },
                                "end": {
                                  "line": 92,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "_super",
                                        "range": [
                                          3917,
                                          3923
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 93,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 93,
                                            "column": 14
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "prototype",
                                        "range": [
                                          3924,
                                          3933
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 93,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 93,
                                            "column": 24
                                          }
                                        }
                                      },
                                      "range": [
                                        3917,
                                        3933
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 93,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 93,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "_complete",
                                      "range": [
                                        3934,
                                        3943
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 93,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 93,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "range": [
                                      3917,
                                      3943
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 93,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 93,
                                        "column": 34
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "call",
                                    "range": [
                                      3944,
                                      3948
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 93,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 93,
                                        "column": 39
                                      }
                                    }
                                  },
                                  "range": [
                                    3917,
                                    3948
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 93,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 93,
                                      "column": 39
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "ThisExpression",
                                    "range": [
                                      3949,
                                      3953
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 93,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 93,
                                        "column": 44
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3917,
                                  3954
                                ],
                                "loc": {
                                  "start": {
                                    "line": 93,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 93,
                                    "column": 45
                                  }
                                }
                              },
                              "range": [
                                3917,
                                3955
                              ],
                              "loc": {
                                "start": {
                                  "line": 93,
                                  "column": 8
                                },
                                "end": {
                                  "line": 93,
                                  "column": 46
                                }
                              }
                            }
                          ],
                          "range": [
                            3688,
                            3961
                          ],
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 59
                            },
                            "end": {
                              "line": 94,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          3676,
                          3961
                        ],
                        "loc": {
                          "start": {
                            "line": 87,
                            "column": 47
                          },
                          "end": {
                            "line": 94,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3633,
                        3961
                      ],
                      "loc": {
                        "start": {
                          "line": 87,
                          "column": 4
                        },
                        "end": {
                          "line": 94,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      3633,
                      3962
                    ],
                    "loc": {
                      "start": {
                        "line": 87,
                        "column": 4
                      },
                      "end": {
                        "line": 94,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "BufferTimeSubscriber",
                            "range": [
                              3967,
                              3987
                            ],
                            "loc": {
                              "start": {
                                "line": 95,
                                "column": 4
                              },
                              "end": {
                                "line": 95,
                                "column": 24
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              3988,
                              3997
                            ],
                            "loc": {
                              "start": {
                                "line": 95,
                                "column": 25
                              },
                              "end": {
                                "line": 95,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            3967,
                            3997
                          ],
                          "loc": {
                            "start": {
                              "line": 95,
                              "column": 4
                            },
                            "end": {
                              "line": 95,
                              "column": 34
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_unsubscribe",
                          "range": [
                            3998,
                            4010
                          ],
                          "loc": {
                            "start": {
                              "line": 95,
                              "column": 35
                            },
                            "end": {
                              "line": 95,
                              "column": 47
                            }
                          }
                        },
                        "range": [
                          3967,
                          4010
                        ],
                        "loc": {
                          "start": {
                            "line": 95,
                            "column": 4
                          },
                          "end": {
                            "line": 95,
                            "column": 47
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "AssignmentExpression",
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      4035,
                                      4039
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 96,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 96,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "contexts",
                                    "range": [
                                      4040,
                                      4048
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 96,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 96,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "range": [
                                    4035,
                                    4048
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 96,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 96,
                                      "column": 21
                                    }
                                  }
                                },
                                "right": {
                                  "type": "Literal",
                                  "value": null,
                                  "raw": "null",
                                  "range": [
                                    4051,
                                    4055
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 96,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 96,
                                      "column": 28
                                    }
                                  }
                                },
                                "range": [
                                  4035,
                                  4055
                                ],
                                "loc": {
                                  "start": {
                                    "line": 96,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 96,
                                    "column": 28
                                  }
                                }
                              },
                              "range": [
                                4035,
                                4056
                              ],
                              "loc": {
                                "start": {
                                  "line": 96,
                                  "column": 8
                                },
                                "end": {
                                  "line": 96,
                                  "column": 29
                                }
                              }
                            }
                          ],
                          "range": [
                            4025,
                            4062
                          ],
                          "loc": {
                            "start": {
                              "line": 95,
                              "column": 62
                            },
                            "end": {
                              "line": 97,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          4013,
                          4062
                        ],
                        "loc": {
                          "start": {
                            "line": 95,
                            "column": 50
                          },
                          "end": {
                            "line": 97,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3967,
                        4062
                      ],
                      "loc": {
                        "start": {
                          "line": 95,
                          "column": 4
                        },
                        "end": {
                          "line": 97,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      3967,
                      4063
                    ],
                    "loc": {
                      "start": {
                        "line": 95,
                        "column": 4
                      },
                      "end": {
                        "line": 97,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "BufferTimeSubscriber",
                            "range": [
                              4068,
                              4088
                            ],
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 4
                              },
                              "end": {
                                "line": 98,
                                "column": 24
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              4089,
                              4098
                            ],
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 25
                              },
                              "end": {
                                "line": 98,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            4068,
                            4098
                          ],
                          "loc": {
                            "start": {
                              "line": 98,
                              "column": 4
                            },
                            "end": {
                              "line": 98,
                              "column": 34
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "onBufferFull",
                          "range": [
                            4099,
                            4111
                          ],
                          "loc": {
                            "start": {
                              "line": 98,
                              "column": 35
                            },
                            "end": {
                              "line": 98,
                              "column": 47
                            }
                          }
                        },
                        "range": [
                          4068,
                          4111
                        ],
                        "loc": {
                          "start": {
                            "line": 98,
                            "column": 4
                          },
                          "end": {
                            "line": 98,
                            "column": 47
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "context",
                            "range": [
                              4124,
                              4131
                            ],
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 60
                              },
                              "end": {
                                "line": 98,
                                "column": 67
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      4143,
                                      4147
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 99,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 99,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "closeContext",
                                    "range": [
                                      4148,
                                      4160
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 99,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 99,
                                        "column": 25
                                      }
                                    }
                                  },
                                  "range": [
                                    4143,
                                    4160
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 99,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 99,
                                      "column": 25
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "name": "context",
                                    "range": [
                                      4161,
                                      4168
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 99,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 99,
                                        "column": 33
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  4143,
                                  4169
                                ],
                                "loc": {
                                  "start": {
                                    "line": 99,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 99,
                                    "column": 34
                                  }
                                }
                              },
                              "range": [
                                4143,
                                4170
                              ],
                              "loc": {
                                "start": {
                                  "line": 99,
                                  "column": 8
                                },
                                "end": {
                                  "line": 99,
                                  "column": 35
                                }
                              }
                            },
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "closeAction",
                                    "range": [
                                      4183,
                                      4194
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 100,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 100,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "context",
                                      "range": [
                                        4197,
                                        4204
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 100,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 100,
                                          "column": 33
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "closeAction",
                                      "range": [
                                        4205,
                                        4216
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 100,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 100,
                                          "column": 45
                                        }
                                      }
                                    },
                                    "range": [
                                      4197,
                                      4216
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 100,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 100,
                                        "column": 45
                                      }
                                    }
                                  },
                                  "range": [
                                    4183,
                                    4216
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 100,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 100,
                                      "column": 45
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                4179,
                                4217
                              ],
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 8
                                },
                                "end": {
                                  "line": 100,
                                  "column": 46
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "closeAction",
                                    "range": [
                                      4226,
                                      4237
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 101,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 101,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "unsubscribe",
                                    "range": [
                                      4238,
                                      4249
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 101,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 101,
                                        "column": 31
                                      }
                                    }
                                  },
                                  "range": [
                                    4226,
                                    4249
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 101,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 101,
                                      "column": 31
                                    }
                                  }
                                },
                                "arguments": [],
                                "range": [
                                  4226,
                                  4251
                                ],
                                "loc": {
                                  "start": {
                                    "line": 101,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 101,
                                    "column": 33
                                  }
                                }
                              },
                              "range": [
                                4226,
                                4252
                              ],
                              "loc": {
                                "start": {
                                  "line": 101,
                                  "column": 8
                                },
                                "end": {
                                  "line": 101,
                                  "column": 34
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      4261,
                                      4265
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 102,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 102,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "remove",
                                    "range": [
                                      4266,
                                      4272
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 102,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 102,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "range": [
                                    4261,
                                    4272
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 102,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 102,
                                      "column": 19
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "name": "closeAction",
                                    "range": [
                                      4273,
                                      4284
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 102,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 102,
                                        "column": 31
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  4261,
                                  4285
                                ],
                                "loc": {
                                  "start": {
                                    "line": 102,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 102,
                                    "column": 32
                                  }
                                }
                              },
                              "range": [
                                4261,
                                4286
                              ],
                              "loc": {
                                "start": {
                                  "line": 102,
                                  "column": 8
                                },
                                "end": {
                                  "line": 102,
                                  "column": 33
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "LogicalExpression",
                                "operator": "&&",
                                "left": {
                                  "type": "UnaryExpression",
                                  "operator": "!",
                                  "argument": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        4300,
                                        4304
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 103,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 103,
                                          "column": 17
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "closed",
                                      "range": [
                                        4305,
                                        4311
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 103,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 103,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      4300,
                                      4311
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 103,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 103,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "prefix": true,
                                  "range": [
                                    4299,
                                    4311
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 103,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 103,
                                      "column": 24
                                    }
                                  }
                                },
                                "right": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      4315,
                                      4319
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 103,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 103,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "timespanOnly",
                                    "range": [
                                      4320,
                                      4332
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 103,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 103,
                                        "column": 45
                                      }
                                    }
                                  },
                                  "range": [
                                    4315,
                                    4332
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 103,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 103,
                                      "column": 45
                                    }
                                  }
                                },
                                "range": [
                                  4299,
                                  4332
                                ],
                                "loc": {
                                  "start": {
                                    "line": 103,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 103,
                                    "column": 45
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "name": "context",
                                        "range": [
                                          4348,
                                          4355
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 104,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 104,
                                            "column": 19
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              4358,
                                              4362
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 104,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 104,
                                                "column": 26
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "openContext",
                                            "range": [
                                              4363,
                                              4374
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 104,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 104,
                                                "column": 38
                                              }
                                            }
                                          },
                                          "range": [
                                            4358,
                                            4374
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 104,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 104,
                                              "column": 38
                                            }
                                          }
                                        },
                                        "arguments": [],
                                        "range": [
                                          4358,
                                          4376
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 104,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 104,
                                            "column": 40
                                          }
                                        }
                                      },
                                      "range": [
                                        4348,
                                        4376
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 104,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 104,
                                          "column": 40
                                        }
                                      }
                                    },
                                    "range": [
                                      4348,
                                      4377
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 104,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 104,
                                        "column": 41
                                      }
                                    }
                                  },
                                  {
                                    "type": "VariableDeclaration",
                                    "declarations": [
                                      {
                                        "type": "VariableDeclarator",
                                        "id": {
                                          "type": "Identifier",
                                          "name": "bufferTimeSpan",
                                          "range": [
                                            4394,
                                            4408
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 105,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 105,
                                              "column": 30
                                            }
                                          }
                                        },
                                        "init": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              4411,
                                              4415
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 105,
                                                "column": 33
                                              },
                                              "end": {
                                                "line": 105,
                                                "column": 37
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "bufferTimeSpan",
                                            "range": [
                                              4416,
                                              4430
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 105,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 105,
                                                "column": 52
                                              }
                                            }
                                          },
                                          "range": [
                                            4411,
                                            4430
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 105,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 105,
                                              "column": 52
                                            }
                                          }
                                        },
                                        "range": [
                                          4394,
                                          4430
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 105,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 105,
                                            "column": 52
                                          }
                                        }
                                      }
                                    ],
                                    "kind": "var",
                                    "range": [
                                      4390,
                                      4431
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 105,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 105,
                                        "column": 53
                                      }
                                    }
                                  },
                                  {
                                    "type": "VariableDeclaration",
                                    "declarations": [
                                      {
                                        "type": "VariableDeclarator",
                                        "id": {
                                          "type": "Identifier",
                                          "name": "timeSpanOnlyState",
                                          "range": [
                                            4448,
                                            4465
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 106,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 106,
                                              "column": 33
                                            }
                                          }
                                        },
                                        "init": {
                                          "type": "ObjectExpression",
                                          "properties": [
                                            {
                                              "type": "Property",
                                              "key": {
                                                "type": "Identifier",
                                                "name": "subscriber",
                                                "range": [
                                                  4470,
                                                  4480
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 106,
                                                    "column": 38
                                                  },
                                                  "end": {
                                                    "line": 106,
                                                    "column": 48
                                                  }
                                                }
                                              },
                                              "value": {
                                                "type": "ThisExpression",
                                                "range": [
                                                  4482,
                                                  4486
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 106,
                                                    "column": 50
                                                  },
                                                  "end": {
                                                    "line": 106,
                                                    "column": 54
                                                  }
                                                }
                                              },
                                              "kind": "init",
                                              "method": false,
                                              "shorthand": false,
                                              "computed": false,
                                              "range": [
                                                4470,
                                                4486
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 106,
                                                  "column": 38
                                                },
                                                "end": {
                                                  "line": 106,
                                                  "column": 54
                                                }
                                              }
                                            },
                                            {
                                              "type": "Property",
                                              "key": {
                                                "type": "Identifier",
                                                "name": "context",
                                                "range": [
                                                  4488,
                                                  4495
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 106,
                                                    "column": 56
                                                  },
                                                  "end": {
                                                    "line": 106,
                                                    "column": 63
                                                  }
                                                }
                                              },
                                              "value": {
                                                "type": "Identifier",
                                                "name": "context",
                                                "range": [
                                                  4497,
                                                  4504
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 106,
                                                    "column": 65
                                                  },
                                                  "end": {
                                                    "line": 106,
                                                    "column": 72
                                                  }
                                                }
                                              },
                                              "kind": "init",
                                              "method": false,
                                              "shorthand": false,
                                              "computed": false,
                                              "range": [
                                                4488,
                                                4504
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 106,
                                                  "column": 56
                                                },
                                                "end": {
                                                  "line": 106,
                                                  "column": 72
                                                }
                                              }
                                            },
                                            {
                                              "type": "Property",
                                              "key": {
                                                "type": "Identifier",
                                                "name": "bufferTimeSpan",
                                                "range": [
                                                  4506,
                                                  4520
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 106,
                                                    "column": 74
                                                  },
                                                  "end": {
                                                    "line": 106,
                                                    "column": 88
                                                  }
                                                }
                                              },
                                              "value": {
                                                "type": "Identifier",
                                                "name": "bufferTimeSpan",
                                                "range": [
                                                  4522,
                                                  4536
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 106,
                                                    "column": 90
                                                  },
                                                  "end": {
                                                    "line": 106,
                                                    "column": 104
                                                  }
                                                }
                                              },
                                              "kind": "init",
                                              "method": false,
                                              "shorthand": false,
                                              "computed": false,
                                              "range": [
                                                4506,
                                                4536
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 106,
                                                  "column": 74
                                                },
                                                "end": {
                                                  "line": 106,
                                                  "column": 104
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            4468,
                                            4538
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 106,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 106,
                                              "column": 106
                                            }
                                          }
                                        },
                                        "range": [
                                          4448,
                                          4538
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 106,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 106,
                                            "column": 106
                                          }
                                        }
                                      }
                                    ],
                                    "kind": "var",
                                    "range": [
                                      4444,
                                      4539
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 106,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 106,
                                        "column": 107
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4552,
                                            4556
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 107,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 107,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "add",
                                          "range": [
                                            4557,
                                            4560
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 107,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 107,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "range": [
                                          4552,
                                          4560
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 107,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 107,
                                            "column": 20
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "AssignmentExpression",
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "context",
                                              "range": [
                                                4561,
                                                4568
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 107,
                                                  "column": 21
                                                },
                                                "end": {
                                                  "line": 107,
                                                  "column": 28
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "closeAction",
                                              "range": [
                                                4569,
                                                4580
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 107,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 107,
                                                  "column": 40
                                                }
                                              }
                                            },
                                            "range": [
                                              4561,
                                              4580
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 107,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 107,
                                                "column": 40
                                              }
                                            }
                                          },
                                          "right": {
                                            "type": "CallExpression",
                                            "callee": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "range": [
                                                    4583,
                                                    4587
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 107,
                                                      "column": 43
                                                    },
                                                    "end": {
                                                      "line": 107,
                                                      "column": 47
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "scheduler",
                                                  "range": [
                                                    4588,
                                                    4597
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 107,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 107,
                                                      "column": 57
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  4583,
                                                  4597
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 107,
                                                    "column": 43
                                                  },
                                                  "end": {
                                                    "line": 107,
                                                    "column": 57
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "schedule",
                                                "range": [
                                                  4598,
                                                  4606
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 107,
                                                    "column": 58
                                                  },
                                                  "end": {
                                                    "line": 107,
                                                    "column": 66
                                                  }
                                                }
                                              },
                                              "range": [
                                                4583,
                                                4606
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 107,
                                                  "column": 43
                                                },
                                                "end": {
                                                  "line": 107,
                                                  "column": 66
                                                }
                                              }
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "name": "dispatchBufferTimeSpanOnly",
                                                "range": [
                                                  4607,
                                                  4633
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 107,
                                                    "column": 67
                                                  },
                                                  "end": {
                                                    "line": 107,
                                                    "column": 93
                                                  }
                                                }
                                              },
                                              {
                                                "type": "Identifier",
                                                "name": "bufferTimeSpan",
                                                "range": [
                                                  4635,
                                                  4649
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 107,
                                                    "column": 95
                                                  },
                                                  "end": {
                                                    "line": 107,
                                                    "column": 109
                                                  }
                                                }
                                              },
                                              {
                                                "type": "Identifier",
                                                "name": "timeSpanOnlyState",
                                                "range": [
                                                  4651,
                                                  4668
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 107,
                                                    "column": 111
                                                  },
                                                  "end": {
                                                    "line": 107,
                                                    "column": 128
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              4583,
                                              4669
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 107,
                                                "column": 43
                                              },
                                              "end": {
                                                "line": 107,
                                                "column": 129
                                              }
                                            }
                                          },
                                          "range": [
                                            4561,
                                            4669
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 107,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 107,
                                              "column": 129
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4552,
                                        4670
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 107,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 107,
                                          "column": 130
                                        }
                                      }
                                    },
                                    "range": [
                                      4552,
                                      4671
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 107,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 131
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  4334,
                                  4681
                                ],
                                "loc": {
                                  "start": {
                                    "line": 103,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 108,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                4295,
                                4681
                              ],
                              "loc": {
                                "start": {
                                  "line": 103,
                                  "column": 8
                                },
                                "end": {
                                  "line": 108,
                                  "column": 9
                                }
                              }
                            }
                          ],
                          "range": [
                            4133,
                            4687
                          ],
                          "loc": {
                            "start": {
                              "line": 98,
                              "column": 69
                            },
                            "end": {
                              "line": 109,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          4114,
                          4687
                        ],
                        "loc": {
                          "start": {
                            "line": 98,
                            "column": 50
                          },
                          "end": {
                            "line": 109,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        4068,
                        4687
                      ],
                      "loc": {
                        "start": {
                          "line": 98,
                          "column": 4
                        },
                        "end": {
                          "line": 109,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      4068,
                      4688
                    ],
                    "loc": {
                      "start": {
                        "line": 98,
                        "column": 4
                      },
                      "end": {
                        "line": 109,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "BufferTimeSubscriber",
                            "range": [
                              4693,
                              4713
                            ],
                            "loc": {
                              "start": {
                                "line": 110,
                                "column": 4
                              },
                              "end": {
                                "line": 110,
                                "column": 24
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              4714,
                              4723
                            ],
                            "loc": {
                              "start": {
                                "line": 110,
                                "column": 25
                              },
                              "end": {
                                "line": 110,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            4693,
                            4723
                          ],
                          "loc": {
                            "start": {
                              "line": 110,
                              "column": 4
                            },
                            "end": {
                              "line": 110,
                              "column": 34
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "openContext",
                          "range": [
                            4724,
                            4735
                          ],
                          "loc": {
                            "start": {
                              "line": 110,
                              "column": 35
                            },
                            "end": {
                              "line": 110,
                              "column": 46
                            }
                          }
                        },
                        "range": [
                          4693,
                          4735
                        ],
                        "loc": {
                          "start": {
                            "line": 110,
                            "column": 4
                          },
                          "end": {
                            "line": 110,
                            "column": 46
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "context",
                                    "range": [
                                      4764,
                                      4771
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 111,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 111,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "NewExpression",
                                    "callee": {
                                      "type": "Identifier",
                                      "name": "Context",
                                      "range": [
                                        4778,
                                        4785
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 33
                                        }
                                      }
                                    },
                                    "arguments": [],
                                    "range": [
                                      4774,
                                      4787
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 111,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 111,
                                        "column": 35
                                      }
                                    }
                                  },
                                  "range": [
                                    4764,
                                    4787
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 111,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 111,
                                      "column": 35
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                4760,
                                4788
                              ],
                              "loc": {
                                "start": {
                                  "line": 111,
                                  "column": 8
                                },
                                "end": {
                                  "line": 111,
                                  "column": 36
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        4797,
                                        4801
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 112,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 112,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "contexts",
                                      "range": [
                                        4802,
                                        4810
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 112,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 112,
                                          "column": 21
                                        }
                                      }
                                    },
                                    "range": [
                                      4797,
                                      4810
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 112,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 112,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "push",
                                    "range": [
                                      4811,
                                      4815
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 112,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 112,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "range": [
                                    4797,
                                    4815
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 112,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 112,
                                      "column": 26
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "name": "context",
                                    "range": [
                                      4816,
                                      4823
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 112,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 112,
                                        "column": 34
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  4797,
                                  4824
                                ],
                                "loc": {
                                  "start": {
                                    "line": 112,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 112,
                                    "column": 35
                                  }
                                }
                              },
                              "range": [
                                4797,
                                4825
                              ],
                              "loc": {
                                "start": {
                                  "line": 112,
                                  "column": 8
                                },
                                "end": {
                                  "line": 112,
                                  "column": 36
                                }
                              }
                            },
                            {
                              "type": "ReturnStatement",
                              "argument": {
                                "type": "Identifier",
                                "name": "context",
                                "range": [
                                  4841,
                                  4848
                                ],
                                "loc": {
                                  "start": {
                                    "line": 113,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 113,
                                    "column": 22
                                  }
                                }
                              },
                              "range": [
                                4834,
                                4849
                              ],
                              "loc": {
                                "start": {
                                  "line": 113,
                                  "column": 8
                                },
                                "end": {
                                  "line": 113,
                                  "column": 23
                                }
                              }
                            }
                          ],
                          "range": [
                            4750,
                            4855
                          ],
                          "loc": {
                            "start": {
                              "line": 110,
                              "column": 61
                            },
                            "end": {
                              "line": 114,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          4738,
                          4855
                        ],
                        "loc": {
                          "start": {
                            "line": 110,
                            "column": 49
                          },
                          "end": {
                            "line": 114,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        4693,
                        4855
                      ],
                      "loc": {
                        "start": {
                          "line": 110,
                          "column": 4
                        },
                        "end": {
                          "line": 114,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      4693,
                      4856
                    ],
                    "loc": {
                      "start": {
                        "line": 110,
                        "column": 4
                      },
                      "end": {
                        "line": 114,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "BufferTimeSubscriber",
                            "range": [
                              4861,
                              4881
                            ],
                            "loc": {
                              "start": {
                                "line": 115,
                                "column": 4
                              },
                              "end": {
                                "line": 115,
                                "column": 24
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              4882,
                              4891
                            ],
                            "loc": {
                              "start": {
                                "line": 115,
                                "column": 25
                              },
                              "end": {
                                "line": 115,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            4861,
                            4891
                          ],
                          "loc": {
                            "start": {
                              "line": 115,
                              "column": 4
                            },
                            "end": {
                              "line": 115,
                              "column": 34
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "closeContext",
                          "range": [
                            4892,
                            4904
                          ],
                          "loc": {
                            "start": {
                              "line": 115,
                              "column": 35
                            },
                            "end": {
                              "line": 115,
                              "column": 47
                            }
                          }
                        },
                        "range": [
                          4861,
                          4904
                        ],
                        "loc": {
                          "start": {
                            "line": 115,
                            "column": 4
                          },
                          "end": {
                            "line": 115,
                            "column": 47
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "context",
                            "range": [
                              4917,
                              4924
                            ],
                            "loc": {
                              "start": {
                                "line": 115,
                                "column": 60
                              },
                              "end": {
                                "line": 115,
                                "column": 67
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        4936,
                                        4940
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 116,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 116,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        4941,
                                        4952
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 116,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 116,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      4936,
                                      4952
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 116,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 116,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "next",
                                    "range": [
                                      4953,
                                      4957
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 116,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 116,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "range": [
                                    4936,
                                    4957
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 116,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 116,
                                      "column": 29
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "context",
                                      "range": [
                                        4958,
                                        4965
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 116,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 116,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "buffer",
                                      "range": [
                                        4966,
                                        4972
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 116,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 116,
                                          "column": 44
                                        }
                                      }
                                    },
                                    "range": [
                                      4958,
                                      4972
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 116,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 116,
                                        "column": 44
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  4936,
                                  4973
                                ],
                                "loc": {
                                  "start": {
                                    "line": 116,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 116,
                                    "column": 45
                                  }
                                }
                              },
                              "range": [
                                4936,
                                4974
                              ],
                              "loc": {
                                "start": {
                                  "line": 116,
                                  "column": 8
                                },
                                "end": {
                                  "line": 116,
                                  "column": 46
                                }
                              }
                            },
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "contexts",
                                    "range": [
                                      4987,
                                      4995
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 117,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 117,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        4998,
                                        5002
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 117,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 117,
                                          "column": 27
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "contexts",
                                      "range": [
                                        5003,
                                        5011
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 117,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 117,
                                          "column": 36
                                        }
                                      }
                                    },
                                    "range": [
                                      4998,
                                      5011
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 117,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 117,
                                        "column": 36
                                      }
                                    }
                                  },
                                  "range": [
                                    4987,
                                    5011
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 117,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 117,
                                      "column": 36
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                4983,
                                5012
                              ],
                              "loc": {
                                "start": {
                                  "line": 117,
                                  "column": 8
                                },
                                "end": {
                                  "line": 117,
                                  "column": 37
                                }
                              }
                            },
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "spliceIndex",
                                    "range": [
                                      5025,
                                      5036
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "ConditionalExpression",
                                    "test": {
                                      "type": "Identifier",
                                      "name": "contexts",
                                      "range": [
                                        5039,
                                        5047
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 118,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 118,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "consequent": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "contexts",
                                          "range": [
                                            5050,
                                            5058
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 118,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 118,
                                              "column": 45
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "indexOf",
                                          "range": [
                                            5059,
                                            5066
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 118,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 118,
                                              "column": 53
                                            }
                                          }
                                        },
                                        "range": [
                                          5050,
                                          5066
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 118,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 118,
                                            "column": 53
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "context",
                                          "range": [
                                            5067,
                                            5074
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 118,
                                              "column": 54
                                            },
                                            "end": {
                                              "line": 118,
                                              "column": 61
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        5050,
                                        5075
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 118,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 118,
                                          "column": 62
                                        }
                                      }
                                    },
                                    "alternate": {
                                      "type": "UnaryExpression",
                                      "operator": "-",
                                      "argument": {
                                        "type": "Literal",
                                        "value": 1,
                                        "raw": "1",
                                        "range": [
                                          5079,
                                          5080
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 118,
                                            "column": 66
                                          },
                                          "end": {
                                            "line": 118,
                                            "column": 67
                                          }
                                        }
                                      },
                                      "prefix": true,
                                      "range": [
                                        5078,
                                        5080
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 118,
                                          "column": 65
                                        },
                                        "end": {
                                          "line": 118,
                                          "column": 67
                                        }
                                      }
                                    },
                                    "range": [
                                      5039,
                                      5080
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 67
                                      }
                                    }
                                  },
                                  "range": [
                                    5025,
                                    5080
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 67
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                5021,
                                5081
                              ],
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 8
                                },
                                "end": {
                                  "line": 118,
                                  "column": 68
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "BinaryExpression",
                                "operator": ">=",
                                "left": {
                                  "type": "Identifier",
                                  "name": "spliceIndex",
                                  "range": [
                                    5094,
                                    5105
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 119,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 119,
                                      "column": 23
                                    }
                                  }
                                },
                                "right": {
                                  "type": "Literal",
                                  "value": 0,
                                  "raw": "0",
                                  "range": [
                                    5109,
                                    5110
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 119,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 119,
                                      "column": 28
                                    }
                                  }
                                },
                                "range": [
                                  5094,
                                  5110
                                ],
                                "loc": {
                                  "start": {
                                    "line": 119,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 119,
                                    "column": 28
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "contexts",
                                          "range": [
                                            5126,
                                            5134
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 120,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 120,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "splice",
                                          "range": [
                                            5135,
                                            5141
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 120,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 120,
                                              "column": 27
                                            }
                                          }
                                        },
                                        "range": [
                                          5126,
                                          5141
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 120,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 120,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "contexts",
                                              "range": [
                                                5142,
                                                5150
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 120,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 120,
                                                  "column": 36
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "indexOf",
                                              "range": [
                                                5151,
                                                5158
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 120,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 120,
                                                  "column": 44
                                                }
                                              }
                                            },
                                            "range": [
                                              5142,
                                              5158
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 120,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 120,
                                                "column": 44
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "name": "context",
                                              "range": [
                                                5159,
                                                5166
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 120,
                                                  "column": 45
                                                },
                                                "end": {
                                                  "line": 120,
                                                  "column": 52
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            5142,
                                            5167
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 120,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 120,
                                              "column": 53
                                            }
                                          }
                                        },
                                        {
                                          "type": "Literal",
                                          "value": 1,
                                          "raw": "1",
                                          "range": [
                                            5169,
                                            5170
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 120,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 120,
                                              "column": 56
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        5126,
                                        5171
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 57
                                        }
                                      }
                                    },
                                    "range": [
                                      5126,
                                      5172
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 58
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  5112,
                                  5182
                                ],
                                "loc": {
                                  "start": {
                                    "line": 119,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 121,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                5090,
                                5182
                              ],
                              "loc": {
                                "start": {
                                  "line": 119,
                                  "column": 8
                                },
                                "end": {
                                  "line": 121,
                                  "column": 9
                                }
                              }
                            }
                          ],
                          "range": [
                            4926,
                            5188
                          ],
                          "loc": {
                            "start": {
                              "line": 115,
                              "column": 69
                            },
                            "end": {
                              "line": 122,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          4907,
                          5188
                        ],
                        "loc": {
                          "start": {
                            "line": 115,
                            "column": 50
                          },
                          "end": {
                            "line": 122,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        4861,
                        5188
                      ],
                      "loc": {
                        "start": {
                          "line": 115,
                          "column": 4
                        },
                        "end": {
                          "line": 122,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      4861,
                      5189
                    ],
                    "loc": {
                      "start": {
                        "line": 115,
                        "column": 4
                      },
                      "end": {
                        "line": 122,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "BufferTimeSubscriber",
                      "range": [
                        5201,
                        5221
                      ],
                      "loc": {
                        "start": {
                          "line": 123,
                          "column": 11
                        },
                        "end": {
                          "line": 123,
                          "column": 31
                        }
                      }
                    },
                    "range": [
                      5194,
                      5222
                    ],
                    "loc": {
                      "start": {
                        "line": 123,
                        "column": 4
                      },
                      "end": {
                        "line": 123,
                        "column": 32
                      }
                    }
                  }
                ],
                "range": [
                  1620,
                  5224
                ],
                "loc": {
                  "start": {
                    "line": 45,
                    "column": 46
                  },
                  "end": {
                    "line": 124,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                1602,
                5224
              ],
              "loc": {
                "start": {
                  "line": 45,
                  "column": 28
                },
                "end": {
                  "line": 124,
                  "column": 1
                }
              }
            },
            "arguments": [
              {
                "type": "Identifier",
                "name": "Subscriber",
                "range": [
                  5225,
                  5235
                ],
                "loc": {
                  "start": {
                    "line": 124,
                    "column": 2
                  },
                  "end": {
                    "line": 124,
                    "column": 12
                  }
                }
              }
            ],
            "range": [
              1602,
              5236
            ],
            "loc": {
              "start": {
                "line": 45,
                "column": 28
              },
              "end": {
                "line": 124,
                "column": 13
              }
            }
          },
          "range": [
            1578,
            5237
          ],
          "loc": {
            "start": {
              "line": 45,
              "column": 4
            },
            "end": {
              "line": 124,
              "column": 14
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        1574,
        5238
      ],
      "loc": {
        "start": {
          "line": 45,
          "column": 0
        },
        "end": {
          "line": 124,
          "column": 15
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            1482,
            1573
          ],
          "loc": {
            "start": {
              "line": 40,
              "column": 0
            },
            "end": {
              "line": 44,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "FunctionDeclaration",
      "id": {
        "type": "Identifier",
        "name": "dispatchBufferTimeSpanOnly",
        "range": [
          5248,
          5274
        ],
        "loc": {
          "start": {
            "line": 125,
            "column": 9
          },
          "end": {
            "line": 125,
            "column": 35
          }
        }
      },
      "params": [
        {
          "type": "Identifier",
          "name": "state",
          "range": [
            5275,
            5280
          ],
          "loc": {
            "start": {
              "line": 125,
              "column": 36
            },
            "end": {
              "line": 125,
              "column": 41
            }
          }
        }
      ],
      "body": {
        "type": "BlockStatement",
        "body": [
          {
            "type": "VariableDeclaration",
            "declarations": [
              {
                "type": "VariableDeclarator",
                "id": {
                  "type": "Identifier",
                  "name": "subscriber",
                  "range": [
                    5292,
                    5302
                  ],
                  "loc": {
                    "start": {
                      "line": 126,
                      "column": 8
                    },
                    "end": {
                      "line": 126,
                      "column": 18
                    }
                  }
                },
                "init": {
                  "type": "MemberExpression",
                  "computed": false,
                  "object": {
                    "type": "Identifier",
                    "name": "state",
                    "range": [
                      5305,
                      5310
                    ],
                    "loc": {
                      "start": {
                        "line": 126,
                        "column": 21
                      },
                      "end": {
                        "line": 126,
                        "column": 26
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "name": "subscriber",
                    "range": [
                      5311,
                      5321
                    ],
                    "loc": {
                      "start": {
                        "line": 126,
                        "column": 27
                      },
                      "end": {
                        "line": 126,
                        "column": 37
                      }
                    }
                  },
                  "range": [
                    5305,
                    5321
                  ],
                  "loc": {
                    "start": {
                      "line": 126,
                      "column": 21
                    },
                    "end": {
                      "line": 126,
                      "column": 37
                    }
                  }
                },
                "range": [
                  5292,
                  5321
                ],
                "loc": {
                  "start": {
                    "line": 126,
                    "column": 8
                  },
                  "end": {
                    "line": 126,
                    "column": 37
                  }
                }
              }
            ],
            "kind": "var",
            "range": [
              5288,
              5322
            ],
            "loc": {
              "start": {
                "line": 126,
                "column": 4
              },
              "end": {
                "line": 126,
                "column": 38
              }
            }
          },
          {
            "type": "VariableDeclaration",
            "declarations": [
              {
                "type": "VariableDeclarator",
                "id": {
                  "type": "Identifier",
                  "name": "prevContext",
                  "range": [
                    5331,
                    5342
                  ],
                  "loc": {
                    "start": {
                      "line": 127,
                      "column": 8
                    },
                    "end": {
                      "line": 127,
                      "column": 19
                    }
                  }
                },
                "init": {
                  "type": "MemberExpression",
                  "computed": false,
                  "object": {
                    "type": "Identifier",
                    "name": "state",
                    "range": [
                      5345,
                      5350
                    ],
                    "loc": {
                      "start": {
                        "line": 127,
                        "column": 22
                      },
                      "end": {
                        "line": 127,
                        "column": 27
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "name": "context",
                    "range": [
                      5351,
                      5358
                    ],
                    "loc": {
                      "start": {
                        "line": 127,
                        "column": 28
                      },
                      "end": {
                        "line": 127,
                        "column": 35
                      }
                    }
                  },
                  "range": [
                    5345,
                    5358
                  ],
                  "loc": {
                    "start": {
                      "line": 127,
                      "column": 22
                    },
                    "end": {
                      "line": 127,
                      "column": 35
                    }
                  }
                },
                "range": [
                  5331,
                  5358
                ],
                "loc": {
                  "start": {
                    "line": 127,
                    "column": 8
                  },
                  "end": {
                    "line": 127,
                    "column": 35
                  }
                }
              }
            ],
            "kind": "var",
            "range": [
              5327,
              5359
            ],
            "loc": {
              "start": {
                "line": 127,
                "column": 4
              },
              "end": {
                "line": 127,
                "column": 36
              }
            }
          },
          {
            "type": "IfStatement",
            "test": {
              "type": "Identifier",
              "name": "prevContext",
              "range": [
                5368,
                5379
              ],
              "loc": {
                "start": {
                  "line": 128,
                  "column": 8
                },
                "end": {
                  "line": 128,
                  "column": 19
                }
              }
            },
            "consequent": {
              "type": "BlockStatement",
              "body": [
                {
                  "type": "ExpressionStatement",
                  "expression": {
                    "type": "CallExpression",
                    "callee": {
                      "type": "MemberExpression",
                      "computed": false,
                      "object": {
                        "type": "Identifier",
                        "name": "subscriber",
                        "range": [
                          5391,
                          5401
                        ],
                        "loc": {
                          "start": {
                            "line": 129,
                            "column": 8
                          },
                          "end": {
                            "line": 129,
                            "column": 18
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "name": "closeContext",
                        "range": [
                          5402,
                          5414
                        ],
                        "loc": {
                          "start": {
                            "line": 129,
                            "column": 19
                          },
                          "end": {
                            "line": 129,
                            "column": 31
                          }
                        }
                      },
                      "range": [
                        5391,
                        5414
                      ],
                      "loc": {
                        "start": {
                          "line": 129,
                          "column": 8
                        },
                        "end": {
                          "line": 129,
                          "column": 31
                        }
                      }
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "name": "prevContext",
                        "range": [
                          5415,
                          5426
                        ],
                        "loc": {
                          "start": {
                            "line": 129,
                            "column": 32
                          },
                          "end": {
                            "line": 129,
                            "column": 43
                          }
                        }
                      }
                    ],
                    "range": [
                      5391,
                      5427
                    ],
                    "loc": {
                      "start": {
                        "line": 129,
                        "column": 8
                      },
                      "end": {
                        "line": 129,
                        "column": 44
                      }
                    }
                  },
                  "range": [
                    5391,
                    5428
                  ],
                  "loc": {
                    "start": {
                      "line": 129,
                      "column": 8
                    },
                    "end": {
                      "line": 129,
                      "column": 45
                    }
                  }
                }
              ],
              "range": [
                5381,
                5434
              ],
              "loc": {
                "start": {
                  "line": 128,
                  "column": 21
                },
                "end": {
                  "line": 130,
                  "column": 5
                }
              }
            },
            "alternate": null,
            "range": [
              5364,
              5434
            ],
            "loc": {
              "start": {
                "line": 128,
                "column": 4
              },
              "end": {
                "line": 130,
                "column": 5
              }
            }
          },
          {
            "type": "IfStatement",
            "test": {
              "type": "UnaryExpression",
              "operator": "!",
              "argument": {
                "type": "MemberExpression",
                "computed": false,
                "object": {
                  "type": "Identifier",
                  "name": "subscriber",
                  "range": [
                    5444,
                    5454
                  ],
                  "loc": {
                    "start": {
                      "line": 131,
                      "column": 9
                    },
                    "end": {
                      "line": 131,
                      "column": 19
                    }
                  }
                },
                "property": {
                  "type": "Identifier",
                  "name": "closed",
                  "range": [
                    5455,
                    5461
                  ],
                  "loc": {
                    "start": {
                      "line": 131,
                      "column": 20
                    },
                    "end": {
                      "line": 131,
                      "column": 26
                    }
                  }
                },
                "range": [
                  5444,
                  5461
                ],
                "loc": {
                  "start": {
                    "line": 131,
                    "column": 9
                  },
                  "end": {
                    "line": 131,
                    "column": 26
                  }
                }
              },
              "prefix": true,
              "range": [
                5443,
                5461
              ],
              "loc": {
                "start": {
                  "line": 131,
                  "column": 8
                },
                "end": {
                  "line": 131,
                  "column": 26
                }
              }
            },
            "consequent": {
              "type": "BlockStatement",
              "body": [
                {
                  "type": "ExpressionStatement",
                  "expression": {
                    "type": "AssignmentExpression",
                    "operator": "=",
                    "left": {
                      "type": "MemberExpression",
                      "computed": false,
                      "object": {
                        "type": "Identifier",
                        "name": "state",
                        "range": [
                          5473,
                          5478
                        ],
                        "loc": {
                          "start": {
                            "line": 132,
                            "column": 8
                          },
                          "end": {
                            "line": 132,
                            "column": 13
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "name": "context",
                        "range": [
                          5479,
                          5486
                        ],
                        "loc": {
                          "start": {
                            "line": 132,
                            "column": 14
                          },
                          "end": {
                            "line": 132,
                            "column": 21
                          }
                        }
                      },
                      "range": [
                        5473,
                        5486
                      ],
                      "loc": {
                        "start": {
                          "line": 132,
                          "column": 8
                        },
                        "end": {
                          "line": 132,
                          "column": 21
                        }
                      }
                    },
                    "right": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "subscriber",
                          "range": [
                            5489,
                            5499
                          ],
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 24
                            },
                            "end": {
                              "line": 132,
                              "column": 34
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "openContext",
                          "range": [
                            5500,
                            5511
                          ],
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 35
                            },
                            "end": {
                              "line": 132,
                              "column": 46
                            }
                          }
                        },
                        "range": [
                          5489,
                          5511
                        ],
                        "loc": {
                          "start": {
                            "line": 132,
                            "column": 24
                          },
                          "end": {
                            "line": 132,
                            "column": 46
                          }
                        }
                      },
                      "arguments": [],
                      "range": [
                        5489,
                        5513
                      ],
                      "loc": {
                        "start": {
                          "line": 132,
                          "column": 24
                        },
                        "end": {
                          "line": 132,
                          "column": 48
                        }
                      }
                    },
                    "range": [
                      5473,
                      5513
                    ],
                    "loc": {
                      "start": {
                        "line": 132,
                        "column": 8
                      },
                      "end": {
                        "line": 132,
                        "column": 48
                      }
                    }
                  },
                  "range": [
                    5473,
                    5514
                  ],
                  "loc": {
                    "start": {
                      "line": 132,
                      "column": 8
                    },
                    "end": {
                      "line": 132,
                      "column": 49
                    }
                  }
                },
                {
                  "type": "ExpressionStatement",
                  "expression": {
                    "type": "AssignmentExpression",
                    "operator": "=",
                    "left": {
                      "type": "MemberExpression",
                      "computed": false,
                      "object": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "state",
                          "range": [
                            5523,
                            5528
                          ],
                          "loc": {
                            "start": {
                              "line": 133,
                              "column": 8
                            },
                            "end": {
                              "line": 133,
                              "column": 13
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "context",
                          "range": [
                            5529,
                            5536
                          ],
                          "loc": {
                            "start": {
                              "line": 133,
                              "column": 14
                            },
                            "end": {
                              "line": 133,
                              "column": 21
                            }
                          }
                        },
                        "range": [
                          5523,
                          5536
                        ],
                        "loc": {
                          "start": {
                            "line": 133,
                            "column": 8
                          },
                          "end": {
                            "line": 133,
                            "column": 21
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "name": "closeAction",
                        "range": [
                          5537,
                          5548
                        ],
                        "loc": {
                          "start": {
                            "line": 133,
                            "column": 22
                          },
                          "end": {
                            "line": 133,
                            "column": 33
                          }
                        }
                      },
                      "range": [
                        5523,
                        5548
                      ],
                      "loc": {
                        "start": {
                          "line": 133,
                          "column": 8
                        },
                        "end": {
                          "line": 133,
                          "column": 33
                        }
                      }
                    },
                    "right": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "ThisExpression",
                          "range": [
                            5551,
                            5555
                          ],
                          "loc": {
                            "start": {
                              "line": 133,
                              "column": 36
                            },
                            "end": {
                              "line": 133,
                              "column": 40
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "schedule",
                          "range": [
                            5556,
                            5564
                          ],
                          "loc": {
                            "start": {
                              "line": 133,
                              "column": 41
                            },
                            "end": {
                              "line": 133,
                              "column": 49
                            }
                          }
                        },
                        "range": [
                          5551,
                          5564
                        ],
                        "loc": {
                          "start": {
                            "line": 133,
                            "column": 36
                          },
                          "end": {
                            "line": 133,
                            "column": 49
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "name": "state",
                          "range": [
                            5565,
                            5570
                          ],
                          "loc": {
                            "start": {
                              "line": 133,
                              "column": 50
                            },
                            "end": {
                              "line": 133,
                              "column": 55
                            }
                          }
                        },
                        {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "state",
                            "range": [
                              5572,
                              5577
                            ],
                            "loc": {
                              "start": {
                                "line": 133,
                                "column": 57
                              },
                              "end": {
                                "line": 133,
                                "column": 62
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "bufferTimeSpan",
                            "range": [
                              5578,
                              5592
                            ],
                            "loc": {
                              "start": {
                                "line": 133,
                                "column": 63
                              },
                              "end": {
                                "line": 133,
                                "column": 77
                              }
                            }
                          },
                          "range": [
                            5572,
                            5592
                          ],
                          "loc": {
                            "start": {
                              "line": 133,
                              "column": 57
                            },
                            "end": {
                              "line": 133,
                              "column": 77
                            }
                          }
                        }
                      ],
                      "range": [
                        5551,
                        5593
                      ],
                      "loc": {
                        "start": {
                          "line": 133,
                          "column": 36
                        },
                        "end": {
                          "line": 133,
                          "column": 78
                        }
                      }
                    },
                    "range": [
                      5523,
                      5593
                    ],
                    "loc": {
                      "start": {
                        "line": 133,
                        "column": 8
                      },
                      "end": {
                        "line": 133,
                        "column": 78
                      }
                    }
                  },
                  "range": [
                    5523,
                    5594
                  ],
                  "loc": {
                    "start": {
                      "line": 133,
                      "column": 8
                    },
                    "end": {
                      "line": 133,
                      "column": 79
                    }
                  }
                }
              ],
              "range": [
                5463,
                5600
              ],
              "loc": {
                "start": {
                  "line": 131,
                  "column": 28
                },
                "end": {
                  "line": 134,
                  "column": 5
                }
              }
            },
            "alternate": null,
            "range": [
              5439,
              5600
            ],
            "loc": {
              "start": {
                "line": 131,
                "column": 4
              },
              "end": {
                "line": 134,
                "column": 5
              }
            }
          }
        ],
        "range": [
          5282,
          5602
        ],
        "loc": {
          "start": {
            "line": 125,
            "column": 43
          },
          "end": {
            "line": 135,
            "column": 1
          }
        }
      },
      "generator": false,
      "expression": false,
      "range": [
        5239,
        5602
      ],
      "loc": {
        "start": {
          "line": 125,
          "column": 0
        },
        "end": {
          "line": 135,
          "column": 1
        }
      }
    },
    {
      "type": "FunctionDeclaration",
      "id": {
        "type": "Identifier",
        "name": "dispatchBufferCreation",
        "range": [
          5612,
          5634
        ],
        "loc": {
          "start": {
            "line": 136,
            "column": 9
          },
          "end": {
            "line": 136,
            "column": 31
          }
        }
      },
      "params": [
        {
          "type": "Identifier",
          "name": "state",
          "range": [
            5635,
            5640
          ],
          "loc": {
            "start": {
              "line": 136,
              "column": 32
            },
            "end": {
              "line": 136,
              "column": 37
            }
          }
        }
      ],
      "body": {
        "type": "BlockStatement",
        "body": [
          {
            "type": "VariableDeclaration",
            "declarations": [
              {
                "type": "VariableDeclarator",
                "id": {
                  "type": "Identifier",
                  "name": "bufferCreationInterval",
                  "range": [
                    5652,
                    5674
                  ],
                  "loc": {
                    "start": {
                      "line": 137,
                      "column": 8
                    },
                    "end": {
                      "line": 137,
                      "column": 30
                    }
                  }
                },
                "init": {
                  "type": "MemberExpression",
                  "computed": false,
                  "object": {
                    "type": "Identifier",
                    "name": "state",
                    "range": [
                      5677,
                      5682
                    ],
                    "loc": {
                      "start": {
                        "line": 137,
                        "column": 33
                      },
                      "end": {
                        "line": 137,
                        "column": 38
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "name": "bufferCreationInterval",
                    "range": [
                      5683,
                      5705
                    ],
                    "loc": {
                      "start": {
                        "line": 137,
                        "column": 39
                      },
                      "end": {
                        "line": 137,
                        "column": 61
                      }
                    }
                  },
                  "range": [
                    5677,
                    5705
                  ],
                  "loc": {
                    "start": {
                      "line": 137,
                      "column": 33
                    },
                    "end": {
                      "line": 137,
                      "column": 61
                    }
                  }
                },
                "range": [
                  5652,
                  5705
                ],
                "loc": {
                  "start": {
                    "line": 137,
                    "column": 8
                  },
                  "end": {
                    "line": 137,
                    "column": 61
                  }
                }
              },
              {
                "type": "VariableDeclarator",
                "id": {
                  "type": "Identifier",
                  "name": "bufferTimeSpan",
                  "range": [
                    5707,
                    5721
                  ],
                  "loc": {
                    "start": {
                      "line": 137,
                      "column": 63
                    },
                    "end": {
                      "line": 137,
                      "column": 77
                    }
                  }
                },
                "init": {
                  "type": "MemberExpression",
                  "computed": false,
                  "object": {
                    "type": "Identifier",
                    "name": "state",
                    "range": [
                      5724,
                      5729
                    ],
                    "loc": {
                      "start": {
                        "line": 137,
                        "column": 80
                      },
                      "end": {
                        "line": 137,
                        "column": 85
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "name": "bufferTimeSpan",
                    "range": [
                      5730,
                      5744
                    ],
                    "loc": {
                      "start": {
                        "line": 137,
                        "column": 86
                      },
                      "end": {
                        "line": 137,
                        "column": 100
                      }
                    }
                  },
                  "range": [
                    5724,
                    5744
                  ],
                  "loc": {
                    "start": {
                      "line": 137,
                      "column": 80
                    },
                    "end": {
                      "line": 137,
                      "column": 100
                    }
                  }
                },
                "range": [
                  5707,
                  5744
                ],
                "loc": {
                  "start": {
                    "line": 137,
                    "column": 63
                  },
                  "end": {
                    "line": 137,
                    "column": 100
                  }
                }
              },
              {
                "type": "VariableDeclarator",
                "id": {
                  "type": "Identifier",
                  "name": "subscriber",
                  "range": [
                    5746,
                    5756
                  ],
                  "loc": {
                    "start": {
                      "line": 137,
                      "column": 102
                    },
                    "end": {
                      "line": 137,
                      "column": 112
                    }
                  }
                },
                "init": {
                  "type": "MemberExpression",
                  "computed": false,
                  "object": {
                    "type": "Identifier",
                    "name": "state",
                    "range": [
                      5759,
                      5764
                    ],
                    "loc": {
                      "start": {
                        "line": 137,
                        "column": 115
                      },
                      "end": {
                        "line": 137,
                        "column": 120
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "name": "subscriber",
                    "range": [
                      5765,
                      5775
                    ],
                    "loc": {
                      "start": {
                        "line": 137,
                        "column": 121
                      },
                      "end": {
                        "line": 137,
                        "column": 131
                      }
                    }
                  },
                  "range": [
                    5759,
                    5775
                  ],
                  "loc": {
                    "start": {
                      "line": 137,
                      "column": 115
                    },
                    "end": {
                      "line": 137,
                      "column": 131
                    }
                  }
                },
                "range": [
                  5746,
                  5775
                ],
                "loc": {
                  "start": {
                    "line": 137,
                    "column": 102
                  },
                  "end": {
                    "line": 137,
                    "column": 131
                  }
                }
              },
              {
                "type": "VariableDeclarator",
                "id": {
                  "type": "Identifier",
                  "name": "scheduler",
                  "range": [
                    5777,
                    5786
                  ],
                  "loc": {
                    "start": {
                      "line": 137,
                      "column": 133
                    },
                    "end": {
                      "line": 137,
                      "column": 142
                    }
                  }
                },
                "init": {
                  "type": "MemberExpression",
                  "computed": false,
                  "object": {
                    "type": "Identifier",
                    "name": "state",
                    "range": [
                      5789,
                      5794
                    ],
                    "loc": {
                      "start": {
                        "line": 137,
                        "column": 145
                      },
                      "end": {
                        "line": 137,
                        "column": 150
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "name": "scheduler",
                    "range": [
                      5795,
                      5804
                    ],
                    "loc": {
                      "start": {
                        "line": 137,
                        "column": 151
                      },
                      "end": {
                        "line": 137,
                        "column": 160
                      }
                    }
                  },
                  "range": [
                    5789,
                    5804
                  ],
                  "loc": {
                    "start": {
                      "line": 137,
                      "column": 145
                    },
                    "end": {
                      "line": 137,
                      "column": 160
                    }
                  }
                },
                "range": [
                  5777,
                  5804
                ],
                "loc": {
                  "start": {
                    "line": 137,
                    "column": 133
                  },
                  "end": {
                    "line": 137,
                    "column": 160
                  }
                }
              }
            ],
            "kind": "var",
            "range": [
              5648,
              5805
            ],
            "loc": {
              "start": {
                "line": 137,
                "column": 4
              },
              "end": {
                "line": 137,
                "column": 161
              }
            }
          },
          {
            "type": "VariableDeclaration",
            "declarations": [
              {
                "type": "VariableDeclarator",
                "id": {
                  "type": "Identifier",
                  "name": "context",
                  "range": [
                    5814,
                    5821
                  ],
                  "loc": {
                    "start": {
                      "line": 138,
                      "column": 8
                    },
                    "end": {
                      "line": 138,
                      "column": 15
                    }
                  }
                },
                "init": {
                  "type": "CallExpression",
                  "callee": {
                    "type": "MemberExpression",
                    "computed": false,
                    "object": {
                      "type": "Identifier",
                      "name": "subscriber",
                      "range": [
                        5824,
                        5834
                      ],
                      "loc": {
                        "start": {
                          "line": 138,
                          "column": 18
                        },
                        "end": {
                          "line": 138,
                          "column": 28
                        }
                      }
                    },
                    "property": {
                      "type": "Identifier",
                      "name": "openContext",
                      "range": [
                        5835,
                        5846
                      ],
                      "loc": {
                        "start": {
                          "line": 138,
                          "column": 29
                        },
                        "end": {
                          "line": 138,
                          "column": 40
                        }
                      }
                    },
                    "range": [
                      5824,
                      5846
                    ],
                    "loc": {
                      "start": {
                        "line": 138,
                        "column": 18
                      },
                      "end": {
                        "line": 138,
                        "column": 40
                      }
                    }
                  },
                  "arguments": [],
                  "range": [
                    5824,
                    5848
                  ],
                  "loc": {
                    "start": {
                      "line": 138,
                      "column": 18
                    },
                    "end": {
                      "line": 138,
                      "column": 42
                    }
                  }
                },
                "range": [
                  5814,
                  5848
                ],
                "loc": {
                  "start": {
                    "line": 138,
                    "column": 8
                  },
                  "end": {
                    "line": 138,
                    "column": 42
                  }
                }
              }
            ],
            "kind": "var",
            "range": [
              5810,
              5849
            ],
            "loc": {
              "start": {
                "line": 138,
                "column": 4
              },
              "end": {
                "line": 138,
                "column": 43
              }
            }
          },
          {
            "type": "VariableDeclaration",
            "declarations": [
              {
                "type": "VariableDeclarator",
                "id": {
                  "type": "Identifier",
                  "name": "action",
                  "range": [
                    5858,
                    5864
                  ],
                  "loc": {
                    "start": {
                      "line": 139,
                      "column": 8
                    },
                    "end": {
                      "line": 139,
                      "column": 14
                    }
                  }
                },
                "init": {
                  "type": "ThisExpression",
                  "range": [
                    5867,
                    5871
                  ],
                  "loc": {
                    "start": {
                      "line": 139,
                      "column": 17
                    },
                    "end": {
                      "line": 139,
                      "column": 21
                    }
                  }
                },
                "range": [
                  5858,
                  5871
                ],
                "loc": {
                  "start": {
                    "line": 139,
                    "column": 8
                  },
                  "end": {
                    "line": 139,
                    "column": 21
                  }
                }
              }
            ],
            "kind": "var",
            "range": [
              5854,
              5872
            ],
            "loc": {
              "start": {
                "line": 139,
                "column": 4
              },
              "end": {
                "line": 139,
                "column": 22
              }
            }
          },
          {
            "type": "IfStatement",
            "test": {
              "type": "UnaryExpression",
              "operator": "!",
              "argument": {
                "type": "MemberExpression",
                "computed": false,
                "object": {
                  "type": "Identifier",
                  "name": "subscriber",
                  "range": [
                    5882,
                    5892
                  ],
                  "loc": {
                    "start": {
                      "line": 140,
                      "column": 9
                    },
                    "end": {
                      "line": 140,
                      "column": 19
                    }
                  }
                },
                "property": {
                  "type": "Identifier",
                  "name": "closed",
                  "range": [
                    5893,
                    5899
                  ],
                  "loc": {
                    "start": {
                      "line": 140,
                      "column": 20
                    },
                    "end": {
                      "line": 140,
                      "column": 26
                    }
                  }
                },
                "range": [
                  5882,
                  5899
                ],
                "loc": {
                  "start": {
                    "line": 140,
                    "column": 9
                  },
                  "end": {
                    "line": 140,
                    "column": 26
                  }
                }
              },
              "prefix": true,
              "range": [
                5881,
                5899
              ],
              "loc": {
                "start": {
                  "line": 140,
                  "column": 8
                },
                "end": {
                  "line": 140,
                  "column": 26
                }
              }
            },
            "consequent": {
              "type": "BlockStatement",
              "body": [
                {
                  "type": "ExpressionStatement",
                  "expression": {
                    "type": "CallExpression",
                    "callee": {
                      "type": "MemberExpression",
                      "computed": false,
                      "object": {
                        "type": "Identifier",
                        "name": "subscriber",
                        "range": [
                          5911,
                          5921
                        ],
                        "loc": {
                          "start": {
                            "line": 141,
                            "column": 8
                          },
                          "end": {
                            "line": 141,
                            "column": 18
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "name": "add",
                        "range": [
                          5922,
                          5925
                        ],
                        "loc": {
                          "start": {
                            "line": 141,
                            "column": 19
                          },
                          "end": {
                            "line": 141,
                            "column": 22
                          }
                        }
                      },
                      "range": [
                        5911,
                        5925
                      ],
                      "loc": {
                        "start": {
                          "line": 141,
                          "column": 8
                        },
                        "end": {
                          "line": 141,
                          "column": 22
                        }
                      }
                    },
                    "arguments": [
                      {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "context",
                            "range": [
                              5926,
                              5933
                            ],
                            "loc": {
                              "start": {
                                "line": 141,
                                "column": 23
                              },
                              "end": {
                                "line": 141,
                                "column": 30
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "closeAction",
                            "range": [
                              5934,
                              5945
                            ],
                            "loc": {
                              "start": {
                                "line": 141,
                                "column": 31
                              },
                              "end": {
                                "line": 141,
                                "column": 42
                              }
                            }
                          },
                          "range": [
                            5926,
                            5945
                          ],
                          "loc": {
                            "start": {
                              "line": 141,
                              "column": 23
                            },
                            "end": {
                              "line": 141,
                              "column": 42
                            }
                          }
                        },
                        "right": {
                          "type": "CallExpression",
                          "callee": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "scheduler",
                              "range": [
                                5948,
                                5957
                              ],
                              "loc": {
                                "start": {
                                  "line": 141,
                                  "column": 45
                                },
                                "end": {
                                  "line": 141,
                                  "column": 54
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "schedule",
                              "range": [
                                5958,
                                5966
                              ],
                              "loc": {
                                "start": {
                                  "line": 141,
                                  "column": 55
                                },
                                "end": {
                                  "line": 141,
                                  "column": 63
                                }
                              }
                            },
                            "range": [
                              5948,
                              5966
                            ],
                            "loc": {
                              "start": {
                                "line": 141,
                                "column": 45
                              },
                              "end": {
                                "line": 141,
                                "column": 63
                              }
                            }
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "name": "dispatchBufferClose",
                              "range": [
                                5967,
                                5986
                              ],
                              "loc": {
                                "start": {
                                  "line": 141,
                                  "column": 64
                                },
                                "end": {
                                  "line": 141,
                                  "column": 83
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "name": "bufferTimeSpan",
                              "range": [
                                5988,
                                6002
                              ],
                              "loc": {
                                "start": {
                                  "line": 141,
                                  "column": 85
                                },
                                "end": {
                                  "line": 141,
                                  "column": 99
                                }
                              }
                            },
                            {
                              "type": "ObjectExpression",
                              "properties": [
                                {
                                  "type": "Property",
                                  "key": {
                                    "type": "Identifier",
                                    "name": "subscriber",
                                    "range": [
                                      6006,
                                      6016
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 141,
                                        "column": 103
                                      },
                                      "end": {
                                        "line": 141,
                                        "column": 113
                                      }
                                    }
                                  },
                                  "value": {
                                    "type": "Identifier",
                                    "name": "subscriber",
                                    "range": [
                                      6018,
                                      6028
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 141,
                                        "column": 115
                                      },
                                      "end": {
                                        "line": 141,
                                        "column": 125
                                      }
                                    }
                                  },
                                  "kind": "init",
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "range": [
                                    6006,
                                    6028
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 141,
                                      "column": 103
                                    },
                                    "end": {
                                      "line": 141,
                                      "column": 125
                                    }
                                  }
                                },
                                {
                                  "type": "Property",
                                  "key": {
                                    "type": "Identifier",
                                    "name": "context",
                                    "range": [
                                      6030,
                                      6037
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 141,
                                        "column": 127
                                      },
                                      "end": {
                                        "line": 141,
                                        "column": 134
                                      }
                                    }
                                  },
                                  "value": {
                                    "type": "Identifier",
                                    "name": "context",
                                    "range": [
                                      6039,
                                      6046
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 141,
                                        "column": 136
                                      },
                                      "end": {
                                        "line": 141,
                                        "column": 143
                                      }
                                    }
                                  },
                                  "kind": "init",
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "range": [
                                    6030,
                                    6046
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 141,
                                      "column": 127
                                    },
                                    "end": {
                                      "line": 141,
                                      "column": 143
                                    }
                                  }
                                }
                              ],
                              "range": [
                                6004,
                                6048
                              ],
                              "loc": {
                                "start": {
                                  "line": 141,
                                  "column": 101
                                },
                                "end": {
                                  "line": 141,
                                  "column": 145
                                }
                              }
                            }
                          ],
                          "range": [
                            5948,
                            6049
                          ],
                          "loc": {
                            "start": {
                              "line": 141,
                              "column": 45
                            },
                            "end": {
                              "line": 141,
                              "column": 146
                            }
                          }
                        },
                        "range": [
                          5926,
                          6049
                        ],
                        "loc": {
                          "start": {
                            "line": 141,
                            "column": 23
                          },
                          "end": {
                            "line": 141,
                            "column": 146
                          }
                        }
                      }
                    ],
                    "range": [
                      5911,
                      6050
                    ],
                    "loc": {
                      "start": {
                        "line": 141,
                        "column": 8
                      },
                      "end": {
                        "line": 141,
                        "column": 147
                      }
                    }
                  },
                  "range": [
                    5911,
                    6051
                  ],
                  "loc": {
                    "start": {
                      "line": 141,
                      "column": 8
                    },
                    "end": {
                      "line": 141,
                      "column": 148
                    }
                  }
                },
                {
                  "type": "ExpressionStatement",
                  "expression": {
                    "type": "CallExpression",
                    "callee": {
                      "type": "MemberExpression",
                      "computed": false,
                      "object": {
                        "type": "Identifier",
                        "name": "action",
                        "range": [
                          6060,
                          6066
                        ],
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 8
                          },
                          "end": {
                            "line": 142,
                            "column": 14
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "name": "schedule",
                        "range": [
                          6067,
                          6075
                        ],
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 15
                          },
                          "end": {
                            "line": 142,
                            "column": 23
                          }
                        }
                      },
                      "range": [
                        6060,
                        6075
                      ],
                      "loc": {
                        "start": {
                          "line": 142,
                          "column": 8
                        },
                        "end": {
                          "line": 142,
                          "column": 23
                        }
                      }
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "name": "state",
                        "range": [
                          6076,
                          6081
                        ],
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 24
                          },
                          "end": {
                            "line": 142,
                            "column": 29
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "bufferCreationInterval",
                        "range": [
                          6083,
                          6105
                        ],
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 31
                          },
                          "end": {
                            "line": 142,
                            "column": 53
                          }
                        }
                      }
                    ],
                    "range": [
                      6060,
                      6106
                    ],
                    "loc": {
                      "start": {
                        "line": 142,
                        "column": 8
                      },
                      "end": {
                        "line": 142,
                        "column": 54
                      }
                    }
                  },
                  "range": [
                    6060,
                    6107
                  ],
                  "loc": {
                    "start": {
                      "line": 142,
                      "column": 8
                    },
                    "end": {
                      "line": 142,
                      "column": 55
                    }
                  }
                }
              ],
              "range": [
                5901,
                6113
              ],
              "loc": {
                "start": {
                  "line": 140,
                  "column": 28
                },
                "end": {
                  "line": 143,
                  "column": 5
                }
              }
            },
            "alternate": null,
            "range": [
              5877,
              6113
            ],
            "loc": {
              "start": {
                "line": 140,
                "column": 4
              },
              "end": {
                "line": 143,
                "column": 5
              }
            }
          }
        ],
        "range": [
          5642,
          6115
        ],
        "loc": {
          "start": {
            "line": 136,
            "column": 39
          },
          "end": {
            "line": 144,
            "column": 1
          }
        }
      },
      "generator": false,
      "expression": false,
      "range": [
        5603,
        6115
      ],
      "loc": {
        "start": {
          "line": 136,
          "column": 0
        },
        "end": {
          "line": 144,
          "column": 1
        }
      }
    },
    {
      "type": "FunctionDeclaration",
      "id": {
        "type": "Identifier",
        "name": "dispatchBufferClose",
        "range": [
          6125,
          6144
        ],
        "loc": {
          "start": {
            "line": 145,
            "column": 9
          },
          "end": {
            "line": 145,
            "column": 28
          }
        }
      },
      "params": [
        {
          "type": "Identifier",
          "name": "arg",
          "range": [
            6145,
            6148
          ],
          "loc": {
            "start": {
              "line": 145,
              "column": 29
            },
            "end": {
              "line": 145,
              "column": 32
            }
          }
        }
      ],
      "body": {
        "type": "BlockStatement",
        "body": [
          {
            "type": "VariableDeclaration",
            "declarations": [
              {
                "type": "VariableDeclarator",
                "id": {
                  "type": "Identifier",
                  "name": "subscriber",
                  "range": [
                    6160,
                    6170
                  ],
                  "loc": {
                    "start": {
                      "line": 146,
                      "column": 8
                    },
                    "end": {
                      "line": 146,
                      "column": 18
                    }
                  }
                },
                "init": {
                  "type": "MemberExpression",
                  "computed": false,
                  "object": {
                    "type": "Identifier",
                    "name": "arg",
                    "range": [
                      6173,
                      6176
                    ],
                    "loc": {
                      "start": {
                        "line": 146,
                        "column": 21
                      },
                      "end": {
                        "line": 146,
                        "column": 24
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "name": "subscriber",
                    "range": [
                      6177,
                      6187
                    ],
                    "loc": {
                      "start": {
                        "line": 146,
                        "column": 25
                      },
                      "end": {
                        "line": 146,
                        "column": 35
                      }
                    }
                  },
                  "range": [
                    6173,
                    6187
                  ],
                  "loc": {
                    "start": {
                      "line": 146,
                      "column": 21
                    },
                    "end": {
                      "line": 146,
                      "column": 35
                    }
                  }
                },
                "range": [
                  6160,
                  6187
                ],
                "loc": {
                  "start": {
                    "line": 146,
                    "column": 8
                  },
                  "end": {
                    "line": 146,
                    "column": 35
                  }
                }
              },
              {
                "type": "VariableDeclarator",
                "id": {
                  "type": "Identifier",
                  "name": "context",
                  "range": [
                    6189,
                    6196
                  ],
                  "loc": {
                    "start": {
                      "line": 146,
                      "column": 37
                    },
                    "end": {
                      "line": 146,
                      "column": 44
                    }
                  }
                },
                "init": {
                  "type": "MemberExpression",
                  "computed": false,
                  "object": {
                    "type": "Identifier",
                    "name": "arg",
                    "range": [
                      6199,
                      6202
                    ],
                    "loc": {
                      "start": {
                        "line": 146,
                        "column": 47
                      },
                      "end": {
                        "line": 146,
                        "column": 50
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "name": "context",
                    "range": [
                      6203,
                      6210
                    ],
                    "loc": {
                      "start": {
                        "line": 146,
                        "column": 51
                      },
                      "end": {
                        "line": 146,
                        "column": 58
                      }
                    }
                  },
                  "range": [
                    6199,
                    6210
                  ],
                  "loc": {
                    "start": {
                      "line": 146,
                      "column": 47
                    },
                    "end": {
                      "line": 146,
                      "column": 58
                    }
                  }
                },
                "range": [
                  6189,
                  6210
                ],
                "loc": {
                  "start": {
                    "line": 146,
                    "column": 37
                  },
                  "end": {
                    "line": 146,
                    "column": 58
                  }
                }
              }
            ],
            "kind": "var",
            "range": [
              6156,
              6211
            ],
            "loc": {
              "start": {
                "line": 146,
                "column": 4
              },
              "end": {
                "line": 146,
                "column": 59
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "expression": {
              "type": "CallExpression",
              "callee": {
                "type": "MemberExpression",
                "computed": false,
                "object": {
                  "type": "Identifier",
                  "name": "subscriber",
                  "range": [
                    6216,
                    6226
                  ],
                  "loc": {
                    "start": {
                      "line": 147,
                      "column": 4
                    },
                    "end": {
                      "line": 147,
                      "column": 14
                    }
                  }
                },
                "property": {
                  "type": "Identifier",
                  "name": "closeContext",
                  "range": [
                    6227,
                    6239
                  ],
                  "loc": {
                    "start": {
                      "line": 147,
                      "column": 15
                    },
                    "end": {
                      "line": 147,
                      "column": 27
                    }
                  }
                },
                "range": [
                  6216,
                  6239
                ],
                "loc": {
                  "start": {
                    "line": 147,
                    "column": 4
                  },
                  "end": {
                    "line": 147,
                    "column": 27
                  }
                }
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "name": "context",
                  "range": [
                    6240,
                    6247
                  ],
                  "loc": {
                    "start": {
                      "line": 147,
                      "column": 28
                    },
                    "end": {
                      "line": 147,
                      "column": 35
                    }
                  }
                }
              ],
              "range": [
                6216,
                6248
              ],
              "loc": {
                "start": {
                  "line": 147,
                  "column": 4
                },
                "end": {
                  "line": 147,
                  "column": 36
                }
              }
            },
            "range": [
              6216,
              6249
            ],
            "loc": {
              "start": {
                "line": 147,
                "column": 4
              },
              "end": {
                "line": 147,
                "column": 37
              }
            }
          }
        ],
        "range": [
          6150,
          6251
        ],
        "loc": {
          "start": {
            "line": 145,
            "column": 34
          },
          "end": {
            "line": 148,
            "column": 1
          }
        }
      },
      "generator": false,
      "expression": false,
      "range": [
        6116,
        6251
      ],
      "loc": {
        "start": {
          "line": 145,
          "column": 0
        },
        "end": {
          "line": 148,
          "column": 1
        }
      },
      "trailingComments": [
        {
          "type": "Line",
          "value": "# sourceMappingURL=bufferTime.js.map",
          "range": [
            6252,
            6290
          ],
          "loc": {
            "start": {
              "line": 149,
              "column": 0
            },
            "end": {
              "line": 149,
              "column": 38
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    6251
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 148,
      "column": 1
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": " tslint:disable:max-line-length ",
      "range": [
        139,
        175
      ],
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 36
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
      "range": [
        1482,
        1573
      ],
      "loc": {
        "start": {
          "line": 40,
          "column": 0
        },
        "end": {
          "line": 44,
          "column": 3
        }
      }
    },
    {
      "type": "Line",
      "value": "# sourceMappingURL=bufferTime.js.map",
      "range": [
        6252,
        6290
      ],
      "loc": {
        "start": {
          "line": 149,
          "column": 0
        },
        "end": {
          "line": 149,
          "column": 38
        }
      }
    }
  ]
}