{
  "type": "Program",
  "body": [
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "isArray",
            "range": [
              9,
              16
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 16
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "isArray",
            "range": [
              9,
              16
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 16
              }
            }
          },
          "range": [
            9,
            16
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 9
            },
            "end": {
              "line": 1,
              "column": 16
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "./util/isArray",
        "raw": "'./util/isArray'",
        "range": [
          24,
          40
        ],
        "loc": {
          "start": {
            "line": 1,
            "column": 24
          },
          "end": {
            "line": 1,
            "column": 40
          }
        }
      },
      "range": [
        0,
        41
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 41
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "isObject",
            "range": [
              51,
              59
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 17
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "isObject",
            "range": [
              51,
              59
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 17
              }
            }
          },
          "range": [
            51,
            59
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 9
            },
            "end": {
              "line": 2,
              "column": 17
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "./util/isObject",
        "raw": "'./util/isObject'",
        "range": [
          67,
          84
        ],
        "loc": {
          "start": {
            "line": 2,
            "column": 25
          },
          "end": {
            "line": 2,
            "column": 42
          }
        }
      },
      "range": [
        42,
        85
      ],
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 43
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "isFunction",
            "range": [
              95,
              105
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 19
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "isFunction",
            "range": [
              95,
              105
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 19
              }
            }
          },
          "range": [
            95,
            105
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 9
            },
            "end": {
              "line": 3,
              "column": 19
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "./util/isFunction",
        "raw": "'./util/isFunction'",
        "range": [
          113,
          132
        ],
        "loc": {
          "start": {
            "line": 3,
            "column": 27
          },
          "end": {
            "line": 3,
            "column": 46
          }
        }
      },
      "range": [
        86,
        133
      ],
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 47
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "tryCatch",
            "range": [
              143,
              151
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 17
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "tryCatch",
            "range": [
              143,
              151
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 17
              }
            }
          },
          "range": [
            143,
            151
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 9
            },
            "end": {
              "line": 4,
              "column": 17
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "./util/tryCatch",
        "raw": "'./util/tryCatch'",
        "range": [
          159,
          176
        ],
        "loc": {
          "start": {
            "line": 4,
            "column": 25
          },
          "end": {
            "line": 4,
            "column": 42
          }
        }
      },
      "range": [
        134,
        177
      ],
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 43
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "errorObject",
            "range": [
              187,
              198
            ],
            "loc": {
              "start": {
                "line": 5,
                "column": 9
              },
              "end": {
                "line": 5,
                "column": 20
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "errorObject",
            "range": [
              187,
              198
            ],
            "loc": {
              "start": {
                "line": 5,
                "column": 9
              },
              "end": {
                "line": 5,
                "column": 20
              }
            }
          },
          "range": [
            187,
            198
          ],
          "loc": {
            "start": {
              "line": 5,
              "column": 9
            },
            "end": {
              "line": 5,
              "column": 20
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "./util/errorObject",
        "raw": "'./util/errorObject'",
        "range": [
          206,
          226
        ],
        "loc": {
          "start": {
            "line": 5,
            "column": 28
          },
          "end": {
            "line": 5,
            "column": 48
          }
        }
      },
      "range": [
        178,
        227
      ],
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 49
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "UnsubscriptionError",
            "range": [
              237,
              256
            ],
            "loc": {
              "start": {
                "line": 6,
                "column": 9
              },
              "end": {
                "line": 6,
                "column": 28
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "UnsubscriptionError",
            "range": [
              237,
              256
            ],
            "loc": {
              "start": {
                "line": 6,
                "column": 9
              },
              "end": {
                "line": 6,
                "column": 28
              }
            }
          },
          "range": [
            237,
            256
          ],
          "loc": {
            "start": {
              "line": 6,
              "column": 9
            },
            "end": {
              "line": 6,
              "column": 28
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "./util/UnsubscriptionError",
        "raw": "'./util/UnsubscriptionError'",
        "range": [
          264,
          292
        ],
        "loc": {
          "start": {
            "line": 6,
            "column": 36
          },
          "end": {
            "line": 6,
            "column": 64
          }
        }
      },
      "range": [
        228,
        293
      ],
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 65
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * Represents a disposable resource, such as the execution of an Observable. A\n * Subscription has one important method, `unsubscribe`, that takes no argument\n * and just disposes the resource held by the subscription.\n *\n * Additionally, subscriptions may be grouped together through the `add()`\n * method, which will attach a child Subscription to the current Subscription.\n * When a Subscription is unsubscribed, all its children (and its grandchildren)\n * will be unsubscribed as well.\n *\n * @class Subscription\n ",
          "range": [
            294,
            817
          ],
          "loc": {
            "start": {
              "line": 7,
              "column": 0
            },
            "end": {
              "line": 18,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "VariableDeclaration",
        "declarations": [
          {
            "type": "VariableDeclarator",
            "id": {
              "type": "Identifier",
              "name": "Subscription",
              "range": [
                829,
                841
              ],
              "loc": {
                "start": {
                  "line": 19,
                  "column": 11
                },
                "end": {
                  "line": 19,
                  "column": 23
                }
              }
            },
            "init": {
              "type": "CallExpression",
              "callee": {
                "type": "FunctionExpression",
                "id": null,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "FunctionDeclaration",
                      "id": {
                        "type": "Identifier",
                        "name": "Subscription",
                        "range": [
                          1046,
                          1058
                        ],
                        "loc": {
                          "start": {
                            "line": 24,
                            "column": 13
                          },
                          "end": {
                            "line": 24,
                            "column": 25
                          }
                        }
                      },
                      "params": [
                        {
                          "type": "Identifier",
                          "name": "unsubscribe",
                          "range": [
                            1059,
                            1070
                          ],
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 26
                            },
                            "end": {
                              "line": 24,
                              "column": 37
                            }
                          }
                        }
                      ],
                      "body": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    1220,
                                    1224
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 29,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "closed",
                                  "range": [
                                    1225,
                                    1231
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 29,
                                      "column": 19
                                    }
                                  }
                                },
                                "range": [
                                  1220,
                                  1231
                                ],
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 19
                                  }
                                }
                              },
                              "right": {
                                "type": "Literal",
                                "value": false,
                                "raw": "false",
                                "range": [
                                  1234,
                                  1239
                                ],
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 27
                                  }
                                }
                              },
                              "range": [
                                1220,
                                1239
                              ],
                              "loc": {
                                "start": {
                                  "line": 29,
                                  "column": 8
                                },
                                "end": {
                                  "line": 29,
                                  "column": 27
                                }
                              }
                            },
                            "range": [
                              1220,
                              1240
                            ],
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 8
                              },
                              "end": {
                                "line": 29,
                                "column": 28
                              }
                            },
                            "leadingComments": [
                              {
                                "type": "Block",
                                "value": "*\n         * A flag to indicate whether this Subscription has already been unsubscribed.\n         * @type {boolean}\n         ",
                                "range": [
                                  1082,
                                  1211
                                ],
                                "loc": {
                                  "start": {
                                    "line": 25,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 11
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "IfStatement",
                            "test": {
                              "type": "Identifier",
                              "name": "unsubscribe",
                              "range": [
                                1253,
                                1264
                              ],
                              "loc": {
                                "start": {
                                  "line": 30,
                                  "column": 12
                                },
                                "end": {
                                  "line": 30,
                                  "column": 23
                                }
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          1280,
                                          1284
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 31,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 31,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "_unsubscribe",
                                        "range": [
                                          1285,
                                          1297
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 31,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 31,
                                            "column": 29
                                          }
                                        }
                                      },
                                      "range": [
                                        1280,
                                        1297
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 31,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 31,
                                          "column": 29
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "Identifier",
                                      "name": "unsubscribe",
                                      "range": [
                                        1300,
                                        1311
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 31,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 31,
                                          "column": 43
                                        }
                                      }
                                    },
                                    "range": [
                                      1280,
                                      1311
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 31,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 31,
                                        "column": 43
                                      }
                                    }
                                  },
                                  "range": [
                                    1280,
                                    1312
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 31,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 31,
                                      "column": 44
                                    }
                                  }
                                }
                              ],
                              "range": [
                                1266,
                                1322
                              ],
                              "loc": {
                                "start": {
                                  "line": 30,
                                  "column": 25
                                },
                                "end": {
                                  "line": 32,
                                  "column": 9
                                }
                              }
                            },
                            "alternate": null,
                            "range": [
                              1249,
                              1322
                            ],
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 8
                              },
                              "end": {
                                "line": 32,
                                "column": 9
                              }
                            }
                          }
                        ],
                        "range": [
                          1072,
                          1328
                        ],
                        "loc": {
                          "start": {
                            "line": 24,
                            "column": 39
                          },
                          "end": {
                            "line": 33,
                            "column": 5
                          }
                        }
                      },
                      "generator": false,
                      "expression": false,
                      "range": [
                        1037,
                        1328
                      ],
                      "loc": {
                        "start": {
                          "line": 24,
                          "column": 4
                        },
                        "end": {
                          "line": 33,
                          "column": 5
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "*\n     * @param {function(): void} [unsubscribe] A function describing how to\n     * perform the disposal of resources when the `unsubscribe` method is called.\n     ",
                          "range": [
                            863,
                            1032
                          ],
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 4
                            },
                            "end": {
                              "line": 23,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "Block",
                          "value": "*\n     * Disposes the resources held by the subscription. May, for instance, cancel\n     * an ongoing Observable execution or cancel any other type of work that\n     * started when the Subscription was created.\n     * @return {void}\n     ",
                          "range": [
                            1333,
                            1575
                          ],
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 4
                            },
                            "end": {
                              "line": 39,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "Subscription",
                              "range": [
                                1580,
                                1592
                              ],
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 4
                                },
                                "end": {
                                  "line": 40,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                1593,
                                1602
                              ],
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 17
                                },
                                "end": {
                                  "line": 40,
                                  "column": 26
                                }
                              }
                            },
                            "range": [
                              1580,
                              1602
                            ],
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 4
                              },
                              "end": {
                                "line": 40,
                                "column": 26
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "unsubscribe",
                            "range": [
                              1603,
                              1614
                            ],
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 27
                              },
                              "end": {
                                "line": 40,
                                "column": 38
                              }
                            }
                          },
                          "range": [
                            1580,
                            1614
                          ],
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 4
                            },
                            "end": {
                              "line": 40,
                              "column": 38
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "hasErrors",
                                      "range": [
                                        1643,
                                        1652
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 41,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 41,
                                          "column": 21
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "Literal",
                                      "value": false,
                                      "raw": "false",
                                      "range": [
                                        1655,
                                        1660
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 41,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 41,
                                          "column": 29
                                        }
                                      }
                                    },
                                    "range": [
                                      1643,
                                      1660
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 41,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 41,
                                        "column": 29
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  1639,
                                  1661
                                ],
                                "loc": {
                                  "start": {
                                    "line": 41,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 41,
                                    "column": 30
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "errors",
                                      "range": [
                                        1674,
                                        1680
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 42,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 42,
                                          "column": 18
                                        }
                                      }
                                    },
                                    "init": null,
                                    "range": [
                                      1674,
                                      1680
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 18
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  1670,
                                  1681
                                ],
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 19
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      1694,
                                      1698
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 43,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 43,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "closed",
                                    "range": [
                                      1699,
                                      1705
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 43,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 43,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "range": [
                                    1694,
                                    1705
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 43,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 43,
                                      "column": 23
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ReturnStatement",
                                      "argument": null,
                                      "range": [
                                        1721,
                                        1728
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 44,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 44,
                                          "column": 19
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    1707,
                                    1738
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 43,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  1690,
                                  1738
                                ],
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        1747,
                                        1751
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 46,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 46,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "closed",
                                      "range": [
                                        1752,
                                        1758
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 46,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 46,
                                          "column": 19
                                        }
                                      }
                                    },
                                    "range": [
                                      1747,
                                      1758
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 46,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 46,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Literal",
                                    "value": true,
                                    "raw": "true",
                                    "range": [
                                      1761,
                                      1765
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 46,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 46,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "range": [
                                    1747,
                                    1765
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 46,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 46,
                                      "column": 26
                                    }
                                  }
                                },
                                "range": [
                                  1747,
                                  1766
                                ],
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 27
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "_a",
                                      "range": [
                                        1779,
                                        1781
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 47,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 47,
                                          "column": 14
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "ThisExpression",
                                      "range": [
                                        1784,
                                        1788
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 47,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 47,
                                          "column": 21
                                        }
                                      }
                                    },
                                    "range": [
                                      1779,
                                      1788
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 47,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 47,
                                        "column": 21
                                      }
                                    }
                                  },
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "_unsubscribe",
                                      "range": [
                                        1790,
                                        1802
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 47,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 47,
                                          "column": 35
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "_a",
                                        "range": [
                                          1805,
                                          1807
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 47,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 47,
                                            "column": 40
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "_unsubscribe",
                                        "range": [
                                          1808,
                                          1820
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 47,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 47,
                                            "column": 53
                                          }
                                        }
                                      },
                                      "range": [
                                        1805,
                                        1820
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 47,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 47,
                                          "column": 53
                                        }
                                      }
                                    },
                                    "range": [
                                      1790,
                                      1820
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 47,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 47,
                                        "column": 53
                                      }
                                    }
                                  },
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "_subscriptions",
                                      "range": [
                                        1822,
                                        1836
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 47,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 47,
                                          "column": 69
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "_a",
                                        "range": [
                                          1839,
                                          1841
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 47,
                                            "column": 72
                                          },
                                          "end": {
                                            "line": 47,
                                            "column": 74
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "_subscriptions",
                                        "range": [
                                          1842,
                                          1856
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 47,
                                            "column": 75
                                          },
                                          "end": {
                                            "line": 47,
                                            "column": 89
                                          }
                                        }
                                      },
                                      "range": [
                                        1839,
                                        1856
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 47,
                                          "column": 72
                                        },
                                        "end": {
                                          "line": 47,
                                          "column": 89
                                        }
                                      }
                                    },
                                    "range": [
                                      1822,
                                      1856
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 47,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 47,
                                        "column": 89
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  1775,
                                  1857
                                ],
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 90
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        1866,
                                        1870
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 48,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 48,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "_subscriptions",
                                      "range": [
                                        1871,
                                        1885
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 48,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 48,
                                          "column": 27
                                        }
                                      }
                                    },
                                    "range": [
                                      1866,
                                      1885
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 48,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 48,
                                        "column": 27
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Literal",
                                    "value": null,
                                    "raw": "null",
                                    "range": [
                                      1888,
                                      1892
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 48,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 48,
                                        "column": 34
                                      }
                                    }
                                  },
                                  "range": [
                                    1866,
                                    1892
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 48,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 48,
                                      "column": 34
                                    }
                                  }
                                },
                                "range": [
                                  1866,
                                  1893
                                ],
                                "loc": {
                                  "start": {
                                    "line": 48,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 48,
                                    "column": 35
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "Identifier",
                                    "name": "isFunction",
                                    "range": [
                                      1906,
                                      1916
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "name": "_unsubscribe",
                                      "range": [
                                        1917,
                                        1929
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 49,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 49,
                                          "column": 35
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    1906,
                                    1930
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 49,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 49,
                                      "column": 36
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "VariableDeclaration",
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "id": {
                                            "type": "Identifier",
                                            "name": "trial",
                                            "range": [
                                              1950,
                                              1955
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 50,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 50,
                                                "column": 21
                                              }
                                            }
                                          },
                                          "init": {
                                            "type": "CallExpression",
                                            "callee": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "CallExpression",
                                                "callee": {
                                                  "type": "Identifier",
                                                  "name": "tryCatch",
                                                  "range": [
                                                    1958,
                                                    1966
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 50,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 50,
                                                      "column": 32
                                                    }
                                                  }
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "name": "_unsubscribe",
                                                    "range": [
                                                      1967,
                                                      1979
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 50,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 50,
                                                        "column": 45
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  1958,
                                                  1980
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 50,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 50,
                                                    "column": 46
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "call",
                                                "range": [
                                                  1981,
                                                  1985
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 50,
                                                    "column": 47
                                                  },
                                                  "end": {
                                                    "line": 50,
                                                    "column": 51
                                                  }
                                                }
                                              },
                                              "range": [
                                                1958,
                                                1985
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 50,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 50,
                                                  "column": 51
                                                }
                                              }
                                            },
                                            "arguments": [
                                              {
                                                "type": "ThisExpression",
                                                "range": [
                                                  1986,
                                                  1990
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 50,
                                                    "column": 52
                                                  },
                                                  "end": {
                                                    "line": 50,
                                                    "column": 56
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              1958,
                                              1991
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 50,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 50,
                                                "column": 57
                                              }
                                            }
                                          },
                                          "range": [
                                            1950,
                                            1991
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 50,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 50,
                                              "column": 57
                                            }
                                          }
                                        }
                                      ],
                                      "kind": "var",
                                      "range": [
                                        1946,
                                        1992
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 50,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 50,
                                          "column": 58
                                        }
                                      }
                                    },
                                    {
                                      "type": "IfStatement",
                                      "test": {
                                        "type": "BinaryExpression",
                                        "operator": "===",
                                        "left": {
                                          "type": "Identifier",
                                          "name": "trial",
                                          "range": [
                                            2009,
                                            2014
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 51,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 51,
                                              "column": 21
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "Identifier",
                                          "name": "errorObject",
                                          "range": [
                                            2019,
                                            2030
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 51,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 51,
                                              "column": 37
                                            }
                                          }
                                        },
                                        "range": [
                                          2009,
                                          2030
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 51,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 51,
                                            "column": 37
                                          }
                                        }
                                      },
                                      "consequent": {
                                        "type": "BlockStatement",
                                        "body": [
                                          {
                                            "type": "ExpressionStatement",
                                            "expression": {
                                              "type": "AssignmentExpression",
                                              "operator": "=",
                                              "left": {
                                                "type": "Identifier",
                                                "name": "hasErrors",
                                                "range": [
                                                  2050,
                                                  2059
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 52,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 52,
                                                    "column": 25
                                                  }
                                                }
                                              },
                                              "right": {
                                                "type": "Literal",
                                                "value": true,
                                                "raw": "true",
                                                "range": [
                                                  2062,
                                                  2066
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 52,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 52,
                                                    "column": 32
                                                  }
                                                }
                                              },
                                              "range": [
                                                2050,
                                                2066
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 52,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 52,
                                                  "column": 32
                                                }
                                              }
                                            },
                                            "range": [
                                              2050,
                                              2067
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 52,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 52,
                                                "column": 33
                                              }
                                            }
                                          },
                                          {
                                            "type": "ExpressionStatement",
                                            "expression": {
                                              "type": "CallExpression",
                                              "callee": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "AssignmentExpression",
                                                  "operator": "=",
                                                  "left": {
                                                    "type": "Identifier",
                                                    "name": "errors",
                                                    "range": [
                                                      2085,
                                                      2091
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 53,
                                                        "column": 17
                                                      },
                                                      "end": {
                                                        "line": 53,
                                                        "column": 23
                                                      }
                                                    }
                                                  },
                                                  "right": {
                                                    "type": "LogicalExpression",
                                                    "operator": "||",
                                                    "left": {
                                                      "type": "Identifier",
                                                      "name": "errors",
                                                      "range": [
                                                        2094,
                                                        2100
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 53,
                                                          "column": 26
                                                        },
                                                        "end": {
                                                          "line": 53,
                                                          "column": 32
                                                        }
                                                      }
                                                    },
                                                    "right": {
                                                      "type": "ArrayExpression",
                                                      "elements": [],
                                                      "range": [
                                                        2104,
                                                        2106
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 53,
                                                          "column": 36
                                                        },
                                                        "end": {
                                                          "line": 53,
                                                          "column": 38
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      2094,
                                                      2106
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 53,
                                                        "column": 26
                                                      },
                                                      "end": {
                                                        "line": 53,
                                                        "column": 38
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    2085,
                                                    2106
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 53,
                                                      "column": 17
                                                    },
                                                    "end": {
                                                      "line": 53,
                                                      "column": 38
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "push",
                                                  "range": [
                                                    2108,
                                                    2112
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 53,
                                                      "column": 40
                                                    },
                                                    "end": {
                                                      "line": 53,
                                                      "column": 44
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  2084,
                                                  2112
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 53,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 53,
                                                    "column": 44
                                                  }
                                                }
                                              },
                                              "arguments": [
                                                {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "errorObject",
                                                    "range": [
                                                      2113,
                                                      2124
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 53,
                                                        "column": 45
                                                      },
                                                      "end": {
                                                        "line": 53,
                                                        "column": 56
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "e",
                                                    "range": [
                                                      2125,
                                                      2126
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 53,
                                                        "column": 57
                                                      },
                                                      "end": {
                                                        "line": 53,
                                                        "column": 58
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    2113,
                                                    2126
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 53,
                                                      "column": 45
                                                    },
                                                    "end": {
                                                      "line": 53,
                                                      "column": 58
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                2084,
                                                2127
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 53,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 53,
                                                  "column": 59
                                                }
                                              }
                                            },
                                            "range": [
                                              2084,
                                              2128
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 53,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 53,
                                                "column": 60
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          2032,
                                          2142
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 51,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 54,
                                            "column": 13
                                          }
                                        }
                                      },
                                      "alternate": null,
                                      "range": [
                                        2005,
                                        2142
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 51,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 54,
                                          "column": 13
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    1932,
                                    2152
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 49,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  1902,
                                  2152
                                ],
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "Identifier",
                                    "name": "isArray",
                                    "range": [
                                      2165,
                                      2172
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 56,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 56,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "name": "_subscriptions",
                                      "range": [
                                        2173,
                                        2187
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 56,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 56,
                                          "column": 34
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    2165,
                                    2188
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 35
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "VariableDeclaration",
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "id": {
                                            "type": "Identifier",
                                            "name": "index",
                                            "range": [
                                              2208,
                                              2213
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 57,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 57,
                                                "column": 21
                                              }
                                            }
                                          },
                                          "init": {
                                            "type": "UnaryExpression",
                                            "operator": "-",
                                            "argument": {
                                              "type": "Literal",
                                              "value": 1,
                                              "raw": "1",
                                              "range": [
                                                2217,
                                                2218
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 57,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 57,
                                                  "column": 26
                                                }
                                              }
                                            },
                                            "prefix": true,
                                            "range": [
                                              2216,
                                              2218
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 57,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 57,
                                                "column": 26
                                              }
                                            }
                                          },
                                          "range": [
                                            2208,
                                            2218
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 57,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 57,
                                              "column": 26
                                            }
                                          }
                                        }
                                      ],
                                      "kind": "var",
                                      "range": [
                                        2204,
                                        2219
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 57,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 57,
                                          "column": 27
                                        }
                                      }
                                    },
                                    {
                                      "type": "VariableDeclaration",
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "id": {
                                            "type": "Identifier",
                                            "name": "len",
                                            "range": [
                                              2236,
                                              2239
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 58,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 58,
                                                "column": 19
                                              }
                                            }
                                          },
                                          "init": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "_subscriptions",
                                              "range": [
                                                2242,
                                                2256
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 58,
                                                  "column": 22
                                                },
                                                "end": {
                                                  "line": 58,
                                                  "column": 36
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "length",
                                              "range": [
                                                2257,
                                                2263
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 58,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 58,
                                                  "column": 43
                                                }
                                              }
                                            },
                                            "range": [
                                              2242,
                                              2263
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 58,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 58,
                                                "column": 43
                                              }
                                            }
                                          },
                                          "range": [
                                            2236,
                                            2263
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 58,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 58,
                                              "column": 43
                                            }
                                          }
                                        }
                                      ],
                                      "kind": "var",
                                      "range": [
                                        2232,
                                        2264
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 58,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 58,
                                          "column": 44
                                        }
                                      }
                                    },
                                    {
                                      "type": "WhileStatement",
                                      "test": {
                                        "type": "BinaryExpression",
                                        "operator": "<",
                                        "left": {
                                          "type": "UpdateExpression",
                                          "operator": "++",
                                          "argument": {
                                            "type": "Identifier",
                                            "name": "index",
                                            "range": [
                                              2286,
                                              2291
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 59,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 59,
                                                "column": 26
                                              }
                                            }
                                          },
                                          "prefix": true,
                                          "range": [
                                            2284,
                                            2291
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 59,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 59,
                                              "column": 26
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "Identifier",
                                          "name": "len",
                                          "range": [
                                            2294,
                                            2297
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 59,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 59,
                                              "column": 32
                                            }
                                          }
                                        },
                                        "range": [
                                          2284,
                                          2297
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 59,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 59,
                                            "column": 32
                                          }
                                        }
                                      },
                                      "body": {
                                        "type": "BlockStatement",
                                        "body": [
                                          {
                                            "type": "VariableDeclaration",
                                            "declarations": [
                                              {
                                                "type": "VariableDeclarator",
                                                "id": {
                                                  "type": "Identifier",
                                                  "name": "sub",
                                                  "range": [
                                                    2321,
                                                    2324
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 60,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 60,
                                                      "column": 23
                                                    }
                                                  }
                                                },
                                                "init": {
                                                  "type": "MemberExpression",
                                                  "computed": true,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "_subscriptions",
                                                    "range": [
                                                      2327,
                                                      2341
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 60,
                                                        "column": 26
                                                      },
                                                      "end": {
                                                        "line": 60,
                                                        "column": 40
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "index",
                                                    "range": [
                                                      2342,
                                                      2347
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 60,
                                                        "column": 41
                                                      },
                                                      "end": {
                                                        "line": 60,
                                                        "column": 46
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    2327,
                                                    2348
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 60,
                                                      "column": 26
                                                    },
                                                    "end": {
                                                      "line": 60,
                                                      "column": 47
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  2321,
                                                  2348
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 60,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 60,
                                                    "column": 47
                                                  }
                                                }
                                              }
                                            ],
                                            "kind": "var",
                                            "range": [
                                              2317,
                                              2349
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 60,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 60,
                                                "column": 48
                                              }
                                            }
                                          },
                                          {
                                            "type": "IfStatement",
                                            "test": {
                                              "type": "CallExpression",
                                              "callee": {
                                                "type": "Identifier",
                                                "name": "isObject",
                                                "range": [
                                                  2370,
                                                  2378
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 61,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 61,
                                                    "column": 28
                                                  }
                                                }
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "name": "sub",
                                                  "range": [
                                                    2379,
                                                    2382
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 61,
                                                      "column": 29
                                                    },
                                                    "end": {
                                                      "line": 61,
                                                      "column": 32
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                2370,
                                                2383
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 61,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 61,
                                                  "column": 33
                                                }
                                              }
                                            },
                                            "consequent": {
                                              "type": "BlockStatement",
                                              "body": [
                                                {
                                                  "type": "VariableDeclaration",
                                                  "declarations": [
                                                    {
                                                      "type": "VariableDeclarator",
                                                      "id": {
                                                        "type": "Identifier",
                                                        "name": "trial",
                                                        "range": [
                                                          2411,
                                                          2416
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 62,
                                                            "column": 24
                                                          },
                                                          "end": {
                                                            "line": 62,
                                                            "column": 29
                                                          }
                                                        }
                                                      },
                                                      "init": {
                                                        "type": "CallExpression",
                                                        "callee": {
                                                          "type": "MemberExpression",
                                                          "computed": false,
                                                          "object": {
                                                            "type": "CallExpression",
                                                            "callee": {
                                                              "type": "Identifier",
                                                              "name": "tryCatch",
                                                              "range": [
                                                                2419,
                                                                2427
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 62,
                                                                  "column": 32
                                                                },
                                                                "end": {
                                                                  "line": 62,
                                                                  "column": 40
                                                                }
                                                              }
                                                            },
                                                            "arguments": [
                                                              {
                                                                "type": "MemberExpression",
                                                                "computed": false,
                                                                "object": {
                                                                  "type": "Identifier",
                                                                  "name": "sub",
                                                                  "range": [
                                                                    2428,
                                                                    2431
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 62,
                                                                      "column": 41
                                                                    },
                                                                    "end": {
                                                                      "line": 62,
                                                                      "column": 44
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "name": "unsubscribe",
                                                                  "range": [
                                                                    2432,
                                                                    2443
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 62,
                                                                      "column": 45
                                                                    },
                                                                    "end": {
                                                                      "line": 62,
                                                                      "column": 56
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  2428,
                                                                  2443
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 62,
                                                                    "column": 41
                                                                  },
                                                                  "end": {
                                                                    "line": 62,
                                                                    "column": 56
                                                                  }
                                                                }
                                                              }
                                                            ],
                                                            "range": [
                                                              2419,
                                                              2444
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 62,
                                                                "column": 32
                                                              },
                                                              "end": {
                                                                "line": 62,
                                                                "column": 57
                                                              }
                                                            }
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "name": "call",
                                                            "range": [
                                                              2445,
                                                              2449
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 62,
                                                                "column": 58
                                                              },
                                                              "end": {
                                                                "line": 62,
                                                                "column": 62
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            2419,
                                                            2449
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 62,
                                                              "column": 32
                                                            },
                                                            "end": {
                                                              "line": 62,
                                                              "column": 62
                                                            }
                                                          }
                                                        },
                                                        "arguments": [
                                                          {
                                                            "type": "Identifier",
                                                            "name": "sub",
                                                            "range": [
                                                              2450,
                                                              2453
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 62,
                                                                "column": 63
                                                              },
                                                              "end": {
                                                                "line": 62,
                                                                "column": 66
                                                              }
                                                            }
                                                          }
                                                        ],
                                                        "range": [
                                                          2419,
                                                          2454
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 62,
                                                            "column": 32
                                                          },
                                                          "end": {
                                                            "line": 62,
                                                            "column": 67
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        2411,
                                                        2454
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 62,
                                                          "column": 24
                                                        },
                                                        "end": {
                                                          "line": 62,
                                                          "column": 67
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "kind": "var",
                                                  "range": [
                                                    2407,
                                                    2455
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 62,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 62,
                                                      "column": 68
                                                    }
                                                  }
                                                },
                                                {
                                                  "type": "IfStatement",
                                                  "test": {
                                                    "type": "BinaryExpression",
                                                    "operator": "===",
                                                    "left": {
                                                      "type": "Identifier",
                                                      "name": "trial",
                                                      "range": [
                                                        2480,
                                                        2485
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 63,
                                                          "column": 24
                                                        },
                                                        "end": {
                                                          "line": 63,
                                                          "column": 29
                                                        }
                                                      }
                                                    },
                                                    "right": {
                                                      "type": "Identifier",
                                                      "name": "errorObject",
                                                      "range": [
                                                        2490,
                                                        2501
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 63,
                                                          "column": 34
                                                        },
                                                        "end": {
                                                          "line": 63,
                                                          "column": 45
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      2480,
                                                      2501
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 63,
                                                        "column": 24
                                                      },
                                                      "end": {
                                                        "line": 63,
                                                        "column": 45
                                                      }
                                                    }
                                                  },
                                                  "consequent": {
                                                    "type": "BlockStatement",
                                                    "body": [
                                                      {
                                                        "type": "ExpressionStatement",
                                                        "expression": {
                                                          "type": "AssignmentExpression",
                                                          "operator": "=",
                                                          "left": {
                                                            "type": "Identifier",
                                                            "name": "hasErrors",
                                                            "range": [
                                                              2529,
                                                              2538
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 64,
                                                                "column": 24
                                                              },
                                                              "end": {
                                                                "line": 64,
                                                                "column": 33
                                                              }
                                                            }
                                                          },
                                                          "right": {
                                                            "type": "Literal",
                                                            "value": true,
                                                            "raw": "true",
                                                            "range": [
                                                              2541,
                                                              2545
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 64,
                                                                "column": 36
                                                              },
                                                              "end": {
                                                                "line": 64,
                                                                "column": 40
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            2529,
                                                            2545
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 64,
                                                              "column": 24
                                                            },
                                                            "end": {
                                                              "line": 64,
                                                              "column": 40
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          2529,
                                                          2546
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 64,
                                                            "column": 24
                                                          },
                                                          "end": {
                                                            "line": 64,
                                                            "column": 41
                                                          }
                                                        }
                                                      },
                                                      {
                                                        "type": "ExpressionStatement",
                                                        "expression": {
                                                          "type": "AssignmentExpression",
                                                          "operator": "=",
                                                          "left": {
                                                            "type": "Identifier",
                                                            "name": "errors",
                                                            "range": [
                                                              2571,
                                                              2577
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 65,
                                                                "column": 24
                                                              },
                                                              "end": {
                                                                "line": 65,
                                                                "column": 30
                                                              }
                                                            }
                                                          },
                                                          "right": {
                                                            "type": "LogicalExpression",
                                                            "operator": "||",
                                                            "left": {
                                                              "type": "Identifier",
                                                              "name": "errors",
                                                              "range": [
                                                                2580,
                                                                2586
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 65,
                                                                  "column": 33
                                                                },
                                                                "end": {
                                                                  "line": 65,
                                                                  "column": 39
                                                                }
                                                              }
                                                            },
                                                            "right": {
                                                              "type": "ArrayExpression",
                                                              "elements": [],
                                                              "range": [
                                                                2590,
                                                                2592
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 65,
                                                                  "column": 43
                                                                },
                                                                "end": {
                                                                  "line": 65,
                                                                  "column": 45
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              2580,
                                                              2592
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 65,
                                                                "column": 33
                                                              },
                                                              "end": {
                                                                "line": 65,
                                                                "column": 45
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            2571,
                                                            2592
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 65,
                                                              "column": 24
                                                            },
                                                            "end": {
                                                              "line": 65,
                                                              "column": 45
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          2571,
                                                          2593
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 65,
                                                            "column": 24
                                                          },
                                                          "end": {
                                                            "line": 65,
                                                            "column": 46
                                                          }
                                                        }
                                                      },
                                                      {
                                                        "type": "VariableDeclaration",
                                                        "declarations": [
                                                          {
                                                            "type": "VariableDeclarator",
                                                            "id": {
                                                              "type": "Identifier",
                                                              "name": "err",
                                                              "range": [
                                                                2622,
                                                                2625
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 66,
                                                                  "column": 28
                                                                },
                                                                "end": {
                                                                  "line": 66,
                                                                  "column": 31
                                                                }
                                                              }
                                                            },
                                                            "init": {
                                                              "type": "MemberExpression",
                                                              "computed": false,
                                                              "object": {
                                                                "type": "Identifier",
                                                                "name": "errorObject",
                                                                "range": [
                                                                  2628,
                                                                  2639
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 66,
                                                                    "column": 34
                                                                  },
                                                                  "end": {
                                                                    "line": 66,
                                                                    "column": 45
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "name": "e",
                                                                "range": [
                                                                  2640,
                                                                  2641
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 66,
                                                                    "column": 46
                                                                  },
                                                                  "end": {
                                                                    "line": 66,
                                                                    "column": 47
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                2628,
                                                                2641
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 66,
                                                                  "column": 34
                                                                },
                                                                "end": {
                                                                  "line": 66,
                                                                  "column": 47
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              2622,
                                                              2641
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 66,
                                                                "column": 28
                                                              },
                                                              "end": {
                                                                "line": 66,
                                                                "column": 47
                                                              }
                                                            }
                                                          }
                                                        ],
                                                        "kind": "var",
                                                        "range": [
                                                          2618,
                                                          2642
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 66,
                                                            "column": 24
                                                          },
                                                          "end": {
                                                            "line": 66,
                                                            "column": 48
                                                          }
                                                        }
                                                      },
                                                      {
                                                        "type": "IfStatement",
                                                        "test": {
                                                          "type": "BinaryExpression",
                                                          "operator": "instanceof",
                                                          "left": {
                                                            "type": "Identifier",
                                                            "name": "err",
                                                            "range": [
                                                              2671,
                                                              2674
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 67,
                                                                "column": 28
                                                              },
                                                              "end": {
                                                                "line": 67,
                                                                "column": 31
                                                              }
                                                            }
                                                          },
                                                          "right": {
                                                            "type": "Identifier",
                                                            "name": "UnsubscriptionError",
                                                            "range": [
                                                              2686,
                                                              2705
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 67,
                                                                "column": 43
                                                              },
                                                              "end": {
                                                                "line": 67,
                                                                "column": 62
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            2671,
                                                            2705
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 67,
                                                              "column": 28
                                                            },
                                                            "end": {
                                                              "line": 67,
                                                              "column": 62
                                                            }
                                                          }
                                                        },
                                                        "consequent": {
                                                          "type": "BlockStatement",
                                                          "body": [
                                                            {
                                                              "type": "ExpressionStatement",
                                                              "expression": {
                                                                "type": "AssignmentExpression",
                                                                "operator": "=",
                                                                "left": {
                                                                  "type": "Identifier",
                                                                  "name": "errors",
                                                                  "range": [
                                                                    2737,
                                                                    2743
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 68,
                                                                      "column": 28
                                                                    },
                                                                    "end": {
                                                                      "line": 68,
                                                                      "column": 34
                                                                    }
                                                                  }
                                                                },
                                                                "right": {
                                                                  "type": "CallExpression",
                                                                  "callee": {
                                                                    "type": "MemberExpression",
                                                                    "computed": false,
                                                                    "object": {
                                                                      "type": "Identifier",
                                                                      "name": "errors",
                                                                      "range": [
                                                                        2746,
                                                                        2752
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 68,
                                                                          "column": 37
                                                                        },
                                                                        "end": {
                                                                          "line": 68,
                                                                          "column": 43
                                                                        }
                                                                      }
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "name": "concat",
                                                                      "range": [
                                                                        2753,
                                                                        2759
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 68,
                                                                          "column": 44
                                                                        },
                                                                        "end": {
                                                                          "line": 68,
                                                                          "column": 50
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      2746,
                                                                      2759
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 68,
                                                                        "column": 37
                                                                      },
                                                                      "end": {
                                                                        "line": 68,
                                                                        "column": 50
                                                                      }
                                                                    }
                                                                  },
                                                                  "arguments": [
                                                                    {
                                                                      "type": "MemberExpression",
                                                                      "computed": false,
                                                                      "object": {
                                                                        "type": "Identifier",
                                                                        "name": "err",
                                                                        "range": [
                                                                          2760,
                                                                          2763
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 68,
                                                                            "column": 51
                                                                          },
                                                                          "end": {
                                                                            "line": 68,
                                                                            "column": 54
                                                                          }
                                                                        }
                                                                      },
                                                                      "property": {
                                                                        "type": "Identifier",
                                                                        "name": "errors",
                                                                        "range": [
                                                                          2764,
                                                                          2770
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 68,
                                                                            "column": 55
                                                                          },
                                                                          "end": {
                                                                            "line": 68,
                                                                            "column": 61
                                                                          }
                                                                        }
                                                                      },
                                                                      "range": [
                                                                        2760,
                                                                        2770
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 68,
                                                                          "column": 51
                                                                        },
                                                                        "end": {
                                                                          "line": 68,
                                                                          "column": 61
                                                                        }
                                                                      }
                                                                    }
                                                                  ],
                                                                  "range": [
                                                                    2746,
                                                                    2771
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 68,
                                                                      "column": 37
                                                                    },
                                                                    "end": {
                                                                      "line": 68,
                                                                      "column": 62
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  2737,
                                                                  2771
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 68,
                                                                    "column": 28
                                                                  },
                                                                  "end": {
                                                                    "line": 68,
                                                                    "column": 62
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                2737,
                                                                2772
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 68,
                                                                  "column": 28
                                                                },
                                                                "end": {
                                                                  "line": 68,
                                                                  "column": 63
                                                                }
                                                              }
                                                            }
                                                          ],
                                                          "range": [
                                                            2707,
                                                            2798
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 67,
                                                              "column": 64
                                                            },
                                                            "end": {
                                                              "line": 69,
                                                              "column": 25
                                                            }
                                                          }
                                                        },
                                                        "alternate": {
                                                          "type": "BlockStatement",
                                                          "body": [
                                                            {
                                                              "type": "ExpressionStatement",
                                                              "expression": {
                                                                "type": "CallExpression",
                                                                "callee": {
                                                                  "type": "MemberExpression",
                                                                  "computed": false,
                                                                  "object": {
                                                                    "type": "Identifier",
                                                                    "name": "errors",
                                                                    "range": [
                                                                      2858,
                                                                      2864
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 71,
                                                                        "column": 28
                                                                      },
                                                                      "end": {
                                                                        "line": 71,
                                                                        "column": 34
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "push",
                                                                    "range": [
                                                                      2865,
                                                                      2869
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 71,
                                                                        "column": 35
                                                                      },
                                                                      "end": {
                                                                        "line": 71,
                                                                        "column": 39
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    2858,
                                                                    2869
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 71,
                                                                      "column": 28
                                                                    },
                                                                    "end": {
                                                                      "line": 71,
                                                                      "column": 39
                                                                    }
                                                                  }
                                                                },
                                                                "arguments": [
                                                                  {
                                                                    "type": "Identifier",
                                                                    "name": "err",
                                                                    "range": [
                                                                      2870,
                                                                      2873
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 71,
                                                                        "column": 40
                                                                      },
                                                                      "end": {
                                                                        "line": 71,
                                                                        "column": 43
                                                                      }
                                                                    }
                                                                  }
                                                                ],
                                                                "range": [
                                                                  2858,
                                                                  2874
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 71,
                                                                    "column": 28
                                                                  },
                                                                  "end": {
                                                                    "line": 71,
                                                                    "column": 44
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                2858,
                                                                2875
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 71,
                                                                  "column": 28
                                                                },
                                                                "end": {
                                                                  "line": 71,
                                                                  "column": 45
                                                                }
                                                              }
                                                            }
                                                          ],
                                                          "range": [
                                                            2828,
                                                            2901
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 70,
                                                              "column": 29
                                                            },
                                                            "end": {
                                                              "line": 72,
                                                              "column": 25
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          2667,
                                                          2901
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 67,
                                                            "column": 24
                                                          },
                                                          "end": {
                                                            "line": 72,
                                                            "column": 25
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "range": [
                                                      2503,
                                                      2923
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 63,
                                                        "column": 47
                                                      },
                                                      "end": {
                                                        "line": 73,
                                                        "column": 21
                                                      }
                                                    }
                                                  },
                                                  "alternate": null,
                                                  "range": [
                                                    2476,
                                                    2923
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 63,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 73,
                                                      "column": 21
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                2385,
                                                2941
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 61,
                                                  "column": 35
                                                },
                                                "end": {
                                                  "line": 74,
                                                  "column": 17
                                                }
                                              }
                                            },
                                            "alternate": null,
                                            "range": [
                                              2366,
                                              2941
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 61,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 74,
                                                "column": 17
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          2299,
                                          2955
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 59,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 75,
                                            "column": 13
                                          }
                                        }
                                      },
                                      "range": [
                                        2277,
                                        2955
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 59,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 75,
                                          "column": 13
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    2190,
                                    2965
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 76,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  2161,
                                  2965
                                ],
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 76,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "Identifier",
                                  "name": "hasErrors",
                                  "range": [
                                    2978,
                                    2987
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 77,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 77,
                                      "column": 21
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ThrowStatement",
                                      "argument": {
                                        "type": "NewExpression",
                                        "callee": {
                                          "type": "Identifier",
                                          "name": "UnsubscriptionError",
                                          "range": [
                                            3013,
                                            3032
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 78,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 78,
                                              "column": 41
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "errors",
                                            "range": [
                                              3033,
                                              3039
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 78,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 78,
                                                "column": 48
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          3009,
                                          3040
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 78,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 78,
                                            "column": 49
                                          }
                                        }
                                      },
                                      "range": [
                                        3003,
                                        3041
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 50
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    2989,
                                    3051
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 77,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  2974,
                                  3051
                                ],
                                "loc": {
                                  "start": {
                                    "line": 77,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 9
                                  }
                                }
                              }
                            ],
                            "range": [
                              1629,
                              3057
                            ],
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 53
                              },
                              "end": {
                                "line": 80,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            1617,
                            3057
                          ],
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 41
                            },
                            "end": {
                              "line": 80,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          1580,
                          3057
                        ],
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 4
                          },
                          "end": {
                            "line": 80,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1580,
                        3058
                      ],
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 4
                        },
                        "end": {
                          "line": 80,
                          "column": 6
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "*\n     * Disposes the resources held by the subscription. May, for instance, cancel\n     * an ongoing Observable execution or cancel any other type of work that\n     * started when the Subscription was created.\n     * @return {void}\n     ",
                          "range": [
                            1333,
                            1575
                          ],
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 4
                            },
                            "end": {
                              "line": 39,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "Block",
                          "value": "*\n     * Adds a tear down to be called during the unsubscribe() of this\n     * Subscription.\n     *\n     * If the tear down being added is a subscription that is already\n     * unsubscribed, is the same reference `add` is being called on, or is\n     * `Subscription.EMPTY`, it will not be added.\n     *\n     * If this subscription is already in an `closed` state, the passed\n     * tear down logic will be executed immediately.\n     *\n     * @param {TeardownLogic} teardown The additional logic to execute on\n     * teardown.\n     * @return {Subscription} Returns the Subscription used or created to be\n     * added to the inner subscriptions list. This Subscription can be used with\n     * `remove()` to remove the passed teardown logic from the inner subscriptions\n     * list.\n     ",
                          "range": [
                            3063,
                            3852
                          ],
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 4
                            },
                            "end": {
                              "line": 98,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "Subscription",
                              "range": [
                                3857,
                                3869
                              ],
                              "loc": {
                                "start": {
                                  "line": 99,
                                  "column": 4
                                },
                                "end": {
                                  "line": 99,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                3870,
                                3879
                              ],
                              "loc": {
                                "start": {
                                  "line": 99,
                                  "column": 17
                                },
                                "end": {
                                  "line": 99,
                                  "column": 26
                                }
                              }
                            },
                            "range": [
                              3857,
                              3879
                            ],
                            "loc": {
                              "start": {
                                "line": 99,
                                "column": 4
                              },
                              "end": {
                                "line": 99,
                                "column": 26
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "add",
                            "range": [
                              3880,
                              3883
                            ],
                            "loc": {
                              "start": {
                                "line": 99,
                                "column": 27
                              },
                              "end": {
                                "line": 99,
                                "column": 30
                              }
                            }
                          },
                          "range": [
                            3857,
                            3883
                          ],
                          "loc": {
                            "start": {
                              "line": 99,
                              "column": 4
                            },
                            "end": {
                              "line": 99,
                              "column": 30
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "teardown",
                              "range": [
                                3896,
                                3904
                              ],
                              "loc": {
                                "start": {
                                  "line": 99,
                                  "column": 43
                                },
                                "end": {
                                  "line": 99,
                                  "column": 51
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "LogicalExpression",
                                  "operator": "||",
                                  "left": {
                                    "type": "UnaryExpression",
                                    "operator": "!",
                                    "argument": {
                                      "type": "Identifier",
                                      "name": "teardown",
                                      "range": [
                                        3921,
                                        3929
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 100,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 100,
                                          "column": 21
                                        }
                                      }
                                    },
                                    "prefix": true,
                                    "range": [
                                      3920,
                                      3929
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 100,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 100,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "BinaryExpression",
                                    "operator": "===",
                                    "left": {
                                      "type": "Identifier",
                                      "name": "teardown",
                                      "range": [
                                        3934,
                                        3942
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 100,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 100,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "Subscription",
                                        "range": [
                                          3947,
                                          3959
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 100,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 100,
                                            "column": 51
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "EMPTY",
                                        "range": [
                                          3960,
                                          3965
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 100,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 100,
                                            "column": 57
                                          }
                                        }
                                      },
                                      "range": [
                                        3947,
                                        3965
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 100,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 100,
                                          "column": 57
                                        }
                                      }
                                    },
                                    "range": [
                                      3934,
                                      3965
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 100,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 100,
                                        "column": 57
                                      }
                                    }
                                  },
                                  "range": [
                                    3920,
                                    3966
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 100,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 100,
                                      "column": 58
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ReturnStatement",
                                      "argument": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "Subscription",
                                          "range": [
                                            3989,
                                            4001
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 101,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 101,
                                              "column": 31
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "EMPTY",
                                          "range": [
                                            4002,
                                            4007
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 101,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 101,
                                              "column": 37
                                            }
                                          }
                                        },
                                        "range": [
                                          3989,
                                          4007
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 101,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 101,
                                            "column": 37
                                          }
                                        }
                                      },
                                      "range": [
                                        3982,
                                        4008
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 101,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 101,
                                          "column": 38
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    3968,
                                    4018
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 100,
                                      "column": 60
                                    },
                                    "end": {
                                      "line": 102,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  3916,
                                  4018
                                ],
                                "loc": {
                                  "start": {
                                    "line": 100,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 102,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "BinaryExpression",
                                  "operator": "===",
                                  "left": {
                                    "type": "Identifier",
                                    "name": "teardown",
                                    "range": [
                                      4031,
                                      4039
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 103,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 103,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "ThisExpression",
                                    "range": [
                                      4044,
                                      4048
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 103,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 103,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "range": [
                                    4031,
                                    4048
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 103,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 103,
                                      "column": 29
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ReturnStatement",
                                      "argument": {
                                        "type": "ThisExpression",
                                        "range": [
                                          4071,
                                          4075
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 104,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 104,
                                            "column": 23
                                          }
                                        }
                                      },
                                      "range": [
                                        4064,
                                        4076
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 104,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 104,
                                          "column": 24
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    4050,
                                    4086
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 103,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 105,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  4027,
                                  4086
                                ],
                                "loc": {
                                  "start": {
                                    "line": 103,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 105,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "sub",
                                      "range": [
                                        4099,
                                        4102
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 106,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 106,
                                          "column": 15
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "Identifier",
                                      "name": "teardown",
                                      "range": [
                                        4105,
                                        4113
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 106,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 106,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "range": [
                                      4099,
                                      4113
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 106,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 106,
                                        "column": 26
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  4095,
                                  4114
                                ],
                                "loc": {
                                  "start": {
                                    "line": 106,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 106,
                                    "column": 27
                                  }
                                }
                              },
                              {
                                "type": "SwitchStatement",
                                "discriminant": {
                                  "type": "UnaryExpression",
                                  "operator": "typeof",
                                  "argument": {
                                    "type": "Identifier",
                                    "name": "teardown",
                                    "range": [
                                      4138,
                                      4146
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 107,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 31
                                      }
                                    }
                                  },
                                  "prefix": true,
                                  "range": [
                                    4131,
                                    4146
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 107,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 107,
                                      "column": 31
                                    }
                                  }
                                },
                                "cases": [
                                  {
                                    "type": "SwitchCase",
                                    "test": {
                                      "type": "Literal",
                                      "value": "function",
                                      "raw": "'function'",
                                      "range": [
                                        4167,
                                        4177
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 108,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 108,
                                          "column": 27
                                        }
                                      }
                                    },
                                    "consequent": [
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "operator": "=",
                                          "left": {
                                            "type": "Identifier",
                                            "name": "sub",
                                            "range": [
                                              4195,
                                              4198
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 109,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 109,
                                                "column": 19
                                              }
                                            }
                                          },
                                          "right": {
                                            "type": "NewExpression",
                                            "callee": {
                                              "type": "Identifier",
                                              "name": "Subscription",
                                              "range": [
                                                4205,
                                                4217
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 109,
                                                  "column": 26
                                                },
                                                "end": {
                                                  "line": 109,
                                                  "column": 38
                                                }
                                              }
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "name": "teardown",
                                                "range": [
                                                  4218,
                                                  4226
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 109,
                                                    "column": 39
                                                  },
                                                  "end": {
                                                    "line": 109,
                                                    "column": 47
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              4201,
                                              4227
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 109,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 109,
                                                "column": 48
                                              }
                                            }
                                          },
                                          "range": [
                                            4195,
                                            4227
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 109,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 109,
                                              "column": 48
                                            }
                                          }
                                        },
                                        "range": [
                                          4195,
                                          4228
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 109,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 109,
                                            "column": 49
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      4162,
                                      4228
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 108,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 109,
                                        "column": 49
                                      }
                                    }
                                  },
                                  {
                                    "type": "SwitchCase",
                                    "test": {
                                      "type": "Literal",
                                      "value": "object",
                                      "raw": "'object'",
                                      "range": [
                                        4246,
                                        4254
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 110,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 110,
                                          "column": 25
                                        }
                                      }
                                    },
                                    "consequent": [
                                      {
                                        "type": "IfStatement",
                                        "test": {
                                          "type": "LogicalExpression",
                                          "operator": "||",
                                          "left": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "sub",
                                              "range": [
                                                4276,
                                                4279
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 111,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 111,
                                                  "column": 23
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "closed",
                                              "range": [
                                                4280,
                                                4286
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 111,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 111,
                                                  "column": 30
                                                }
                                              }
                                            },
                                            "range": [
                                              4276,
                                              4286
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 111,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 111,
                                                "column": 30
                                              }
                                            }
                                          },
                                          "right": {
                                            "type": "BinaryExpression",
                                            "operator": "!==",
                                            "left": {
                                              "type": "UnaryExpression",
                                              "operator": "typeof",
                                              "argument": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "sub",
                                                  "range": [
                                                    4297,
                                                    4300
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 111,
                                                      "column": 41
                                                    },
                                                    "end": {
                                                      "line": 111,
                                                      "column": 44
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "unsubscribe",
                                                  "range": [
                                                    4301,
                                                    4312
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 111,
                                                      "column": 45
                                                    },
                                                    "end": {
                                                      "line": 111,
                                                      "column": 56
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  4297,
                                                  4312
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 111,
                                                    "column": 41
                                                  },
                                                  "end": {
                                                    "line": 111,
                                                    "column": 56
                                                  }
                                                }
                                              },
                                              "prefix": true,
                                              "range": [
                                                4290,
                                                4312
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 111,
                                                  "column": 34
                                                },
                                                "end": {
                                                  "line": 111,
                                                  "column": 56
                                                }
                                              }
                                            },
                                            "right": {
                                              "type": "Literal",
                                              "value": "function",
                                              "raw": "'function'",
                                              "range": [
                                                4317,
                                                4327
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 111,
                                                  "column": 61
                                                },
                                                "end": {
                                                  "line": 111,
                                                  "column": 71
                                                }
                                              }
                                            },
                                            "range": [
                                              4290,
                                              4327
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 111,
                                                "column": 34
                                              },
                                              "end": {
                                                "line": 111,
                                                "column": 71
                                              }
                                            }
                                          },
                                          "range": [
                                            4276,
                                            4327
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 111,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 111,
                                              "column": 71
                                            }
                                          }
                                        },
                                        "consequent": {
                                          "type": "BlockStatement",
                                          "body": [
                                            {
                                              "type": "BreakStatement",
                                              "label": null,
                                              "range": [
                                                4351,
                                                4357
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 112,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 112,
                                                  "column": 26
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            4329,
                                            4375
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 111,
                                              "column": 73
                                            },
                                            "end": {
                                              "line": 113,
                                              "column": 17
                                            }
                                          }
                                        },
                                        "alternate": {
                                          "type": "IfStatement",
                                          "test": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                4401,
                                                4405
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 114,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 114,
                                                  "column": 29
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "closed",
                                              "range": [
                                                4406,
                                                4412
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 114,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 114,
                                                  "column": 36
                                                }
                                              }
                                            },
                                            "range": [
                                              4401,
                                              4412
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 114,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 114,
                                                "column": 36
                                              }
                                            }
                                          },
                                          "consequent": {
                                            "type": "BlockStatement",
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "Identifier",
                                                      "name": "sub",
                                                      "range": [
                                                        4436,
                                                        4439
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 115,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 115,
                                                          "column": 23
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "unsubscribe",
                                                      "range": [
                                                        4440,
                                                        4451
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 115,
                                                          "column": 24
                                                        },
                                                        "end": {
                                                          "line": 115,
                                                          "column": 35
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      4436,
                                                      4451
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 115,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 115,
                                                        "column": 35
                                                      }
                                                    }
                                                  },
                                                  "arguments": [],
                                                  "range": [
                                                    4436,
                                                    4453
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 115,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 115,
                                                      "column": 37
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  4436,
                                                  4454
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 115,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 115,
                                                    "column": 38
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              4414,
                                              4472
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 114,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 116,
                                                "column": 17
                                              }
                                            }
                                          },
                                          "alternate": {
                                            "type": "BlockStatement",
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "LogicalExpression",
                                                      "operator": "||",
                                                      "left": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "ThisExpression",
                                                          "range": [
                                                            4517,
                                                            4521
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 118,
                                                              "column": 21
                                                            },
                                                            "end": {
                                                              "line": 118,
                                                              "column": 25
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "_subscriptions",
                                                          "range": [
                                                            4522,
                                                            4536
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 118,
                                                              "column": 26
                                                            },
                                                            "end": {
                                                              "line": 118,
                                                              "column": 40
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          4517,
                                                          4536
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 118,
                                                            "column": 21
                                                          },
                                                          "end": {
                                                            "line": 118,
                                                            "column": 40
                                                          }
                                                        }
                                                      },
                                                      "right": {
                                                        "type": "AssignmentExpression",
                                                        "operator": "=",
                                                        "left": {
                                                          "type": "MemberExpression",
                                                          "computed": false,
                                                          "object": {
                                                            "type": "ThisExpression",
                                                            "range": [
                                                              4541,
                                                              4545
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 118,
                                                                "column": 45
                                                              },
                                                              "end": {
                                                                "line": 118,
                                                                "column": 49
                                                              }
                                                            }
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "name": "_subscriptions",
                                                            "range": [
                                                              4546,
                                                              4560
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 118,
                                                                "column": 50
                                                              },
                                                              "end": {
                                                                "line": 118,
                                                                "column": 64
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            4541,
                                                            4560
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 118,
                                                              "column": 45
                                                            },
                                                            "end": {
                                                              "line": 118,
                                                              "column": 64
                                                            }
                                                          }
                                                        },
                                                        "right": {
                                                          "type": "ArrayExpression",
                                                          "elements": [],
                                                          "range": [
                                                            4563,
                                                            4565
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 118,
                                                              "column": 67
                                                            },
                                                            "end": {
                                                              "line": 118,
                                                              "column": 69
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          4541,
                                                          4565
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 118,
                                                            "column": 45
                                                          },
                                                          "end": {
                                                            "line": 118,
                                                            "column": 69
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        4517,
                                                        4566
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 118,
                                                          "column": 21
                                                        },
                                                        "end": {
                                                          "line": 118,
                                                          "column": 70
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "push",
                                                      "range": [
                                                        4568,
                                                        4572
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 118,
                                                          "column": 72
                                                        },
                                                        "end": {
                                                          "line": 118,
                                                          "column": 76
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      4516,
                                                      4572
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 118,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 118,
                                                        "column": 76
                                                      }
                                                    }
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "Identifier",
                                                      "name": "sub",
                                                      "range": [
                                                        4573,
                                                        4576
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 118,
                                                          "column": 77
                                                        },
                                                        "end": {
                                                          "line": 118,
                                                          "column": 80
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "range": [
                                                    4516,
                                                    4577
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 118,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 118,
                                                      "column": 81
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  4516,
                                                  4578
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 118,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 118,
                                                    "column": 82
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              4494,
                                              4596
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 117,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 119,
                                                "column": 17
                                              }
                                            }
                                          },
                                          "range": [
                                            4397,
                                            4596
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 114,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 119,
                                              "column": 17
                                            }
                                          }
                                        },
                                        "range": [
                                          4272,
                                          4596
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 111,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 119,
                                            "column": 17
                                          }
                                        }
                                      },
                                      {
                                        "type": "BreakStatement",
                                        "label": null,
                                        "range": [
                                          4613,
                                          4619
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 120,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 120,
                                            "column": 22
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      4241,
                                      4619
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 110,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 22
                                      }
                                    }
                                  },
                                  {
                                    "type": "SwitchCase",
                                    "test": null,
                                    "consequent": [
                                      {
                                        "type": "ThrowStatement",
                                        "argument": {
                                          "type": "NewExpression",
                                          "callee": {
                                            "type": "Identifier",
                                            "name": "Error",
                                            "range": [
                                              4667,
                                              4672
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 122,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 122,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "BinaryExpression",
                                              "operator": "+",
                                              "left": {
                                                "type": "BinaryExpression",
                                                "operator": "+",
                                                "left": {
                                                  "type": "Literal",
                                                  "value": "unrecognized teardown ",
                                                  "raw": "'unrecognized teardown '",
                                                  "range": [
                                                    4673,
                                                    4697
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 122,
                                                      "column": 32
                                                    },
                                                    "end": {
                                                      "line": 122,
                                                      "column": 56
                                                    }
                                                  }
                                                },
                                                "right": {
                                                  "type": "Identifier",
                                                  "name": "teardown",
                                                  "range": [
                                                    4700,
                                                    4708
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 122,
                                                      "column": 59
                                                    },
                                                    "end": {
                                                      "line": 122,
                                                      "column": 67
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  4673,
                                                  4708
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 122,
                                                    "column": 32
                                                  },
                                                  "end": {
                                                    "line": 122,
                                                    "column": 67
                                                  }
                                                }
                                              },
                                              "right": {
                                                "type": "Literal",
                                                "value": " added to Subscription.",
                                                "raw": "' added to Subscription.'",
                                                "range": [
                                                  4711,
                                                  4736
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 122,
                                                    "column": 70
                                                  },
                                                  "end": {
                                                    "line": 122,
                                                    "column": 95
                                                  }
                                                }
                                              },
                                              "range": [
                                                4673,
                                                4736
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 122,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 122,
                                                  "column": 95
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            4663,
                                            4737
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 122,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 122,
                                              "column": 96
                                            }
                                          }
                                        },
                                        "range": [
                                          4657,
                                          4738
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 122,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 122,
                                            "column": 97
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      4632,
                                      4738
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 121,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 122,
                                        "column": 97
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  4123,
                                  4748
                                ],
                                "loc": {
                                  "start": {
                                    "line": 107,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 123,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "ReturnStatement",
                                "argument": {
                                  "type": "Identifier",
                                  "name": "sub",
                                  "range": [
                                    4764,
                                    4767
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 124,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 124,
                                      "column": 18
                                    }
                                  }
                                },
                                "range": [
                                  4757,
                                  4768
                                ],
                                "loc": {
                                  "start": {
                                    "line": 124,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 124,
                                    "column": 19
                                  }
                                }
                              }
                            ],
                            "range": [
                              3906,
                              4774
                            ],
                            "loc": {
                              "start": {
                                "line": 99,
                                "column": 53
                              },
                              "end": {
                                "line": 125,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            3886,
                            4774
                          ],
                          "loc": {
                            "start": {
                              "line": 99,
                              "column": 33
                            },
                            "end": {
                              "line": 125,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          3857,
                          4774
                        ],
                        "loc": {
                          "start": {
                            "line": 99,
                            "column": 4
                          },
                          "end": {
                            "line": 125,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3857,
                        4775
                      ],
                      "loc": {
                        "start": {
                          "line": 99,
                          "column": 4
                        },
                        "end": {
                          "line": 125,
                          "column": 6
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "*\n     * Adds a tear down to be called during the unsubscribe() of this\n     * Subscription.\n     *\n     * If the tear down being added is a subscription that is already\n     * unsubscribed, is the same reference `add` is being called on, or is\n     * `Subscription.EMPTY`, it will not be added.\n     *\n     * If this subscription is already in an `closed` state, the passed\n     * tear down logic will be executed immediately.\n     *\n     * @param {TeardownLogic} teardown The additional logic to execute on\n     * teardown.\n     * @return {Subscription} Returns the Subscription used or created to be\n     * added to the inner subscriptions list. This Subscription can be used with\n     * `remove()` to remove the passed teardown logic from the inner subscriptions\n     * list.\n     ",
                          "range": [
                            3063,
                            3852
                          ],
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 4
                            },
                            "end": {
                              "line": 98,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "Block",
                          "value": "*\n     * Removes a Subscription from the internal list of subscriptions that will\n     * unsubscribe during the unsubscribe process of this Subscription.\n     * @param {Subscription} subscription The subscription to remove.\n     * @return {void}\n     ",
                          "range": [
                            4780,
                            5035
                          ],
                          "loc": {
                            "start": {
                              "line": 126,
                              "column": 4
                            },
                            "end": {
                              "line": 131,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "Subscription",
                              "range": [
                                5040,
                                5052
                              ],
                              "loc": {
                                "start": {
                                  "line": 132,
                                  "column": 4
                                },
                                "end": {
                                  "line": 132,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                5053,
                                5062
                              ],
                              "loc": {
                                "start": {
                                  "line": 132,
                                  "column": 17
                                },
                                "end": {
                                  "line": 132,
                                  "column": 26
                                }
                              }
                            },
                            "range": [
                              5040,
                              5062
                            ],
                            "loc": {
                              "start": {
                                "line": 132,
                                "column": 4
                              },
                              "end": {
                                "line": 132,
                                "column": 26
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "remove",
                            "range": [
                              5063,
                              5069
                            ],
                            "loc": {
                              "start": {
                                "line": 132,
                                "column": 27
                              },
                              "end": {
                                "line": 132,
                                "column": 33
                              }
                            }
                          },
                          "range": [
                            5040,
                            5069
                          ],
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 4
                            },
                            "end": {
                              "line": 132,
                              "column": 33
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "subscription",
                              "range": [
                                5082,
                                5094
                              ],
                              "loc": {
                                "start": {
                                  "line": 132,
                                  "column": 46
                                },
                                "end": {
                                  "line": 132,
                                  "column": 58
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "LogicalExpression",
                                  "operator": "||",
                                  "left": {
                                    "type": "LogicalExpression",
                                    "operator": "||",
                                    "left": {
                                      "type": "BinaryExpression",
                                      "operator": "==",
                                      "left": {
                                        "type": "Identifier",
                                        "name": "subscription",
                                        "range": [
                                          5183,
                                          5195
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 134,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 134,
                                            "column": 24
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "Literal",
                                        "value": null,
                                        "raw": "null",
                                        "range": [
                                          5199,
                                          5203
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 134,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 134,
                                            "column": 32
                                          }
                                        }
                                      },
                                      "range": [
                                        5183,
                                        5203
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 134,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 134,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "BinaryExpression",
                                      "operator": "===",
                                      "left": {
                                        "type": "Identifier",
                                        "name": "subscription",
                                        "range": [
                                          5208,
                                          5220
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 134,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 134,
                                            "column": 49
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "ThisExpression",
                                        "range": [
                                          5225,
                                          5229
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 134,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 134,
                                            "column": 58
                                          }
                                        }
                                      },
                                      "range": [
                                        5208,
                                        5229
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 134,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 134,
                                          "column": 58
                                        }
                                      }
                                    },
                                    "range": [
                                      5183,
                                      5230
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 134,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 134,
                                        "column": 59
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "BinaryExpression",
                                    "operator": "===",
                                    "left": {
                                      "type": "Identifier",
                                      "name": "subscription",
                                      "range": [
                                        5235,
                                        5247
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 134,
                                          "column": 64
                                        },
                                        "end": {
                                          "line": 134,
                                          "column": 76
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "Subscription",
                                        "range": [
                                          5252,
                                          5264
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 134,
                                            "column": 81
                                          },
                                          "end": {
                                            "line": 134,
                                            "column": 93
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "EMPTY",
                                        "range": [
                                          5265,
                                          5270
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 134,
                                            "column": 94
                                          },
                                          "end": {
                                            "line": 134,
                                            "column": 99
                                          }
                                        }
                                      },
                                      "range": [
                                        5252,
                                        5270
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 134,
                                          "column": 81
                                        },
                                        "end": {
                                          "line": 134,
                                          "column": 99
                                        }
                                      }
                                    },
                                    "range": [
                                      5235,
                                      5270
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 134,
                                        "column": 64
                                      },
                                      "end": {
                                        "line": 134,
                                        "column": 99
                                      }
                                    }
                                  },
                                  "range": [
                                    5183,
                                    5271
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 134,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 134,
                                      "column": 100
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ReturnStatement",
                                      "argument": null,
                                      "range": [
                                        5287,
                                        5294
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 135,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 135,
                                          "column": 19
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    5273,
                                    5304
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 134,
                                      "column": 102
                                    },
                                    "end": {
                                      "line": 136,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  5179,
                                  5304
                                ],
                                "loc": {
                                  "start": {
                                    "line": 134,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 136,
                                    "column": 9
                                  }
                                },
                                "leadingComments": [
                                  {
                                    "type": "Line",
                                    "value": " HACK: This might be redundant because of the logic in `add()`",
                                    "range": [
                                      5106,
                                      5170
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 133,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 133,
                                        "column": 72
                                      }
                                    }
                                  }
                                ]
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "subscriptions",
                                      "range": [
                                        5317,
                                        5330
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 137,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 137,
                                          "column": 25
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          5333,
                                          5337
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 137,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 137,
                                            "column": 32
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "_subscriptions",
                                        "range": [
                                          5338,
                                          5352
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 137,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 137,
                                            "column": 47
                                          }
                                        }
                                      },
                                      "range": [
                                        5333,
                                        5352
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 137,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 137,
                                          "column": 47
                                        }
                                      }
                                    },
                                    "range": [
                                      5317,
                                      5352
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 137,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 137,
                                        "column": 47
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  5313,
                                  5353
                                ],
                                "loc": {
                                  "start": {
                                    "line": 137,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 137,
                                    "column": 48
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "Identifier",
                                  "name": "subscriptions",
                                  "range": [
                                    5366,
                                    5379
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 138,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 138,
                                      "column": 25
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "VariableDeclaration",
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "id": {
                                            "type": "Identifier",
                                            "name": "subscriptionIndex",
                                            "range": [
                                              5399,
                                              5416
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 139,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 139,
                                                "column": 33
                                              }
                                            }
                                          },
                                          "init": {
                                            "type": "CallExpression",
                                            "callee": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "subscriptions",
                                                "range": [
                                                  5419,
                                                  5432
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 139,
                                                    "column": 36
                                                  },
                                                  "end": {
                                                    "line": 139,
                                                    "column": 49
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "indexOf",
                                                "range": [
                                                  5433,
                                                  5440
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 139,
                                                    "column": 50
                                                  },
                                                  "end": {
                                                    "line": 139,
                                                    "column": 57
                                                  }
                                                }
                                              },
                                              "range": [
                                                5419,
                                                5440
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 139,
                                                  "column": 36
                                                },
                                                "end": {
                                                  "line": 139,
                                                  "column": 57
                                                }
                                              }
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "name": "subscription",
                                                "range": [
                                                  5441,
                                                  5453
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 139,
                                                    "column": 58
                                                  },
                                                  "end": {
                                                    "line": 139,
                                                    "column": 70
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              5419,
                                              5454
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 139,
                                                "column": 36
                                              },
                                              "end": {
                                                "line": 139,
                                                "column": 71
                                              }
                                            }
                                          },
                                          "range": [
                                            5399,
                                            5454
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 139,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 139,
                                              "column": 71
                                            }
                                          }
                                        }
                                      ],
                                      "kind": "var",
                                      "range": [
                                        5395,
                                        5455
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 139,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 139,
                                          "column": 72
                                        }
                                      }
                                    },
                                    {
                                      "type": "IfStatement",
                                      "test": {
                                        "type": "BinaryExpression",
                                        "operator": "!==",
                                        "left": {
                                          "type": "Identifier",
                                          "name": "subscriptionIndex",
                                          "range": [
                                            5472,
                                            5489
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 140,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 140,
                                              "column": 33
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "UnaryExpression",
                                          "operator": "-",
                                          "argument": {
                                            "type": "Literal",
                                            "value": 1,
                                            "raw": "1",
                                            "range": [
                                              5495,
                                              5496
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 140,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 140,
                                                "column": 40
                                              }
                                            }
                                          },
                                          "prefix": true,
                                          "range": [
                                            5494,
                                            5496
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 140,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 140,
                                              "column": 40
                                            }
                                          }
                                        },
                                        "range": [
                                          5472,
                                          5496
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 140,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 140,
                                            "column": 40
                                          }
                                        }
                                      },
                                      "consequent": {
                                        "type": "BlockStatement",
                                        "body": [
                                          {
                                            "type": "ExpressionStatement",
                                            "expression": {
                                              "type": "CallExpression",
                                              "callee": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "subscriptions",
                                                  "range": [
                                                    5516,
                                                    5529
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 141,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 141,
                                                      "column": 29
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "splice",
                                                  "range": [
                                                    5530,
                                                    5536
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 141,
                                                      "column": 30
                                                    },
                                                    "end": {
                                                      "line": 141,
                                                      "column": 36
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  5516,
                                                  5536
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 141,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 141,
                                                    "column": 36
                                                  }
                                                }
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "name": "subscriptionIndex",
                                                  "range": [
                                                    5537,
                                                    5554
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 141,
                                                      "column": 37
                                                    },
                                                    "end": {
                                                      "line": 141,
                                                      "column": 54
                                                    }
                                                  }
                                                },
                                                {
                                                  "type": "Literal",
                                                  "value": 1,
                                                  "raw": "1",
                                                  "range": [
                                                    5556,
                                                    5557
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 141,
                                                      "column": 56
                                                    },
                                                    "end": {
                                                      "line": 141,
                                                      "column": 57
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                5516,
                                                5558
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 141,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 141,
                                                  "column": 58
                                                }
                                              }
                                            },
                                            "range": [
                                              5516,
                                              5559
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 141,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 141,
                                                "column": 59
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          5498,
                                          5573
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 140,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 142,
                                            "column": 13
                                          }
                                        }
                                      },
                                      "alternate": null,
                                      "range": [
                                        5468,
                                        5573
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 140,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 142,
                                          "column": 13
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    5381,
                                    5583
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 138,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 143,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  5362,
                                  5583
                                ],
                                "loc": {
                                  "start": {
                                    "line": 138,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 143,
                                    "column": 9
                                  }
                                }
                              }
                            ],
                            "range": [
                              5096,
                              5589
                            ],
                            "loc": {
                              "start": {
                                "line": 132,
                                "column": 60
                              },
                              "end": {
                                "line": 144,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            5072,
                            5589
                          ],
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 36
                            },
                            "end": {
                              "line": 144,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          5040,
                          5589
                        ],
                        "loc": {
                          "start": {
                            "line": 132,
                            "column": 4
                          },
                          "end": {
                            "line": 144,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        5040,
                        5590
                      ],
                      "loc": {
                        "start": {
                          "line": 132,
                          "column": 4
                        },
                        "end": {
                          "line": 144,
                          "column": 6
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "*\n     * Removes a Subscription from the internal list of subscriptions that will\n     * unsubscribe during the unsubscribe process of this Subscription.\n     * @param {Subscription} subscription The subscription to remove.\n     * @return {void}\n     ",
                          "range": [
                            4780,
                            5035
                          ],
                          "loc": {
                            "start": {
                              "line": 126,
                              "column": 4
                            },
                            "end": {
                              "line": 131,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "Subscription",
                            "range": [
                              5595,
                              5607
                            ],
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 4
                              },
                              "end": {
                                "line": 145,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "EMPTY",
                            "range": [
                              5608,
                              5613
                            ],
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 17
                              },
                              "end": {
                                "line": 145,
                                "column": 22
                              }
                            }
                          },
                          "range": [
                            5595,
                            5613
                          ],
                          "loc": {
                            "start": {
                              "line": 145,
                              "column": 4
                            },
                            "end": {
                              "line": 145,
                              "column": 22
                            }
                          }
                        },
                        "right": {
                          "type": "CallExpression",
                          "callee": {
                            "type": "FunctionExpression",
                            "id": null,
                            "params": [
                              {
                                "type": "Identifier",
                                "name": "empty",
                                "range": [
                                  5627,
                                  5632
                                ],
                                "loc": {
                                  "start": {
                                    "line": 145,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 145,
                                    "column": 41
                                  }
                                }
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "empty",
                                        "range": [
                                          5644,
                                          5649
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 146,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 146,
                                            "column": 13
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "closed",
                                        "range": [
                                          5650,
                                          5656
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 146,
                                            "column": 14
                                          },
                                          "end": {
                                            "line": 146,
                                            "column": 20
                                          }
                                        }
                                      },
                                      "range": [
                                        5644,
                                        5656
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 146,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 146,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "Literal",
                                      "value": true,
                                      "raw": "true",
                                      "range": [
                                        5659,
                                        5663
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 146,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 146,
                                          "column": 27
                                        }
                                      }
                                    },
                                    "range": [
                                      5644,
                                      5663
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 146,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 146,
                                        "column": 27
                                      }
                                    }
                                  },
                                  "range": [
                                    5644,
                                    5664
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 28
                                    }
                                  }
                                },
                                {
                                  "type": "ReturnStatement",
                                  "argument": {
                                    "type": "Identifier",
                                    "name": "empty",
                                    "range": [
                                      5680,
                                      5685
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 147,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 147,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "range": [
                                    5673,
                                    5686
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 147,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 147,
                                      "column": 21
                                    }
                                  }
                                }
                              ],
                              "range": [
                                5634,
                                5692
                              ],
                              "loc": {
                                "start": {
                                  "line": 145,
                                  "column": 43
                                },
                                "end": {
                                  "line": 148,
                                  "column": 5
                                }
                              }
                            },
                            "generator": false,
                            "expression": false,
                            "range": [
                              5617,
                              5692
                            ],
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 26
                              },
                              "end": {
                                "line": 148,
                                "column": 5
                              }
                            }
                          },
                          "arguments": [
                            {
                              "type": "NewExpression",
                              "callee": {
                                "type": "Identifier",
                                "name": "Subscription",
                                "range": [
                                  5697,
                                  5709
                                ],
                                "loc": {
                                  "start": {
                                    "line": 148,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 148,
                                    "column": 22
                                  }
                                }
                              },
                              "arguments": [],
                              "range": [
                                5693,
                                5711
                              ],
                              "loc": {
                                "start": {
                                  "line": 148,
                                  "column": 6
                                },
                                "end": {
                                  "line": 148,
                                  "column": 24
                                }
                              }
                            }
                          ],
                          "range": [
                            5617,
                            5712
                          ],
                          "loc": {
                            "start": {
                              "line": 145,
                              "column": 26
                            },
                            "end": {
                              "line": 148,
                              "column": 25
                            }
                          }
                        },
                        "range": [
                          5595,
                          5713
                        ],
                        "loc": {
                          "start": {
                            "line": 145,
                            "column": 4
                          },
                          "end": {
                            "line": 148,
                            "column": 26
                          }
                        }
                      },
                      "range": [
                        5595,
                        5714
                      ],
                      "loc": {
                        "start": {
                          "line": 145,
                          "column": 4
                        },
                        "end": {
                          "line": 148,
                          "column": 27
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "argument": {
                        "type": "Identifier",
                        "name": "Subscription",
                        "range": [
                          5726,
                          5738
                        ],
                        "loc": {
                          "start": {
                            "line": 149,
                            "column": 11
                          },
                          "end": {
                            "line": 149,
                            "column": 23
                          }
                        }
                      },
                      "range": [
                        5719,
                        5739
                      ],
                      "loc": {
                        "start": {
                          "line": 149,
                          "column": 4
                        },
                        "end": {
                          "line": 149,
                          "column": 24
                        }
                      }
                    }
                  ],
                  "range": [
                    857,
                    5741
                  ],
                  "loc": {
                    "start": {
                      "line": 19,
                      "column": 39
                    },
                    "end": {
                      "line": 150,
                      "column": 1
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  845,
                  5741
                ],
                "loc": {
                  "start": {
                    "line": 19,
                    "column": 27
                  },
                  "end": {
                    "line": 150,
                    "column": 1
                  }
                }
              },
              "arguments": [],
              "range": [
                845,
                5743
              ],
              "loc": {
                "start": {
                  "line": 19,
                  "column": 27
                },
                "end": {
                  "line": 150,
                  "column": 3
                }
              }
            },
            "range": [
              829,
              5744
            ],
            "loc": {
              "start": {
                "line": 19,
                "column": 11
              },
              "end": {
                "line": 150,
                "column": 4
              }
            }
          }
        ],
        "kind": "var",
        "range": [
          825,
          5745
        ],
        "loc": {
          "start": {
            "line": 19,
            "column": 7
          },
          "end": {
            "line": 150,
            "column": 5
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * Represents a disposable resource, such as the execution of an Observable. A\n * Subscription has one important method, `unsubscribe`, that takes no argument\n * and just disposes the resource held by the subscription.\n *\n * Additionally, subscriptions may be grouped together through the `add()`\n * method, which will attach a child Subscription to the current Subscription.\n * When a Subscription is unsubscribed, all its children (and its grandchildren)\n * will be unsubscribed as well.\n *\n * @class Subscription\n ",
            "range": [
              294,
              817
            ],
            "loc": {
              "start": {
                "line": 7,
                "column": 0
              },
              "end": {
                "line": 18,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "Line",
            "value": "# sourceMappingURL=Subscription.js.map",
            "range": [
              5746,
              5786
            ],
            "loc": {
              "start": {
                "line": 151,
                "column": 0
              },
              "end": {
                "line": 151,
                "column": 40
              }
            }
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "range": [
        818,
        5745
      ],
      "loc": {
        "start": {
          "line": 19,
          "column": 0
        },
        "end": {
          "line": 150,
          "column": 5
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Represents a disposable resource, such as the execution of an Observable. A\n * Subscription has one important method, `unsubscribe`, that takes no argument\n * and just disposes the resource held by the subscription.\n *\n * Additionally, subscriptions may be grouped together through the `add()`\n * method, which will attach a child Subscription to the current Subscription.\n * When a Subscription is unsubscribed, all its children (and its grandchildren)\n * will be unsubscribed as well.\n *\n * @class Subscription\n ",
          "range": [
            294,
            817
          ],
          "loc": {
            "start": {
              "line": 7,
              "column": 0
            },
            "end": {
              "line": 18,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Line",
          "value": "# sourceMappingURL=Subscription.js.map",
          "range": [
            5746,
            5786
          ],
          "loc": {
            "start": {
              "line": 151,
              "column": 0
            },
            "end": {
              "line": 151,
              "column": 40
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    5745
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 150,
      "column": 5
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": "*\n * Represents a disposable resource, such as the execution of an Observable. A\n * Subscription has one important method, `unsubscribe`, that takes no argument\n * and just disposes the resource held by the subscription.\n *\n * Additionally, subscriptions may be grouped together through the `add()`\n * method, which will attach a child Subscription to the current Subscription.\n * When a Subscription is unsubscribed, all its children (and its grandchildren)\n * will be unsubscribed as well.\n *\n * @class Subscription\n ",
      "range": [
        294,
        817
      ],
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 18,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * @param {function(): void} [unsubscribe] A function describing how to\n     * perform the disposal of resources when the `unsubscribe` method is called.\n     ",
      "range": [
        863,
        1032
      ],
      "loc": {
        "start": {
          "line": 20,
          "column": 4
        },
        "end": {
          "line": 23,
          "column": 7
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n         * A flag to indicate whether this Subscription has already been unsubscribed.\n         * @type {boolean}\n         ",
      "range": [
        1082,
        1211
      ],
      "loc": {
        "start": {
          "line": 25,
          "column": 8
        },
        "end": {
          "line": 28,
          "column": 11
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * Disposes the resources held by the subscription. May, for instance, cancel\n     * an ongoing Observable execution or cancel any other type of work that\n     * started when the Subscription was created.\n     * @return {void}\n     ",
      "range": [
        1333,
        1575
      ],
      "loc": {
        "start": {
          "line": 34,
          "column": 4
        },
        "end": {
          "line": 39,
          "column": 7
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * Adds a tear down to be called during the unsubscribe() of this\n     * Subscription.\n     *\n     * If the tear down being added is a subscription that is already\n     * unsubscribed, is the same reference `add` is being called on, or is\n     * `Subscription.EMPTY`, it will not be added.\n     *\n     * If this subscription is already in an `closed` state, the passed\n     * tear down logic will be executed immediately.\n     *\n     * @param {TeardownLogic} teardown The additional logic to execute on\n     * teardown.\n     * @return {Subscription} Returns the Subscription used or created to be\n     * added to the inner subscriptions list. This Subscription can be used with\n     * `remove()` to remove the passed teardown logic from the inner subscriptions\n     * list.\n     ",
      "range": [
        3063,
        3852
      ],
      "loc": {
        "start": {
          "line": 81,
          "column": 4
        },
        "end": {
          "line": 98,
          "column": 7
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * Removes a Subscription from the internal list of subscriptions that will\n     * unsubscribe during the unsubscribe process of this Subscription.\n     * @param {Subscription} subscription The subscription to remove.\n     * @return {void}\n     ",
      "range": [
        4780,
        5035
      ],
      "loc": {
        "start": {
          "line": 126,
          "column": 4
        },
        "end": {
          "line": 131,
          "column": 7
        }
      }
    },
    {
      "type": "Line",
      "value": " HACK: This might be redundant because of the logic in `add()`",
      "range": [
        5106,
        5170
      ],
      "loc": {
        "start": {
          "line": 133,
          "column": 8
        },
        "end": {
          "line": 133,
          "column": 72
        }
      }
    },
    {
      "type": "Line",
      "value": "# sourceMappingURL=Subscription.js.map",
      "range": [
        5746,
        5786
      ],
      "loc": {
        "start": {
          "line": 151,
          "column": 0
        },
        "end": {
          "line": 151,
          "column": 40
        }
      }
    }
  ]
}