{
  "type": "Program",
  "body": [
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "OuterSubscriber",
            "range": [
              9,
              24
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 24
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "OuterSubscriber",
            "range": [
              9,
              24
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 24
              }
            }
          },
          "range": [
            9,
            24
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 9
            },
            "end": {
              "line": 1,
              "column": 24
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../OuterSubscriber",
        "raw": "'../OuterSubscriber'",
        "range": [
          32,
          52
        ],
        "loc": {
          "start": {
            "line": 1,
            "column": 32
          },
          "end": {
            "line": 1,
            "column": 52
          }
        }
      },
      "range": [
        0,
        53
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 53
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "subscribeToResult",
            "range": [
              63,
              80
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 26
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "subscribeToResult",
            "range": [
              63,
              80
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 26
              }
            }
          },
          "range": [
            63,
            80
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 9
            },
            "end": {
              "line": 2,
              "column": 26
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../util/subscribeToResult",
        "raw": "'../util/subscribeToResult'",
        "range": [
          88,
          115
        ],
        "loc": {
          "start": {
            "line": 2,
            "column": 34
          },
          "end": {
            "line": 2,
            "column": 61
          }
        }
      },
      "range": [
        54,
        116
      ],
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 62
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * Catches errors on the observable to be handled by returning a new observable or throwing an error.\n * @param {function} selector a function that takes as arguments `err`, which is the error, and `caught`, which\n *  is the source observable, in case you'd like to \"retry\" that observable by returning it again. Whatever observable\n *  is returned by the `selector` will be used to continue the observable chain.\n * @return {Observable} an observable that originates from either the source or the observable returned by the\n *  catch `selector` function.\n * @method catch\n * @owner Observable\n ",
          "range": [
            117,
            718
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 0
            },
            "end": {
              "line": 12,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "FunctionDeclaration",
        "id": {
          "type": "Identifier",
          "name": "_catch",
          "range": [
            735,
            741
          ],
          "loc": {
            "start": {
              "line": 13,
              "column": 16
            },
            "end": {
              "line": 13,
              "column": 22
            }
          }
        },
        "params": [
          {
            "type": "Identifier",
            "name": "selector",
            "range": [
              742,
              750
            ],
            "loc": {
              "start": {
                "line": 13,
                "column": 23
              },
              "end": {
                "line": 13,
                "column": 31
              }
            }
          }
        ],
        "body": {
          "type": "BlockStatement",
          "body": [
            {
              "type": "VariableDeclaration",
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "id": {
                    "type": "Identifier",
                    "name": "operator",
                    "range": [
                      762,
                      770
                    ],
                    "loc": {
                      "start": {
                        "line": 14,
                        "column": 8
                      },
                      "end": {
                        "line": 14,
                        "column": 16
                      }
                    }
                  },
                  "init": {
                    "type": "NewExpression",
                    "callee": {
                      "type": "Identifier",
                      "name": "CatchOperator",
                      "range": [
                        777,
                        790
                      ],
                      "loc": {
                        "start": {
                          "line": 14,
                          "column": 23
                        },
                        "end": {
                          "line": 14,
                          "column": 36
                        }
                      }
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "name": "selector",
                        "range": [
                          791,
                          799
                        ],
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 37
                          },
                          "end": {
                            "line": 14,
                            "column": 45
                          }
                        }
                      }
                    ],
                    "range": [
                      773,
                      800
                    ],
                    "loc": {
                      "start": {
                        "line": 14,
                        "column": 19
                      },
                      "end": {
                        "line": 14,
                        "column": 46
                      }
                    }
                  },
                  "range": [
                    762,
                    800
                  ],
                  "loc": {
                    "start": {
                      "line": 14,
                      "column": 8
                    },
                    "end": {
                      "line": 14,
                      "column": 46
                    }
                  }
                }
              ],
              "kind": "var",
              "range": [
                758,
                801
              ],
              "loc": {
                "start": {
                  "line": 14,
                  "column": 4
                },
                "end": {
                  "line": 14,
                  "column": 47
                }
              }
            },
            {
              "type": "VariableDeclaration",
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "id": {
                    "type": "Identifier",
                    "name": "caught",
                    "range": [
                      810,
                      816
                    ],
                    "loc": {
                      "start": {
                        "line": 15,
                        "column": 8
                      },
                      "end": {
                        "line": 15,
                        "column": 14
                      }
                    }
                  },
                  "init": {
                    "type": "CallExpression",
                    "callee": {
                      "type": "MemberExpression",
                      "computed": false,
                      "object": {
                        "type": "ThisExpression",
                        "range": [
                          819,
                          823
                        ],
                        "loc": {
                          "start": {
                            "line": 15,
                            "column": 17
                          },
                          "end": {
                            "line": 15,
                            "column": 21
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "name": "lift",
                        "range": [
                          824,
                          828
                        ],
                        "loc": {
                          "start": {
                            "line": 15,
                            "column": 22
                          },
                          "end": {
                            "line": 15,
                            "column": 26
                          }
                        }
                      },
                      "range": [
                        819,
                        828
                      ],
                      "loc": {
                        "start": {
                          "line": 15,
                          "column": 17
                        },
                        "end": {
                          "line": 15,
                          "column": 26
                        }
                      }
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "name": "operator",
                        "range": [
                          829,
                          837
                        ],
                        "loc": {
                          "start": {
                            "line": 15,
                            "column": 27
                          },
                          "end": {
                            "line": 15,
                            "column": 35
                          }
                        }
                      }
                    ],
                    "range": [
                      819,
                      838
                    ],
                    "loc": {
                      "start": {
                        "line": 15,
                        "column": 17
                      },
                      "end": {
                        "line": 15,
                        "column": 36
                      }
                    }
                  },
                  "range": [
                    810,
                    838
                  ],
                  "loc": {
                    "start": {
                      "line": 15,
                      "column": 8
                    },
                    "end": {
                      "line": 15,
                      "column": 36
                    }
                  }
                }
              ],
              "kind": "var",
              "range": [
                806,
                839
              ],
              "loc": {
                "start": {
                  "line": 15,
                  "column": 4
                },
                "end": {
                  "line": 15,
                  "column": 37
                }
              }
            },
            {
              "type": "ReturnStatement",
              "argument": {
                "type": "AssignmentExpression",
                "operator": "=",
                "left": {
                  "type": "MemberExpression",
                  "computed": false,
                  "object": {
                    "type": "Identifier",
                    "name": "operator",
                    "range": [
                      852,
                      860
                    ],
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 12
                      },
                      "end": {
                        "line": 16,
                        "column": 20
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "name": "caught",
                    "range": [
                      861,
                      867
                    ],
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 21
                      },
                      "end": {
                        "line": 16,
                        "column": 27
                      }
                    }
                  },
                  "range": [
                    852,
                    867
                  ],
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 12
                    },
                    "end": {
                      "line": 16,
                      "column": 27
                    }
                  }
                },
                "right": {
                  "type": "Identifier",
                  "name": "caught",
                  "range": [
                    870,
                    876
                  ],
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 30
                    },
                    "end": {
                      "line": 16,
                      "column": 36
                    }
                  }
                },
                "range": [
                  852,
                  876
                ],
                "loc": {
                  "start": {
                    "line": 16,
                    "column": 12
                  },
                  "end": {
                    "line": 16,
                    "column": 36
                  }
                }
              },
              "range": [
                844,
                878
              ],
              "loc": {
                "start": {
                  "line": 16,
                  "column": 4
                },
                "end": {
                  "line": 16,
                  "column": 38
                }
              }
            }
          ],
          "range": [
            752,
            880
          ],
          "loc": {
            "start": {
              "line": 13,
              "column": 33
            },
            "end": {
              "line": 17,
              "column": 1
            }
          }
        },
        "generator": false,
        "expression": false,
        "range": [
          726,
          880
        ],
        "loc": {
          "start": {
            "line": 13,
            "column": 7
          },
          "end": {
            "line": 17,
            "column": 1
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * Catches errors on the observable to be handled by returning a new observable or throwing an error.\n * @param {function} selector a function that takes as arguments `err`, which is the error, and `caught`, which\n *  is the source observable, in case you'd like to \"retry\" that observable by returning it again. Whatever observable\n *  is returned by the `selector` will be used to continue the observable chain.\n * @return {Observable} an observable that originates from either the source or the observable returned by the\n *  catch `selector` function.\n * @method catch\n * @owner Observable\n ",
            "range": [
              117,
              718
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 0
              },
              "end": {
                "line": 12,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "range": [
        719,
        880
      ],
      "loc": {
        "start": {
          "line": 13,
          "column": 0
        },
        "end": {
          "line": 17,
          "column": 1
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Catches errors on the observable to be handled by returning a new observable or throwing an error.\n * @param {function} selector a function that takes as arguments `err`, which is the error, and `caught`, which\n *  is the source observable, in case you'd like to \"retry\" that observable by returning it again. Whatever observable\n *  is returned by the `selector` will be used to continue the observable chain.\n * @return {Observable} an observable that originates from either the source or the observable returned by the\n *  catch `selector` function.\n * @method catch\n * @owner Observable\n ",
          "range": [
            117,
            718
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 0
            },
            "end": {
              "line": 12,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "CatchOperator",
            "range": [
              885,
              898
            ],
            "loc": {
              "start": {
                "line": 18,
                "column": 4
              },
              "end": {
                "line": 18,
                "column": 17
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "CatchOperator",
                      "range": [
                        929,
                        942
                      ],
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 13
                        },
                        "end": {
                          "line": 19,
                          "column": 26
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "selector",
                        "range": [
                          943,
                          951
                        ],
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 27
                          },
                          "end": {
                            "line": 19,
                            "column": 35
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  963,
                                  967
                                ],
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "selector",
                                "range": [
                                  968,
                                  976
                                ],
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 21
                                  }
                                }
                              },
                              "range": [
                                963,
                                976
                              ],
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 8
                                },
                                "end": {
                                  "line": 20,
                                  "column": 21
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "selector",
                              "range": [
                                979,
                                987
                              ],
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 24
                                },
                                "end": {
                                  "line": 20,
                                  "column": 32
                                }
                              }
                            },
                            "range": [
                              963,
                              987
                            ],
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 8
                              },
                              "end": {
                                "line": 20,
                                "column": 32
                              }
                            }
                          },
                          "range": [
                            963,
                            988
                          ],
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 8
                            },
                            "end": {
                              "line": 20,
                              "column": 33
                            }
                          }
                        }
                      ],
                      "range": [
                        953,
                        994
                      ],
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 37
                        },
                        "end": {
                          "line": 21,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      920,
                      994
                    ],
                    "loc": {
                      "start": {
                        "line": 19,
                        "column": 4
                      },
                      "end": {
                        "line": 21,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "CatchOperator",
                            "range": [
                              999,
                              1012
                            ],
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 4
                              },
                              "end": {
                                "line": 22,
                                "column": 17
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              1013,
                              1022
                            ],
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 18
                              },
                              "end": {
                                "line": 22,
                                "column": 27
                              }
                            }
                          },
                          "range": [
                            999,
                            1022
                          ],
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 4
                            },
                            "end": {
                              "line": 22,
                              "column": 27
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "call",
                          "range": [
                            1023,
                            1027
                          ],
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 28
                            },
                            "end": {
                              "line": 22,
                              "column": 32
                            }
                          }
                        },
                        "range": [
                          999,
                          1027
                        ],
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 4
                          },
                          "end": {
                            "line": 22,
                            "column": 32
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "subscriber",
                            "range": [
                              1040,
                              1050
                            ],
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 45
                              },
                              "end": {
                                "line": 22,
                                "column": 55
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "source",
                            "range": [
                              1052,
                              1058
                            ],
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 57
                              },
                              "end": {
                                "line": 22,
                                "column": 63
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ReturnStatement",
                              "argument": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "source",
                                    "range": [
                                      1077,
                                      1083
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 23,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 23,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_subscribe",
                                    "range": [
                                      1084,
                                      1094
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 23,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 23,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "range": [
                                    1077,
                                    1094
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 23,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 23,
                                      "column": 32
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "NewExpression",
                                    "callee": {
                                      "type": "Identifier",
                                      "name": "CatchSubscriber",
                                      "range": [
                                        1099,
                                        1114
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 23,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 23,
                                          "column": 52
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "name": "subscriber",
                                        "range": [
                                          1115,
                                          1125
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 23,
                                            "column": 53
                                          },
                                          "end": {
                                            "line": 23,
                                            "column": 63
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            1127,
                                            1131
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 23,
                                              "column": 65
                                            },
                                            "end": {
                                              "line": 23,
                                              "column": 69
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "selector",
                                          "range": [
                                            1132,
                                            1140
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 23,
                                              "column": 70
                                            },
                                            "end": {
                                              "line": 23,
                                              "column": 78
                                            }
                                          }
                                        },
                                        "range": [
                                          1127,
                                          1140
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 23,
                                            "column": 65
                                          },
                                          "end": {
                                            "line": 23,
                                            "column": 78
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            1142,
                                            1146
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 23,
                                              "column": 80
                                            },
                                            "end": {
                                              "line": 23,
                                              "column": 84
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "caught",
                                          "range": [
                                            1147,
                                            1153
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 23,
                                              "column": 85
                                            },
                                            "end": {
                                              "line": 23,
                                              "column": 91
                                            }
                                          }
                                        },
                                        "range": [
                                          1142,
                                          1153
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 23,
                                            "column": 80
                                          },
                                          "end": {
                                            "line": 23,
                                            "column": 91
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      1095,
                                      1154
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 23,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 23,
                                        "column": 92
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  1077,
                                  1155
                                ],
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 23,
                                    "column": 93
                                  }
                                }
                              },
                              "range": [
                                1070,
                                1156
                              ],
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 8
                                },
                                "end": {
                                  "line": 23,
                                  "column": 94
                                }
                              }
                            }
                          ],
                          "range": [
                            1060,
                            1162
                          ],
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 65
                            },
                            "end": {
                              "line": 24,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          1030,
                          1162
                        ],
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 35
                          },
                          "end": {
                            "line": 24,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        999,
                        1162
                      ],
                      "loc": {
                        "start": {
                          "line": 22,
                          "column": 4
                        },
                        "end": {
                          "line": 24,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      999,
                      1163
                    ],
                    "loc": {
                      "start": {
                        "line": 22,
                        "column": 4
                      },
                      "end": {
                        "line": 24,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "CatchOperator",
                      "range": [
                        1175,
                        1188
                      ],
                      "loc": {
                        "start": {
                          "line": 25,
                          "column": 11
                        },
                        "end": {
                          "line": 25,
                          "column": 24
                        }
                      }
                    },
                    "range": [
                      1168,
                      1189
                    ],
                    "loc": {
                      "start": {
                        "line": 25,
                        "column": 4
                      },
                      "end": {
                        "line": 25,
                        "column": 25
                      }
                    }
                  }
                ],
                "range": [
                  914,
                  1191
                ],
                "loc": {
                  "start": {
                    "line": 18,
                    "column": 33
                  },
                  "end": {
                    "line": 26,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                902,
                1191
              ],
              "loc": {
                "start": {
                  "line": 18,
                  "column": 21
                },
                "end": {
                  "line": 26,
                  "column": 1
                }
              }
            },
            "arguments": [],
            "range": [
              902,
              1193
            ],
            "loc": {
              "start": {
                "line": 18,
                "column": 21
              },
              "end": {
                "line": 26,
                "column": 3
              }
            }
          },
          "range": [
            885,
            1194
          ],
          "loc": {
            "start": {
              "line": 18,
              "column": 4
            },
            "end": {
              "line": 26,
              "column": 4
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        881,
        1195
      ],
      "loc": {
        "start": {
          "line": 18,
          "column": 0
        },
        "end": {
          "line": 26,
          "column": 5
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            1196,
            1287
          ],
          "loc": {
            "start": {
              "line": 27,
              "column": 0
            },
            "end": {
              "line": 31,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "CatchSubscriber",
            "range": [
              1292,
              1307
            ],
            "loc": {
              "start": {
                "line": 32,
                "column": 4
              },
              "end": {
                "line": 32,
                "column": 19
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "_super",
                  "range": [
                    1321,
                    1327
                  ],
                  "loc": {
                    "start": {
                      "line": 32,
                      "column": 33
                    },
                    "end": {
                      "line": 32,
                      "column": 39
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "Identifier",
                        "name": "__extends",
                        "range": [
                          1335,
                          1344
                        ],
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 4
                          },
                          "end": {
                            "line": 33,
                            "column": 13
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "name": "CatchSubscriber",
                          "range": [
                            1345,
                            1360
                          ],
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 14
                            },
                            "end": {
                              "line": 33,
                              "column": 29
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "_super",
                          "range": [
                            1362,
                            1368
                          ],
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 31
                            },
                            "end": {
                              "line": 33,
                              "column": 37
                            }
                          }
                        }
                      ],
                      "range": [
                        1335,
                        1369
                      ],
                      "loc": {
                        "start": {
                          "line": 33,
                          "column": 4
                        },
                        "end": {
                          "line": 33,
                          "column": 38
                        }
                      }
                    },
                    "range": [
                      1335,
                      1370
                    ],
                    "loc": {
                      "start": {
                        "line": 33,
                        "column": 4
                      },
                      "end": {
                        "line": 33,
                        "column": 39
                      }
                    }
                  },
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "CatchSubscriber",
                      "range": [
                        1384,
                        1399
                      ],
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 13
                        },
                        "end": {
                          "line": 34,
                          "column": 28
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "destination",
                        "range": [
                          1400,
                          1411
                        ],
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 29
                          },
                          "end": {
                            "line": 34,
                            "column": 40
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "selector",
                        "range": [
                          1413,
                          1421
                        ],
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 42
                          },
                          "end": {
                            "line": 34,
                            "column": 50
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "caught",
                        "range": [
                          1423,
                          1429
                        ],
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 52
                          },
                          "end": {
                            "line": 34,
                            "column": 58
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "_super",
                                "range": [
                                  1441,
                                  1447
                                ],
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 14
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "call",
                                "range": [
                                  1448,
                                  1452
                                ],
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                1441,
                                1452
                              ],
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 8
                                },
                                "end": {
                                  "line": 35,
                                  "column": 19
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "range": [
                                  1453,
                                  1457
                                ],
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 24
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "name": "destination",
                                "range": [
                                  1459,
                                  1470
                                ],
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 37
                                  }
                                }
                              }
                            ],
                            "range": [
                              1441,
                              1471
                            ],
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 8
                              },
                              "end": {
                                "line": 35,
                                "column": 38
                              }
                            }
                          },
                          "range": [
                            1441,
                            1472
                          ],
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 8
                            },
                            "end": {
                              "line": 35,
                              "column": 39
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1481,
                                  1485
                                ],
                                "loc": {
                                  "start": {
                                    "line": 36,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 36,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "selector",
                                "range": [
                                  1486,
                                  1494
                                ],
                                "loc": {
                                  "start": {
                                    "line": 36,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 36,
                                    "column": 21
                                  }
                                }
                              },
                              "range": [
                                1481,
                                1494
                              ],
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 8
                                },
                                "end": {
                                  "line": 36,
                                  "column": 21
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "selector",
                              "range": [
                                1497,
                                1505
                              ],
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 24
                                },
                                "end": {
                                  "line": 36,
                                  "column": 32
                                }
                              }
                            },
                            "range": [
                              1481,
                              1505
                            ],
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 8
                              },
                              "end": {
                                "line": 36,
                                "column": 32
                              }
                            }
                          },
                          "range": [
                            1481,
                            1506
                          ],
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 8
                            },
                            "end": {
                              "line": 36,
                              "column": 33
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1515,
                                  1519
                                ],
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "caught",
                                "range": [
                                  1520,
                                  1526
                                ],
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                1515,
                                1526
                              ],
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 8
                                },
                                "end": {
                                  "line": 37,
                                  "column": 19
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "caught",
                              "range": [
                                1529,
                                1535
                              ],
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 22
                                },
                                "end": {
                                  "line": 37,
                                  "column": 28
                                }
                              }
                            },
                            "range": [
                              1515,
                              1535
                            ],
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 8
                              },
                              "end": {
                                "line": 37,
                                "column": 28
                              }
                            }
                          },
                          "range": [
                            1515,
                            1536
                          ],
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 8
                            },
                            "end": {
                              "line": 37,
                              "column": 29
                            }
                          }
                        }
                      ],
                      "range": [
                        1431,
                        1542
                      ],
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 60
                        },
                        "end": {
                          "line": 38,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      1375,
                      1542
                    ],
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 4
                      },
                      "end": {
                        "line": 38,
                        "column": 5
                      }
                    },
                    "trailingComments": [
                      {
                        "type": "Line",
                        "value": " NOTE: overriding `error` instead of `_error` because we don't want",
                        "range": [
                          1547,
                          1616
                        ],
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 4
                          },
                          "end": {
                            "line": 39,
                            "column": 73
                          }
                        }
                      },
                      {
                        "type": "Line",
                        "value": " to have this flag this subscriber as `isStopped`.",
                        "range": [
                          1621,
                          1673
                        ],
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 4
                          },
                          "end": {
                            "line": 40,
                            "column": 56
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "CatchSubscriber",
                            "range": [
                              1678,
                              1693
                            ],
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 4
                              },
                              "end": {
                                "line": 41,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              1694,
                              1703
                            ],
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 20
                              },
                              "end": {
                                "line": 41,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            1678,
                            1703
                          ],
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 4
                            },
                            "end": {
                              "line": 41,
                              "column": 29
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "error",
                          "range": [
                            1704,
                            1709
                          ],
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 30
                            },
                            "end": {
                              "line": 41,
                              "column": 35
                            }
                          }
                        },
                        "range": [
                          1678,
                          1709
                        ],
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 4
                          },
                          "end": {
                            "line": 41,
                            "column": 35
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "err",
                            "range": [
                              1722,
                              1725
                            ],
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 48
                              },
                              "end": {
                                "line": 41,
                                "column": 51
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "UnaryExpression",
                                "operator": "!",
                                "argument": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      1742,
                                      1746
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 17
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "isStopped",
                                    "range": [
                                      1747,
                                      1756
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 27
                                      }
                                    }
                                  },
                                  "range": [
                                    1742,
                                    1756
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 27
                                    }
                                  }
                                },
                                "prefix": true,
                                "range": [
                                  1741,
                                  1756
                                ],
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 27
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "VariableDeclaration",
                                    "declarations": [
                                      {
                                        "type": "VariableDeclarator",
                                        "id": {
                                          "type": "Identifier",
                                          "name": "result",
                                          "range": [
                                            1776,
                                            1782
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 43,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 43,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "init": {
                                          "type": "UnaryExpression",
                                          "operator": "void",
                                          "argument": {
                                            "type": "Literal",
                                            "value": 0,
                                            "raw": "0",
                                            "range": [
                                              1790,
                                              1791
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 43,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 43,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "prefix": true,
                                          "range": [
                                            1785,
                                            1791
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 43,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 43,
                                              "column": 31
                                            }
                                          }
                                        },
                                        "range": [
                                          1776,
                                          1791
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 43,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 43,
                                            "column": 31
                                          }
                                        }
                                      }
                                    ],
                                    "kind": "var",
                                    "range": [
                                      1772,
                                      1792
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 43,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 43,
                                        "column": 32
                                      }
                                    }
                                  },
                                  {
                                    "type": "TryStatement",
                                    "block": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "expression": {
                                            "type": "AssignmentExpression",
                                            "operator": "=",
                                            "left": {
                                              "type": "Identifier",
                                              "name": "result",
                                              "range": [
                                                1827,
                                                1833
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 45,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 45,
                                                  "column": 22
                                                }
                                              }
                                            },
                                            "right": {
                                              "type": "CallExpression",
                                              "callee": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "range": [
                                                    1836,
                                                    1840
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 45,
                                                      "column": 25
                                                    },
                                                    "end": {
                                                      "line": 45,
                                                      "column": 29
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "selector",
                                                  "range": [
                                                    1841,
                                                    1849
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 45,
                                                      "column": 30
                                                    },
                                                    "end": {
                                                      "line": 45,
                                                      "column": 38
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  1836,
                                                  1849
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 45,
                                                    "column": 25
                                                  },
                                                  "end": {
                                                    "line": 45,
                                                    "column": 38
                                                  }
                                                }
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "name": "err",
                                                  "range": [
                                                    1850,
                                                    1853
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 45,
                                                      "column": 39
                                                    },
                                                    "end": {
                                                      "line": 45,
                                                      "column": 42
                                                    }
                                                  }
                                                },
                                                {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "range": [
                                                      1855,
                                                      1859
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 45,
                                                        "column": 44
                                                      },
                                                      "end": {
                                                        "line": 45,
                                                        "column": 48
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "caught",
                                                    "range": [
                                                      1860,
                                                      1866
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 45,
                                                        "column": 49
                                                      },
                                                      "end": {
                                                        "line": 45,
                                                        "column": 55
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    1855,
                                                    1866
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 45,
                                                      "column": 44
                                                    },
                                                    "end": {
                                                      "line": 45,
                                                      "column": 55
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                1836,
                                                1867
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 45,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 45,
                                                  "column": 56
                                                }
                                              }
                                            },
                                            "range": [
                                              1827,
                                              1867
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 45,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 45,
                                                "column": 56
                                              }
                                            }
                                          },
                                          "range": [
                                            1827,
                                            1868
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 45,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 45,
                                              "column": 57
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        1809,
                                        1882
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 44,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 46,
                                          "column": 13
                                        }
                                      }
                                    },
                                    "handler": {
                                      "type": "CatchClause",
                                      "param": {
                                        "type": "Identifier",
                                        "name": "err",
                                        "range": [
                                          1902,
                                          1905
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 47,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 47,
                                            "column": 22
                                          }
                                        }
                                      },
                                      "body": {
                                        "type": "BlockStatement",
                                        "body": [
                                          {
                                            "type": "ExpressionStatement",
                                            "expression": {
                                              "type": "CallExpression",
                                              "callee": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "range": [
                                                      1925,
                                                      1929
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 48,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 48,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "destination",
                                                    "range": [
                                                      1930,
                                                      1941
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 48,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 48,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    1925,
                                                    1941
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 48,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 48,
                                                      "column": 32
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "error",
                                                  "range": [
                                                    1942,
                                                    1947
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 48,
                                                      "column": 33
                                                    },
                                                    "end": {
                                                      "line": 48,
                                                      "column": 38
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  1925,
                                                  1947
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 48,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 48,
                                                    "column": 38
                                                  }
                                                }
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "name": "err",
                                                  "range": [
                                                    1948,
                                                    1951
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 48,
                                                      "column": 39
                                                    },
                                                    "end": {
                                                      "line": 48,
                                                      "column": 42
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                1925,
                                                1952
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 48,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 48,
                                                  "column": 43
                                                }
                                              }
                                            },
                                            "range": [
                                              1925,
                                              1953
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 48,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 48,
                                                "column": 44
                                              }
                                            }
                                          },
                                          {
                                            "type": "ReturnStatement",
                                            "argument": null,
                                            "range": [
                                              1970,
                                              1977
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 49,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 49,
                                                "column": 23
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          1907,
                                          1991
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 47,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 50,
                                            "column": 13
                                          }
                                        }
                                      },
                                      "range": [
                                        1895,
                                        1991
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 47,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 50,
                                          "column": 13
                                        }
                                      }
                                    },
                                    "finalizer": null,
                                    "range": [
                                      1805,
                                      1991
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 44,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 50,
                                        "column": 13
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            2004,
                                            2008
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 51,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 51,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "unsubscribe",
                                          "range": [
                                            2009,
                                            2020
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 51,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 51,
                                              "column": 28
                                            }
                                          }
                                        },
                                        "range": [
                                          2004,
                                          2020
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 51,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 51,
                                            "column": 28
                                          }
                                        }
                                      },
                                      "arguments": [],
                                      "range": [
                                        2004,
                                        2022
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 51,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 51,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "range": [
                                      2004,
                                      2023
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 51,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 51,
                                        "column": 31
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              2036,
                                              2040
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 52,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 52,
                                                "column": 16
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "destination",
                                            "range": [
                                              2041,
                                              2052
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 52,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 52,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "range": [
                                            2036,
                                            2052
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 52,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 52,
                                              "column": 28
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "remove",
                                          "range": [
                                            2053,
                                            2059
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 52,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 52,
                                              "column": 35
                                            }
                                          }
                                        },
                                        "range": [
                                          2036,
                                          2059
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 52,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 52,
                                            "column": 35
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "ThisExpression",
                                          "range": [
                                            2060,
                                            2064
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 52,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 52,
                                              "column": 40
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        2036,
                                        2065
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 52,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 52,
                                          "column": 41
                                        }
                                      }
                                    },
                                    "range": [
                                      2036,
                                      2066
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 52,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 52,
                                        "column": 42
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "Identifier",
                                        "name": "subscribeToResult",
                                        "range": [
                                          2079,
                                          2096
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 53,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 53,
                                            "column": 29
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "ThisExpression",
                                          "range": [
                                            2097,
                                            2101
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 53,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 53,
                                              "column": 34
                                            }
                                          }
                                        },
                                        {
                                          "type": "Identifier",
                                          "name": "result",
                                          "range": [
                                            2103,
                                            2109
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 53,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 53,
                                              "column": 42
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        2079,
                                        2110
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 53,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 53,
                                          "column": 43
                                        }
                                      }
                                    },
                                    "range": [
                                      2079,
                                      2111
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 53,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 53,
                                        "column": 44
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  1758,
                                  2121
                                ],
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                1737,
                                2121
                              ],
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 8
                                },
                                "end": {
                                  "line": 54,
                                  "column": 9
                                }
                              }
                            }
                          ],
                          "range": [
                            1727,
                            2127
                          ],
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 53
                            },
                            "end": {
                              "line": 55,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          1712,
                          2127
                        ],
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 38
                          },
                          "end": {
                            "line": 55,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1678,
                        2127
                      ],
                      "loc": {
                        "start": {
                          "line": 41,
                          "column": 4
                        },
                        "end": {
                          "line": 55,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      1678,
                      2128
                    ],
                    "loc": {
                      "start": {
                        "line": 41,
                        "column": 4
                      },
                      "end": {
                        "line": 55,
                        "column": 6
                      }
                    },
                    "leadingComments": [
                      {
                        "type": "Line",
                        "value": " NOTE: overriding `error` instead of `_error` because we don't want",
                        "range": [
                          1547,
                          1616
                        ],
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 4
                          },
                          "end": {
                            "line": 39,
                            "column": 73
                          }
                        }
                      },
                      {
                        "type": "Line",
                        "value": " to have this flag this subscriber as `isStopped`.",
                        "range": [
                          1621,
                          1673
                        ],
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 4
                          },
                          "end": {
                            "line": 40,
                            "column": 56
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "CatchSubscriber",
                      "range": [
                        2140,
                        2155
                      ],
                      "loc": {
                        "start": {
                          "line": 56,
                          "column": 11
                        },
                        "end": {
                          "line": 56,
                          "column": 26
                        }
                      }
                    },
                    "range": [
                      2133,
                      2156
                    ],
                    "loc": {
                      "start": {
                        "line": 56,
                        "column": 4
                      },
                      "end": {
                        "line": 56,
                        "column": 27
                      }
                    }
                  }
                ],
                "range": [
                  1329,
                  2158
                ],
                "loc": {
                  "start": {
                    "line": 32,
                    "column": 41
                  },
                  "end": {
                    "line": 57,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                1311,
                2158
              ],
              "loc": {
                "start": {
                  "line": 32,
                  "column": 23
                },
                "end": {
                  "line": 57,
                  "column": 1
                }
              }
            },
            "arguments": [
              {
                "type": "Identifier",
                "name": "OuterSubscriber",
                "range": [
                  2159,
                  2174
                ],
                "loc": {
                  "start": {
                    "line": 57,
                    "column": 2
                  },
                  "end": {
                    "line": 57,
                    "column": 17
                  }
                }
              }
            ],
            "range": [
              1311,
              2175
            ],
            "loc": {
              "start": {
                "line": 32,
                "column": 23
              },
              "end": {
                "line": 57,
                "column": 18
              }
            }
          },
          "range": [
            1292,
            2176
          ],
          "loc": {
            "start": {
              "line": 32,
              "column": 4
            },
            "end": {
              "line": 57,
              "column": 19
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        1288,
        2177
      ],
      "loc": {
        "start": {
          "line": 32,
          "column": 0
        },
        "end": {
          "line": 57,
          "column": 20
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            1196,
            1287
          ],
          "loc": {
            "start": {
              "line": 27,
              "column": 0
            },
            "end": {
              "line": 31,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Line",
          "value": "# sourceMappingURL=catch.js.map",
          "range": [
            2178,
            2211
          ],
          "loc": {
            "start": {
              "line": 58,
              "column": 0
            },
            "end": {
              "line": 58,
              "column": 33
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    2177
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 57,
      "column": 20
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": "*\n * Catches errors on the observable to be handled by returning a new observable or throwing an error.\n * @param {function} selector a function that takes as arguments `err`, which is the error, and `caught`, which\n *  is the source observable, in case you'd like to \"retry\" that observable by returning it again. Whatever observable\n *  is returned by the `selector` will be used to continue the observable chain.\n * @return {Observable} an observable that originates from either the source or the observable returned by the\n *  catch `selector` function.\n * @method catch\n * @owner Observable\n ",
      "range": [
        117,
        718
      ],
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 12,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
      "range": [
        1196,
        1287
      ],
      "loc": {
        "start": {
          "line": 27,
          "column": 0
        },
        "end": {
          "line": 31,
          "column": 3
        }
      }
    },
    {
      "type": "Line",
      "value": " NOTE: overriding `error` instead of `_error` because we don't want",
      "range": [
        1547,
        1616
      ],
      "loc": {
        "start": {
          "line": 39,
          "column": 4
        },
        "end": {
          "line": 39,
          "column": 73
        }
      }
    },
    {
      "type": "Line",
      "value": " to have this flag this subscriber as `isStopped`.",
      "range": [
        1621,
        1673
      ],
      "loc": {
        "start": {
          "line": 40,
          "column": 4
        },
        "end": {
          "line": 40,
          "column": 56
        }
      }
    },
    {
      "type": "Line",
      "value": "# sourceMappingURL=catch.js.map",
      "range": [
        2178,
        2211
      ],
      "loc": {
        "start": {
          "line": 58,
          "column": 0
        },
        "end": {
          "line": 58,
          "column": 33
        }
      }
    }
  ]
}