{
  "type": "Program",
  "body": [
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "Subscriber",
            "range": [
              9,
              19
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 19
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "Subscriber",
            "range": [
              9,
              19
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 19
              }
            }
          },
          "range": [
            9,
            19
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 9
            },
            "end": {
              "line": 1,
              "column": 19
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../Subscriber",
        "raw": "'../Subscriber'",
        "range": [
          27,
          42
        ],
        "loc": {
          "start": {
            "line": 1,
            "column": 27
          },
          "end": {
            "line": 1,
            "column": 42
          }
        }
      },
      "range": [
        0,
        43
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 43
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "EmptyError",
            "range": [
              53,
              63
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 19
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "EmptyError",
            "range": [
              53,
              63
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 19
              }
            }
          },
          "range": [
            53,
            63
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 9
            },
            "end": {
              "line": 2,
              "column": 19
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../util/EmptyError",
        "raw": "'../util/EmptyError'",
        "range": [
          71,
          91
        ],
        "loc": {
          "start": {
            "line": 2,
            "column": 27
          },
          "end": {
            "line": 2,
            "column": 47
          }
        }
      },
      "range": [
        44,
        92
      ],
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 48
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": " tslint:disable:max-line-length ",
          "range": [
            93,
            129
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 0
            },
            "end": {
              "line": 3,
              "column": 36
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "FunctionDeclaration",
        "id": {
          "type": "Identifier",
          "name": "last",
          "range": [
            146,
            150
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 16
            },
            "end": {
              "line": 4,
              "column": 20
            }
          }
        },
        "params": [
          {
            "type": "Identifier",
            "name": "predicate",
            "range": [
              151,
              160
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 21
              },
              "end": {
                "line": 4,
                "column": 30
              }
            }
          },
          {
            "type": "Identifier",
            "name": "resultSelector",
            "range": [
              162,
              176
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 32
              },
              "end": {
                "line": 4,
                "column": 46
              }
            }
          },
          {
            "type": "Identifier",
            "name": "defaultValue",
            "range": [
              178,
              190
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 48
              },
              "end": {
                "line": 4,
                "column": 60
              }
            }
          }
        ],
        "body": {
          "type": "BlockStatement",
          "body": [
            {
              "type": "ReturnStatement",
              "argument": {
                "type": "CallExpression",
                "callee": {
                  "type": "MemberExpression",
                  "computed": false,
                  "object": {
                    "type": "ThisExpression",
                    "range": [
                      205,
                      209
                    ],
                    "loc": {
                      "start": {
                        "line": 5,
                        "column": 11
                      },
                      "end": {
                        "line": 5,
                        "column": 15
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "name": "lift",
                    "range": [
                      210,
                      214
                    ],
                    "loc": {
                      "start": {
                        "line": 5,
                        "column": 16
                      },
                      "end": {
                        "line": 5,
                        "column": 20
                      }
                    }
                  },
                  "range": [
                    205,
                    214
                  ],
                  "loc": {
                    "start": {
                      "line": 5,
                      "column": 11
                    },
                    "end": {
                      "line": 5,
                      "column": 20
                    }
                  }
                },
                "arguments": [
                  {
                    "type": "NewExpression",
                    "callee": {
                      "type": "Identifier",
                      "name": "LastOperator",
                      "range": [
                        219,
                        231
                      ],
                      "loc": {
                        "start": {
                          "line": 5,
                          "column": 25
                        },
                        "end": {
                          "line": 5,
                          "column": 37
                        }
                      }
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "name": "predicate",
                        "range": [
                          232,
                          241
                        ],
                        "loc": {
                          "start": {
                            "line": 5,
                            "column": 38
                          },
                          "end": {
                            "line": 5,
                            "column": 47
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "resultSelector",
                        "range": [
                          243,
                          257
                        ],
                        "loc": {
                          "start": {
                            "line": 5,
                            "column": 49
                          },
                          "end": {
                            "line": 5,
                            "column": 63
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "defaultValue",
                        "range": [
                          259,
                          271
                        ],
                        "loc": {
                          "start": {
                            "line": 5,
                            "column": 65
                          },
                          "end": {
                            "line": 5,
                            "column": 77
                          }
                        }
                      },
                      {
                        "type": "ThisExpression",
                        "range": [
                          273,
                          277
                        ],
                        "loc": {
                          "start": {
                            "line": 5,
                            "column": 79
                          },
                          "end": {
                            "line": 5,
                            "column": 83
                          }
                        }
                      }
                    ],
                    "range": [
                      215,
                      278
                    ],
                    "loc": {
                      "start": {
                        "line": 5,
                        "column": 21
                      },
                      "end": {
                        "line": 5,
                        "column": 84
                      }
                    }
                  }
                ],
                "range": [
                  205,
                  279
                ],
                "loc": {
                  "start": {
                    "line": 5,
                    "column": 11
                  },
                  "end": {
                    "line": 5,
                    "column": 85
                  }
                }
              },
              "range": [
                198,
                280
              ],
              "loc": {
                "start": {
                  "line": 5,
                  "column": 4
                },
                "end": {
                  "line": 5,
                  "column": 86
                }
              }
            }
          ],
          "range": [
            192,
            282
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 62
            },
            "end": {
              "line": 6,
              "column": 1
            }
          }
        },
        "generator": false,
        "expression": false,
        "range": [
          137,
          282
        ],
        "loc": {
          "start": {
            "line": 4,
            "column": 7
          },
          "end": {
            "line": 6,
            "column": 1
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": " tslint:disable:max-line-length ",
            "range": [
              93,
              129
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 0
              },
              "end": {
                "line": 3,
                "column": 36
              }
            }
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "range": [
        130,
        282
      ],
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 1
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": " tslint:disable:max-line-length ",
          "range": [
            93,
            129
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 0
            },
            "end": {
              "line": 3,
              "column": 36
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "LastOperator",
            "range": [
              287,
              299
            ],
            "loc": {
              "start": {
                "line": 7,
                "column": 4
              },
              "end": {
                "line": 7,
                "column": 16
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "LastOperator",
                      "range": [
                        330,
                        342
                      ],
                      "loc": {
                        "start": {
                          "line": 8,
                          "column": 13
                        },
                        "end": {
                          "line": 8,
                          "column": 25
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "predicate",
                        "range": [
                          343,
                          352
                        ],
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 26
                          },
                          "end": {
                            "line": 8,
                            "column": 35
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "resultSelector",
                        "range": [
                          354,
                          368
                        ],
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 37
                          },
                          "end": {
                            "line": 8,
                            "column": 51
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "defaultValue",
                        "range": [
                          370,
                          382
                        ],
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 53
                          },
                          "end": {
                            "line": 8,
                            "column": 65
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "source",
                        "range": [
                          384,
                          390
                        ],
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 67
                          },
                          "end": {
                            "line": 8,
                            "column": 73
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  402,
                                  406
                                ],
                                "loc": {
                                  "start": {
                                    "line": 9,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 9,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "predicate",
                                "range": [
                                  407,
                                  416
                                ],
                                "loc": {
                                  "start": {
                                    "line": 9,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 9,
                                    "column": 22
                                  }
                                }
                              },
                              "range": [
                                402,
                                416
                              ],
                              "loc": {
                                "start": {
                                  "line": 9,
                                  "column": 8
                                },
                                "end": {
                                  "line": 9,
                                  "column": 22
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "predicate",
                              "range": [
                                419,
                                428
                              ],
                              "loc": {
                                "start": {
                                  "line": 9,
                                  "column": 25
                                },
                                "end": {
                                  "line": 9,
                                  "column": 34
                                }
                              }
                            },
                            "range": [
                              402,
                              428
                            ],
                            "loc": {
                              "start": {
                                "line": 9,
                                "column": 8
                              },
                              "end": {
                                "line": 9,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            402,
                            429
                          ],
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 8
                            },
                            "end": {
                              "line": 9,
                              "column": 35
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  438,
                                  442
                                ],
                                "loc": {
                                  "start": {
                                    "line": 10,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 10,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "resultSelector",
                                "range": [
                                  443,
                                  457
                                ],
                                "loc": {
                                  "start": {
                                    "line": 10,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 10,
                                    "column": 27
                                  }
                                }
                              },
                              "range": [
                                438,
                                457
                              ],
                              "loc": {
                                "start": {
                                  "line": 10,
                                  "column": 8
                                },
                                "end": {
                                  "line": 10,
                                  "column": 27
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "resultSelector",
                              "range": [
                                460,
                                474
                              ],
                              "loc": {
                                "start": {
                                  "line": 10,
                                  "column": 30
                                },
                                "end": {
                                  "line": 10,
                                  "column": 44
                                }
                              }
                            },
                            "range": [
                              438,
                              474
                            ],
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 8
                              },
                              "end": {
                                "line": 10,
                                "column": 44
                              }
                            }
                          },
                          "range": [
                            438,
                            475
                          ],
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 8
                            },
                            "end": {
                              "line": 10,
                              "column": 45
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  484,
                                  488
                                ],
                                "loc": {
                                  "start": {
                                    "line": 11,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 11,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "defaultValue",
                                "range": [
                                  489,
                                  501
                                ],
                                "loc": {
                                  "start": {
                                    "line": 11,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 11,
                                    "column": 25
                                  }
                                }
                              },
                              "range": [
                                484,
                                501
                              ],
                              "loc": {
                                "start": {
                                  "line": 11,
                                  "column": 8
                                },
                                "end": {
                                  "line": 11,
                                  "column": 25
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "defaultValue",
                              "range": [
                                504,
                                516
                              ],
                              "loc": {
                                "start": {
                                  "line": 11,
                                  "column": 28
                                },
                                "end": {
                                  "line": 11,
                                  "column": 40
                                }
                              }
                            },
                            "range": [
                              484,
                              516
                            ],
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 8
                              },
                              "end": {
                                "line": 11,
                                "column": 40
                              }
                            }
                          },
                          "range": [
                            484,
                            517
                          ],
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 8
                            },
                            "end": {
                              "line": 11,
                              "column": 41
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  526,
                                  530
                                ],
                                "loc": {
                                  "start": {
                                    "line": 12,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 12,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "source",
                                "range": [
                                  531,
                                  537
                                ],
                                "loc": {
                                  "start": {
                                    "line": 12,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 12,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                526,
                                537
                              ],
                              "loc": {
                                "start": {
                                  "line": 12,
                                  "column": 8
                                },
                                "end": {
                                  "line": 12,
                                  "column": 19
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "source",
                              "range": [
                                540,
                                546
                              ],
                              "loc": {
                                "start": {
                                  "line": 12,
                                  "column": 22
                                },
                                "end": {
                                  "line": 12,
                                  "column": 28
                                }
                              }
                            },
                            "range": [
                              526,
                              546
                            ],
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 8
                              },
                              "end": {
                                "line": 12,
                                "column": 28
                              }
                            }
                          },
                          "range": [
                            526,
                            547
                          ],
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 8
                            },
                            "end": {
                              "line": 12,
                              "column": 29
                            }
                          }
                        }
                      ],
                      "range": [
                        392,
                        553
                      ],
                      "loc": {
                        "start": {
                          "line": 8,
                          "column": 75
                        },
                        "end": {
                          "line": 13,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      321,
                      553
                    ],
                    "loc": {
                      "start": {
                        "line": 8,
                        "column": 4
                      },
                      "end": {
                        "line": 13,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "LastOperator",
                            "range": [
                              558,
                              570
                            ],
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 4
                              },
                              "end": {
                                "line": 14,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              571,
                              580
                            ],
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 17
                              },
                              "end": {
                                "line": 14,
                                "column": 26
                              }
                            }
                          },
                          "range": [
                            558,
                            580
                          ],
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 4
                            },
                            "end": {
                              "line": 14,
                              "column": 26
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "call",
                          "range": [
                            581,
                            585
                          ],
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 27
                            },
                            "end": {
                              "line": 14,
                              "column": 31
                            }
                          }
                        },
                        "range": [
                          558,
                          585
                        ],
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 4
                          },
                          "end": {
                            "line": 14,
                            "column": 31
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "observer",
                            "range": [
                              598,
                              606
                            ],
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 44
                              },
                              "end": {
                                "line": 14,
                                "column": 52
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "source",
                            "range": [
                              608,
                              614
                            ],
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 54
                              },
                              "end": {
                                "line": 14,
                                "column": 60
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ReturnStatement",
                              "argument": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "source",
                                    "range": [
                                      633,
                                      639
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 15,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 15,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_subscribe",
                                    "range": [
                                      640,
                                      650
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 15,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 15,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "range": [
                                    633,
                                    650
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 15,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 15,
                                      "column": 32
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "NewExpression",
                                    "callee": {
                                      "type": "Identifier",
                                      "name": "LastSubscriber",
                                      "range": [
                                        655,
                                        669
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 15,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 15,
                                          "column": 51
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "name": "observer",
                                        "range": [
                                          670,
                                          678
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 15,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 15,
                                            "column": 60
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            680,
                                            684
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 15,
                                              "column": 62
                                            },
                                            "end": {
                                              "line": 15,
                                              "column": 66
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "predicate",
                                          "range": [
                                            685,
                                            694
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 15,
                                              "column": 67
                                            },
                                            "end": {
                                              "line": 15,
                                              "column": 76
                                            }
                                          }
                                        },
                                        "range": [
                                          680,
                                          694
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 15,
                                            "column": 62
                                          },
                                          "end": {
                                            "line": 15,
                                            "column": 76
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            696,
                                            700
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 15,
                                              "column": 78
                                            },
                                            "end": {
                                              "line": 15,
                                              "column": 82
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "resultSelector",
                                          "range": [
                                            701,
                                            715
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 15,
                                              "column": 83
                                            },
                                            "end": {
                                              "line": 15,
                                              "column": 97
                                            }
                                          }
                                        },
                                        "range": [
                                          696,
                                          715
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 15,
                                            "column": 78
                                          },
                                          "end": {
                                            "line": 15,
                                            "column": 97
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            717,
                                            721
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 15,
                                              "column": 99
                                            },
                                            "end": {
                                              "line": 15,
                                              "column": 103
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "defaultValue",
                                          "range": [
                                            722,
                                            734
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 15,
                                              "column": 104
                                            },
                                            "end": {
                                              "line": 15,
                                              "column": 116
                                            }
                                          }
                                        },
                                        "range": [
                                          717,
                                          734
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 15,
                                            "column": 99
                                          },
                                          "end": {
                                            "line": 15,
                                            "column": 116
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            736,
                                            740
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 15,
                                              "column": 118
                                            },
                                            "end": {
                                              "line": 15,
                                              "column": 122
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "source",
                                          "range": [
                                            741,
                                            747
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 15,
                                              "column": 123
                                            },
                                            "end": {
                                              "line": 15,
                                              "column": 129
                                            }
                                          }
                                        },
                                        "range": [
                                          736,
                                          747
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 15,
                                            "column": 118
                                          },
                                          "end": {
                                            "line": 15,
                                            "column": 129
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      651,
                                      748
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 15,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 15,
                                        "column": 130
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  633,
                                  749
                                ],
                                "loc": {
                                  "start": {
                                    "line": 15,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 15,
                                    "column": 131
                                  }
                                }
                              },
                              "range": [
                                626,
                                750
                              ],
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 8
                                },
                                "end": {
                                  "line": 15,
                                  "column": 132
                                }
                              }
                            }
                          ],
                          "range": [
                            616,
                            756
                          ],
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 62
                            },
                            "end": {
                              "line": 16,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          588,
                          756
                        ],
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 34
                          },
                          "end": {
                            "line": 16,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        558,
                        756
                      ],
                      "loc": {
                        "start": {
                          "line": 14,
                          "column": 4
                        },
                        "end": {
                          "line": 16,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      558,
                      757
                    ],
                    "loc": {
                      "start": {
                        "line": 14,
                        "column": 4
                      },
                      "end": {
                        "line": 16,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "LastOperator",
                      "range": [
                        769,
                        781
                      ],
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 11
                        },
                        "end": {
                          "line": 17,
                          "column": 23
                        }
                      }
                    },
                    "range": [
                      762,
                      782
                    ],
                    "loc": {
                      "start": {
                        "line": 17,
                        "column": 4
                      },
                      "end": {
                        "line": 17,
                        "column": 24
                      }
                    }
                  }
                ],
                "range": [
                  315,
                  784
                ],
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 32
                  },
                  "end": {
                    "line": 18,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                303,
                784
              ],
              "loc": {
                "start": {
                  "line": 7,
                  "column": 20
                },
                "end": {
                  "line": 18,
                  "column": 1
                }
              }
            },
            "arguments": [],
            "range": [
              303,
              786
            ],
            "loc": {
              "start": {
                "line": 7,
                "column": 20
              },
              "end": {
                "line": 18,
                "column": 3
              }
            }
          },
          "range": [
            287,
            787
          ],
          "loc": {
            "start": {
              "line": 7,
              "column": 4
            },
            "end": {
              "line": 18,
              "column": 4
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        283,
        788
      ],
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 18,
          "column": 5
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            789,
            880
          ],
          "loc": {
            "start": {
              "line": 19,
              "column": 0
            },
            "end": {
              "line": 23,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "LastSubscriber",
            "range": [
              885,
              899
            ],
            "loc": {
              "start": {
                "line": 24,
                "column": 4
              },
              "end": {
                "line": 24,
                "column": 18
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "_super",
                  "range": [
                    913,
                    919
                  ],
                  "loc": {
                    "start": {
                      "line": 24,
                      "column": 32
                    },
                    "end": {
                      "line": 24,
                      "column": 38
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "Identifier",
                        "name": "__extends",
                        "range": [
                          927,
                          936
                        ],
                        "loc": {
                          "start": {
                            "line": 25,
                            "column": 4
                          },
                          "end": {
                            "line": 25,
                            "column": 13
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "name": "LastSubscriber",
                          "range": [
                            937,
                            951
                          ],
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 14
                            },
                            "end": {
                              "line": 25,
                              "column": 28
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "_super",
                          "range": [
                            953,
                            959
                          ],
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 30
                            },
                            "end": {
                              "line": 25,
                              "column": 36
                            }
                          }
                        }
                      ],
                      "range": [
                        927,
                        960
                      ],
                      "loc": {
                        "start": {
                          "line": 25,
                          "column": 4
                        },
                        "end": {
                          "line": 25,
                          "column": 37
                        }
                      }
                    },
                    "range": [
                      927,
                      961
                    ],
                    "loc": {
                      "start": {
                        "line": 25,
                        "column": 4
                      },
                      "end": {
                        "line": 25,
                        "column": 38
                      }
                    }
                  },
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "LastSubscriber",
                      "range": [
                        975,
                        989
                      ],
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 13
                        },
                        "end": {
                          "line": 26,
                          "column": 27
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "destination",
                        "range": [
                          990,
                          1001
                        ],
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 28
                          },
                          "end": {
                            "line": 26,
                            "column": 39
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "predicate",
                        "range": [
                          1003,
                          1012
                        ],
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 41
                          },
                          "end": {
                            "line": 26,
                            "column": 50
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "resultSelector",
                        "range": [
                          1014,
                          1028
                        ],
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 52
                          },
                          "end": {
                            "line": 26,
                            "column": 66
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "defaultValue",
                        "range": [
                          1030,
                          1042
                        ],
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 68
                          },
                          "end": {
                            "line": 26,
                            "column": 80
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "source",
                        "range": [
                          1044,
                          1050
                        ],
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 82
                          },
                          "end": {
                            "line": 26,
                            "column": 88
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "_super",
                                "range": [
                                  1062,
                                  1068
                                ],
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 14
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "call",
                                "range": [
                                  1069,
                                  1073
                                ],
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                1062,
                                1073
                              ],
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 8
                                },
                                "end": {
                                  "line": 27,
                                  "column": 19
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "range": [
                                  1074,
                                  1078
                                ],
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 24
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "name": "destination",
                                "range": [
                                  1080,
                                  1091
                                ],
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 37
                                  }
                                }
                              }
                            ],
                            "range": [
                              1062,
                              1092
                            ],
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 8
                              },
                              "end": {
                                "line": 27,
                                "column": 38
                              }
                            }
                          },
                          "range": [
                            1062,
                            1093
                          ],
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 8
                            },
                            "end": {
                              "line": 27,
                              "column": 39
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1102,
                                  1106
                                ],
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "predicate",
                                "range": [
                                  1107,
                                  1116
                                ],
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 22
                                  }
                                }
                              },
                              "range": [
                                1102,
                                1116
                              ],
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 8
                                },
                                "end": {
                                  "line": 28,
                                  "column": 22
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "predicate",
                              "range": [
                                1119,
                                1128
                              ],
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 25
                                },
                                "end": {
                                  "line": 28,
                                  "column": 34
                                }
                              }
                            },
                            "range": [
                              1102,
                              1128
                            ],
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 8
                              },
                              "end": {
                                "line": 28,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            1102,
                            1129
                          ],
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 8
                            },
                            "end": {
                              "line": 28,
                              "column": 35
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1138,
                                  1142
                                ],
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "resultSelector",
                                "range": [
                                  1143,
                                  1157
                                ],
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 27
                                  }
                                }
                              },
                              "range": [
                                1138,
                                1157
                              ],
                              "loc": {
                                "start": {
                                  "line": 29,
                                  "column": 8
                                },
                                "end": {
                                  "line": 29,
                                  "column": 27
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "resultSelector",
                              "range": [
                                1160,
                                1174
                              ],
                              "loc": {
                                "start": {
                                  "line": 29,
                                  "column": 30
                                },
                                "end": {
                                  "line": 29,
                                  "column": 44
                                }
                              }
                            },
                            "range": [
                              1138,
                              1174
                            ],
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 8
                              },
                              "end": {
                                "line": 29,
                                "column": 44
                              }
                            }
                          },
                          "range": [
                            1138,
                            1175
                          ],
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 8
                            },
                            "end": {
                              "line": 29,
                              "column": 45
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1184,
                                  1188
                                ],
                                "loc": {
                                  "start": {
                                    "line": 30,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 30,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "defaultValue",
                                "range": [
                                  1189,
                                  1201
                                ],
                                "loc": {
                                  "start": {
                                    "line": 30,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 30,
                                    "column": 25
                                  }
                                }
                              },
                              "range": [
                                1184,
                                1201
                              ],
                              "loc": {
                                "start": {
                                  "line": 30,
                                  "column": 8
                                },
                                "end": {
                                  "line": 30,
                                  "column": 25
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "defaultValue",
                              "range": [
                                1204,
                                1216
                              ],
                              "loc": {
                                "start": {
                                  "line": 30,
                                  "column": 28
                                },
                                "end": {
                                  "line": 30,
                                  "column": 40
                                }
                              }
                            },
                            "range": [
                              1184,
                              1216
                            ],
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 8
                              },
                              "end": {
                                "line": 30,
                                "column": 40
                              }
                            }
                          },
                          "range": [
                            1184,
                            1217
                          ],
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 8
                            },
                            "end": {
                              "line": 30,
                              "column": 41
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1226,
                                  1230
                                ],
                                "loc": {
                                  "start": {
                                    "line": 31,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 31,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "source",
                                "range": [
                                  1231,
                                  1237
                                ],
                                "loc": {
                                  "start": {
                                    "line": 31,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 31,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                1226,
                                1237
                              ],
                              "loc": {
                                "start": {
                                  "line": 31,
                                  "column": 8
                                },
                                "end": {
                                  "line": 31,
                                  "column": 19
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "source",
                              "range": [
                                1240,
                                1246
                              ],
                              "loc": {
                                "start": {
                                  "line": 31,
                                  "column": 22
                                },
                                "end": {
                                  "line": 31,
                                  "column": 28
                                }
                              }
                            },
                            "range": [
                              1226,
                              1246
                            ],
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 8
                              },
                              "end": {
                                "line": 31,
                                "column": 28
                              }
                            }
                          },
                          "range": [
                            1226,
                            1247
                          ],
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 8
                            },
                            "end": {
                              "line": 31,
                              "column": 29
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1256,
                                  1260
                                ],
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "hasValue",
                                "range": [
                                  1261,
                                  1269
                                ],
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 21
                                  }
                                }
                              },
                              "range": [
                                1256,
                                1269
                              ],
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 8
                                },
                                "end": {
                                  "line": 32,
                                  "column": 21
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": false,
                              "raw": "false",
                              "range": [
                                1272,
                                1277
                              ],
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 24
                                },
                                "end": {
                                  "line": 32,
                                  "column": 29
                                }
                              }
                            },
                            "range": [
                              1256,
                              1277
                            ],
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 8
                              },
                              "end": {
                                "line": 32,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            1256,
                            1278
                          ],
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 8
                            },
                            "end": {
                              "line": 32,
                              "column": 30
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1287,
                                  1291
                                ],
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "index",
                                "range": [
                                  1292,
                                  1297
                                ],
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 18
                                  }
                                }
                              },
                              "range": [
                                1287,
                                1297
                              ],
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 8
                                },
                                "end": {
                                  "line": 33,
                                  "column": 18
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": 0,
                              "raw": "0",
                              "range": [
                                1300,
                                1301
                              ],
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 21
                                },
                                "end": {
                                  "line": 33,
                                  "column": 22
                                }
                              }
                            },
                            "range": [
                              1287,
                              1301
                            ],
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 8
                              },
                              "end": {
                                "line": 33,
                                "column": 22
                              }
                            }
                          },
                          "range": [
                            1287,
                            1302
                          ],
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 8
                            },
                            "end": {
                              "line": 33,
                              "column": 23
                            }
                          }
                        },
                        {
                          "type": "IfStatement",
                          "test": {
                            "type": "BinaryExpression",
                            "operator": "!==",
                            "left": {
                              "type": "UnaryExpression",
                              "operator": "typeof",
                              "argument": {
                                "type": "Identifier",
                                "name": "defaultValue",
                                "range": [
                                  1322,
                                  1334
                                ],
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 31
                                  }
                                }
                              },
                              "prefix": true,
                              "range": [
                                1315,
                                1334
                              ],
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 12
                                },
                                "end": {
                                  "line": 34,
                                  "column": 31
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": "undefined",
                              "raw": "'undefined'",
                              "range": [
                                1339,
                                1350
                              ],
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 36
                                },
                                "end": {
                                  "line": 34,
                                  "column": 47
                                }
                              }
                            },
                            "range": [
                              1315,
                              1350
                            ],
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 12
                              },
                              "end": {
                                "line": 34,
                                "column": 47
                              }
                            }
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        1366,
                                        1370
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 35,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 35,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "lastValue",
                                      "range": [
                                        1371,
                                        1380
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 35,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 35,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "range": [
                                      1366,
                                      1380
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 35,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 35,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Identifier",
                                    "name": "defaultValue",
                                    "range": [
                                      1383,
                                      1395
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 35,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 35,
                                        "column": 41
                                      }
                                    }
                                  },
                                  "range": [
                                    1366,
                                    1395
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 35,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 35,
                                      "column": 41
                                    }
                                  }
                                },
                                "range": [
                                  1366,
                                  1396
                                ],
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 42
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        1409,
                                        1413
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 36,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 36,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "hasValue",
                                      "range": [
                                        1414,
                                        1422
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 36,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 36,
                                          "column": 25
                                        }
                                      }
                                    },
                                    "range": [
                                      1409,
                                      1422
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 36,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 36,
                                        "column": 25
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Literal",
                                    "value": true,
                                    "raw": "true",
                                    "range": [
                                      1425,
                                      1429
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 36,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 36,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "range": [
                                    1409,
                                    1429
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 36,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 36,
                                      "column": 32
                                    }
                                  }
                                },
                                "range": [
                                  1409,
                                  1430
                                ],
                                "loc": {
                                  "start": {
                                    "line": 36,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 36,
                                    "column": 33
                                  }
                                }
                              }
                            ],
                            "range": [
                              1352,
                              1440
                            ],
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 49
                              },
                              "end": {
                                "line": 37,
                                "column": 9
                              }
                            }
                          },
                          "alternate": null,
                          "range": [
                            1311,
                            1440
                          ],
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 8
                            },
                            "end": {
                              "line": 37,
                              "column": 9
                            }
                          }
                        }
                      ],
                      "range": [
                        1052,
                        1446
                      ],
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 90
                        },
                        "end": {
                          "line": 38,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      966,
                      1446
                    ],
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 4
                      },
                      "end": {
                        "line": 38,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "LastSubscriber",
                            "range": [
                              1451,
                              1465
                            ],
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 4
                              },
                              "end": {
                                "line": 39,
                                "column": 18
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              1466,
                              1475
                            ],
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 19
                              },
                              "end": {
                                "line": 39,
                                "column": 28
                              }
                            }
                          },
                          "range": [
                            1451,
                            1475
                          ],
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 4
                            },
                            "end": {
                              "line": 39,
                              "column": 28
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_next",
                          "range": [
                            1476,
                            1481
                          ],
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 29
                            },
                            "end": {
                              "line": 39,
                              "column": 34
                            }
                          }
                        },
                        "range": [
                          1451,
                          1481
                        ],
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 4
                          },
                          "end": {
                            "line": 39,
                            "column": 34
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "value",
                            "range": [
                              1494,
                              1499
                            ],
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 47
                              },
                              "end": {
                                "line": 39,
                                "column": 52
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "index",
                                    "range": [
                                      1515,
                                      1520
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 40,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 40,
                                        "column": 17
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "UpdateExpression",
                                    "operator": "++",
                                    "argument": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          1523,
                                          1527
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 40,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 40,
                                            "column": 24
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "index",
                                        "range": [
                                          1528,
                                          1533
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 40,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 40,
                                            "column": 30
                                          }
                                        }
                                      },
                                      "range": [
                                        1523,
                                        1533
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 40,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 40,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "prefix": false,
                                    "range": [
                                      1523,
                                      1535
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 40,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 40,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "range": [
                                    1515,
                                    1535
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 40,
                                      "column": 32
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                1511,
                                1536
                              ],
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 8
                                },
                                "end": {
                                  "line": 40,
                                  "column": 33
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    1549,
                                    1553
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 41,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 41,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "predicate",
                                  "range": [
                                    1554,
                                    1563
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 41,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 41,
                                      "column": 26
                                    }
                                  }
                                },
                                "range": [
                                  1549,
                                  1563
                                ],
                                "loc": {
                                  "start": {
                                    "line": 41,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 41,
                                    "column": 26
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            1579,
                                            1583
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 42,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 42,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "_tryPredicate",
                                          "range": [
                                            1584,
                                            1597
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 42,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 42,
                                              "column": 30
                                            }
                                          }
                                        },
                                        "range": [
                                          1579,
                                          1597
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 42,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 42,
                                            "column": 30
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "value",
                                          "range": [
                                            1598,
                                            1603
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 42,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 42,
                                              "column": 36
                                            }
                                          }
                                        },
                                        {
                                          "type": "Identifier",
                                          "name": "index",
                                          "range": [
                                            1605,
                                            1610
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 42,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 42,
                                              "column": 43
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        1579,
                                        1611
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 42,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 42,
                                          "column": 44
                                        }
                                      }
                                    },
                                    "range": [
                                      1579,
                                      1612
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 45
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  1565,
                                  1622
                                ],
                                "loc": {
                                  "start": {
                                    "line": 41,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "IfStatement",
                                    "test": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          1654,
                                          1658
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 45,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 45,
                                            "column": 20
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "resultSelector",
                                        "range": [
                                          1659,
                                          1673
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 45,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 45,
                                            "column": 35
                                          }
                                        }
                                      },
                                      "range": [
                                        1654,
                                        1673
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 45,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 45,
                                          "column": 35
                                        }
                                      }
                                    },
                                    "consequent": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "expression": {
                                            "type": "CallExpression",
                                            "callee": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "ThisExpression",
                                                "range": [
                                                  1693,
                                                  1697
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 46,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 46,
                                                    "column": 20
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "_tryResultSelector",
                                                "range": [
                                                  1698,
                                                  1716
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 46,
                                                    "column": 21
                                                  },
                                                  "end": {
                                                    "line": 46,
                                                    "column": 39
                                                  }
                                                }
                                              },
                                              "range": [
                                                1693,
                                                1716
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 46,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 46,
                                                  "column": 39
                                                }
                                              }
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "name": "value",
                                                "range": [
                                                  1717,
                                                  1722
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 46,
                                                    "column": 40
                                                  },
                                                  "end": {
                                                    "line": 46,
                                                    "column": 45
                                                  }
                                                }
                                              },
                                              {
                                                "type": "Identifier",
                                                "name": "index",
                                                "range": [
                                                  1724,
                                                  1729
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 46,
                                                    "column": 47
                                                  },
                                                  "end": {
                                                    "line": 46,
                                                    "column": 52
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              1693,
                                              1730
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 46,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 46,
                                                "column": 53
                                              }
                                            }
                                          },
                                          "range": [
                                            1693,
                                            1731
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 46,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 46,
                                              "column": 54
                                            }
                                          }
                                        },
                                        {
                                          "type": "ReturnStatement",
                                          "argument": null,
                                          "range": [
                                            1748,
                                            1755
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 23
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        1675,
                                        1769
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 45,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 48,
                                          "column": 13
                                        }
                                      }
                                    },
                                    "alternate": null,
                                    "range": [
                                      1650,
                                      1769
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 45,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 48,
                                        "column": 13
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            1782,
                                            1786
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 49,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 49,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "lastValue",
                                          "range": [
                                            1787,
                                            1796
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 49,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 49,
                                              "column": 26
                                            }
                                          }
                                        },
                                        "range": [
                                          1782,
                                          1796
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 49,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 49,
                                            "column": 26
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "Identifier",
                                        "name": "value",
                                        "range": [
                                          1799,
                                          1804
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 49,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 49,
                                            "column": 34
                                          }
                                        }
                                      },
                                      "range": [
                                        1782,
                                        1804
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 49,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 49,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "range": [
                                      1782,
                                      1805
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 35
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            1818,
                                            1822
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 50,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 50,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "hasValue",
                                          "range": [
                                            1823,
                                            1831
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 50,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 50,
                                              "column": 25
                                            }
                                          }
                                        },
                                        "range": [
                                          1818,
                                          1831
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 50,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 50,
                                            "column": 25
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "Literal",
                                        "value": true,
                                        "raw": "true",
                                        "range": [
                                          1834,
                                          1838
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 50,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 50,
                                            "column": 32
                                          }
                                        }
                                      },
                                      "range": [
                                        1818,
                                        1838
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 50,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 50,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "range": [
                                      1818,
                                      1839
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 50,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 50,
                                        "column": 33
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  1636,
                                  1849
                                ],
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 9
                                  }
                                }
                              },
                              "range": [
                                1545,
                                1849
                              ],
                              "loc": {
                                "start": {
                                  "line": 41,
                                  "column": 8
                                },
                                "end": {
                                  "line": 51,
                                  "column": 9
                                }
                              }
                            }
                          ],
                          "range": [
                            1501,
                            1855
                          ],
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 54
                            },
                            "end": {
                              "line": 52,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          1484,
                          1855
                        ],
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 37
                          },
                          "end": {
                            "line": 52,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1451,
                        1855
                      ],
                      "loc": {
                        "start": {
                          "line": 39,
                          "column": 4
                        },
                        "end": {
                          "line": 52,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      1451,
                      1856
                    ],
                    "loc": {
                      "start": {
                        "line": 39,
                        "column": 4
                      },
                      "end": {
                        "line": 52,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "LastSubscriber",
                            "range": [
                              1861,
                              1875
                            ],
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 4
                              },
                              "end": {
                                "line": 53,
                                "column": 18
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              1876,
                              1885
                            ],
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 19
                              },
                              "end": {
                                "line": 53,
                                "column": 28
                              }
                            }
                          },
                          "range": [
                            1861,
                            1885
                          ],
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 4
                            },
                            "end": {
                              "line": 53,
                              "column": 28
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_tryPredicate",
                          "range": [
                            1886,
                            1899
                          ],
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 29
                            },
                            "end": {
                              "line": 53,
                              "column": 42
                            }
                          }
                        },
                        "range": [
                          1861,
                          1899
                        ],
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 4
                          },
                          "end": {
                            "line": 53,
                            "column": 42
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "value",
                            "range": [
                              1912,
                              1917
                            ],
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 55
                              },
                              "end": {
                                "line": 53,
                                "column": 60
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "index",
                            "range": [
                              1919,
                              1924
                            ],
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 62
                              },
                              "end": {
                                "line": 53,
                                "column": 67
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "result",
                                    "range": [
                                      1940,
                                      1946
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 54,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 54,
                                        "column": 18
                                      }
                                    }
                                  },
                                  "init": null,
                                  "range": [
                                    1940,
                                    1946
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 54,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 54,
                                      "column": 18
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                1936,
                                1947
                              ],
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 8
                                },
                                "end": {
                                  "line": 54,
                                  "column": 19
                                }
                              }
                            },
                            {
                              "type": "TryStatement",
                              "block": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "name": "result",
                                        "range": [
                                          1974,
                                          1980
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 56,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 56,
                                            "column": 18
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              1983,
                                              1987
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 56,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 56,
                                                "column": 25
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "predicate",
                                            "range": [
                                              1988,
                                              1997
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 56,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 56,
                                                "column": 35
                                              }
                                            }
                                          },
                                          "range": [
                                            1983,
                                            1997
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 56,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 56,
                                              "column": 35
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "value",
                                            "range": [
                                              1998,
                                              2003
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 56,
                                                "column": 36
                                              },
                                              "end": {
                                                "line": 56,
                                                "column": 41
                                              }
                                            }
                                          },
                                          {
                                            "type": "Identifier",
                                            "name": "index",
                                            "range": [
                                              2005,
                                              2010
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 56,
                                                "column": 43
                                              },
                                              "end": {
                                                "line": 56,
                                                "column": 48
                                              }
                                            }
                                          },
                                          {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                2012,
                                                2016
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 56,
                                                  "column": 50
                                                },
                                                "end": {
                                                  "line": 56,
                                                  "column": 54
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "source",
                                              "range": [
                                                2017,
                                                2023
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 56,
                                                  "column": 55
                                                },
                                                "end": {
                                                  "line": 56,
                                                  "column": 61
                                                }
                                              }
                                            },
                                            "range": [
                                              2012,
                                              2023
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 56,
                                                "column": 50
                                              },
                                              "end": {
                                                "line": 56,
                                                "column": 61
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          1983,
                                          2024
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 56,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 56,
                                            "column": 62
                                          }
                                        }
                                      },
                                      "range": [
                                        1974,
                                        2024
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 56,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 56,
                                          "column": 62
                                        }
                                      }
                                    },
                                    "range": [
                                      1974,
                                      2025
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 56,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 56,
                                        "column": 63
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  1960,
                                  2035
                                ],
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 9
                                  }
                                }
                              },
                              "handler": {
                                "type": "CatchClause",
                                "param": {
                                  "type": "Identifier",
                                  "name": "err",
                                  "range": [
                                    2051,
                                    2054
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 58,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 58,
                                      "column": 18
                                    }
                                  }
                                },
                                "body": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                2070,
                                                2074
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 59,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 59,
                                                  "column": 16
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "destination",
                                              "range": [
                                                2075,
                                                2086
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 59,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 59,
                                                  "column": 28
                                                }
                                              }
                                            },
                                            "range": [
                                              2070,
                                              2086
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 59,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 59,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "error",
                                            "range": [
                                              2087,
                                              2092
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 59,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 59,
                                                "column": 34
                                              }
                                            }
                                          },
                                          "range": [
                                            2070,
                                            2092
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 59,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 59,
                                              "column": 34
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "err",
                                            "range": [
                                              2093,
                                              2096
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 59,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 59,
                                                "column": 38
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          2070,
                                          2097
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 59,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 59,
                                            "column": 39
                                          }
                                        }
                                      },
                                      "range": [
                                        2070,
                                        2098
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 59,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 59,
                                          "column": 40
                                        }
                                      }
                                    },
                                    {
                                      "type": "ReturnStatement",
                                      "argument": null,
                                      "range": [
                                        2111,
                                        2118
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 60,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 60,
                                          "column": 19
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    2056,
                                    2128
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 58,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 61,
                                      "column": 9
                                    }
                                  }
                                },
                                "range": [
                                  2044,
                                  2128
                                ],
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 9
                                  }
                                }
                              },
                              "finalizer": null,
                              "range": [
                                1956,
                                2128
                              ],
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 8
                                },
                                "end": {
                                  "line": 61,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "Identifier",
                                "name": "result",
                                "range": [
                                  2141,
                                  2147
                                ],
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 62,
                                    "column": 18
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "IfStatement",
                                    "test": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          2167,
                                          2171
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 63,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 63,
                                            "column": 20
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "resultSelector",
                                        "range": [
                                          2172,
                                          2186
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 63,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 63,
                                            "column": 35
                                          }
                                        }
                                      },
                                      "range": [
                                        2167,
                                        2186
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 63,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 63,
                                          "column": 35
                                        }
                                      }
                                    },
                                    "consequent": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "expression": {
                                            "type": "CallExpression",
                                            "callee": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "ThisExpression",
                                                "range": [
                                                  2206,
                                                  2210
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 64,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 64,
                                                    "column": 20
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "_tryResultSelector",
                                                "range": [
                                                  2211,
                                                  2229
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 64,
                                                    "column": 21
                                                  },
                                                  "end": {
                                                    "line": 64,
                                                    "column": 39
                                                  }
                                                }
                                              },
                                              "range": [
                                                2206,
                                                2229
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 64,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 64,
                                                  "column": 39
                                                }
                                              }
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "name": "value",
                                                "range": [
                                                  2230,
                                                  2235
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 64,
                                                    "column": 40
                                                  },
                                                  "end": {
                                                    "line": 64,
                                                    "column": 45
                                                  }
                                                }
                                              },
                                              {
                                                "type": "Identifier",
                                                "name": "index",
                                                "range": [
                                                  2237,
                                                  2242
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 64,
                                                    "column": 47
                                                  },
                                                  "end": {
                                                    "line": 64,
                                                    "column": 52
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              2206,
                                              2243
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 64,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 64,
                                                "column": 53
                                              }
                                            }
                                          },
                                          "range": [
                                            2206,
                                            2244
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 64,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 64,
                                              "column": 54
                                            }
                                          }
                                        },
                                        {
                                          "type": "ReturnStatement",
                                          "argument": null,
                                          "range": [
                                            2261,
                                            2268
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 65,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 65,
                                              "column": 23
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        2188,
                                        2282
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 63,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 66,
                                          "column": 13
                                        }
                                      }
                                    },
                                    "alternate": null,
                                    "range": [
                                      2163,
                                      2282
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 63,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 66,
                                        "column": 13
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            2295,
                                            2299
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "lastValue",
                                          "range": [
                                            2300,
                                            2309
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 26
                                            }
                                          }
                                        },
                                        "range": [
                                          2295,
                                          2309
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 26
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "Identifier",
                                        "name": "value",
                                        "range": [
                                          2312,
                                          2317
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 34
                                          }
                                        }
                                      },
                                      "range": [
                                        2295,
                                        2317
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "range": [
                                      2295,
                                      2318
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 67,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 67,
                                        "column": 35
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            2331,
                                            2335
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 68,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 68,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "hasValue",
                                          "range": [
                                            2336,
                                            2344
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 68,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 68,
                                              "column": 25
                                            }
                                          }
                                        },
                                        "range": [
                                          2331,
                                          2344
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 68,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 68,
                                            "column": 25
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "Literal",
                                        "value": true,
                                        "raw": "true",
                                        "range": [
                                          2347,
                                          2351
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 68,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 68,
                                            "column": 32
                                          }
                                        }
                                      },
                                      "range": [
                                        2331,
                                        2351
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 68,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 68,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "range": [
                                      2331,
                                      2352
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 68,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 68,
                                        "column": 33
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2149,
                                  2362
                                ],
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                2137,
                                2362
                              ],
                              "loc": {
                                "start": {
                                  "line": 62,
                                  "column": 8
                                },
                                "end": {
                                  "line": 69,
                                  "column": 9
                                }
                              }
                            }
                          ],
                          "range": [
                            1926,
                            2368
                          ],
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 69
                            },
                            "end": {
                              "line": 70,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          1902,
                          2368
                        ],
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 45
                          },
                          "end": {
                            "line": 70,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1861,
                        2368
                      ],
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 4
                        },
                        "end": {
                          "line": 70,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      1861,
                      2369
                    ],
                    "loc": {
                      "start": {
                        "line": 53,
                        "column": 4
                      },
                      "end": {
                        "line": 70,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "LastSubscriber",
                            "range": [
                              2374,
                              2388
                            ],
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 4
                              },
                              "end": {
                                "line": 71,
                                "column": 18
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              2389,
                              2398
                            ],
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 19
                              },
                              "end": {
                                "line": 71,
                                "column": 28
                              }
                            }
                          },
                          "range": [
                            2374,
                            2398
                          ],
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 4
                            },
                            "end": {
                              "line": 71,
                              "column": 28
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_tryResultSelector",
                          "range": [
                            2399,
                            2417
                          ],
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 29
                            },
                            "end": {
                              "line": 71,
                              "column": 47
                            }
                          }
                        },
                        "range": [
                          2374,
                          2417
                        ],
                        "loc": {
                          "start": {
                            "line": 71,
                            "column": 4
                          },
                          "end": {
                            "line": 71,
                            "column": 47
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "value",
                            "range": [
                              2430,
                              2435
                            ],
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 60
                              },
                              "end": {
                                "line": 71,
                                "column": 65
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "index",
                            "range": [
                              2437,
                              2442
                            ],
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 67
                              },
                              "end": {
                                "line": 71,
                                "column": 72
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "result",
                                    "range": [
                                      2458,
                                      2464
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 72,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 72,
                                        "column": 18
                                      }
                                    }
                                  },
                                  "init": null,
                                  "range": [
                                    2458,
                                    2464
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 72,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 72,
                                      "column": 18
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                2454,
                                2465
                              ],
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 8
                                },
                                "end": {
                                  "line": 72,
                                  "column": 19
                                }
                              }
                            },
                            {
                              "type": "TryStatement",
                              "block": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "name": "result",
                                        "range": [
                                          2492,
                                          2498
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 74,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 74,
                                            "column": 18
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              2501,
                                              2505
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 74,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 74,
                                                "column": 25
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "resultSelector",
                                            "range": [
                                              2506,
                                              2520
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 74,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 74,
                                                "column": 40
                                              }
                                            }
                                          },
                                          "range": [
                                            2501,
                                            2520
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 40
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "value",
                                            "range": [
                                              2521,
                                              2526
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 74,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 74,
                                                "column": 46
                                              }
                                            }
                                          },
                                          {
                                            "type": "Identifier",
                                            "name": "index",
                                            "range": [
                                              2528,
                                              2533
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 74,
                                                "column": 48
                                              },
                                              "end": {
                                                "line": 74,
                                                "column": 53
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          2501,
                                          2534
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 74,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 74,
                                            "column": 54
                                          }
                                        }
                                      },
                                      "range": [
                                        2492,
                                        2534
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 54
                                        }
                                      }
                                    },
                                    "range": [
                                      2492,
                                      2535
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 55
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2478,
                                  2545
                                ],
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 75,
                                    "column": 9
                                  }
                                }
                              },
                              "handler": {
                                "type": "CatchClause",
                                "param": {
                                  "type": "Identifier",
                                  "name": "err",
                                  "range": [
                                    2561,
                                    2564
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 76,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 76,
                                      "column": 18
                                    }
                                  }
                                },
                                "body": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                2580,
                                                2584
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 77,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 77,
                                                  "column": 16
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "destination",
                                              "range": [
                                                2585,
                                                2596
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 77,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 77,
                                                  "column": 28
                                                }
                                              }
                                            },
                                            "range": [
                                              2580,
                                              2596
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 77,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 77,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "error",
                                            "range": [
                                              2597,
                                              2602
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 77,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 77,
                                                "column": 34
                                              }
                                            }
                                          },
                                          "range": [
                                            2580,
                                            2602
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 77,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 77,
                                              "column": 34
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "err",
                                            "range": [
                                              2603,
                                              2606
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 77,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 77,
                                                "column": 38
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          2580,
                                          2607
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 77,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 77,
                                            "column": 39
                                          }
                                        }
                                      },
                                      "range": [
                                        2580,
                                        2608
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 77,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 77,
                                          "column": 40
                                        }
                                      }
                                    },
                                    {
                                      "type": "ReturnStatement",
                                      "argument": null,
                                      "range": [
                                        2621,
                                        2628
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 19
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    2566,
                                    2638
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 76,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 9
                                    }
                                  }
                                },
                                "range": [
                                  2554,
                                  2638
                                ],
                                "loc": {
                                  "start": {
                                    "line": 76,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 9
                                  }
                                }
                              },
                              "finalizer": null,
                              "range": [
                                2474,
                                2638
                              ],
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 8
                                },
                                "end": {
                                  "line": 79,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "AssignmentExpression",
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      2647,
                                      2651
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "lastValue",
                                    "range": [
                                      2652,
                                      2661
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "range": [
                                    2647,
                                    2661
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 80,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 22
                                    }
                                  }
                                },
                                "right": {
                                  "type": "Identifier",
                                  "name": "result",
                                  "range": [
                                    2664,
                                    2670
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 80,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 31
                                    }
                                  }
                                },
                                "range": [
                                  2647,
                                  2670
                                ],
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 31
                                  }
                                }
                              },
                              "range": [
                                2647,
                                2671
                              ],
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 8
                                },
                                "end": {
                                  "line": 80,
                                  "column": 32
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "AssignmentExpression",
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      2680,
                                      2684
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 81,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 81,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "hasValue",
                                    "range": [
                                      2685,
                                      2693
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 81,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 81,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "range": [
                                    2680,
                                    2693
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 81,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 81,
                                      "column": 21
                                    }
                                  }
                                },
                                "right": {
                                  "type": "Literal",
                                  "value": true,
                                  "raw": "true",
                                  "range": [
                                    2696,
                                    2700
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 81,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 81,
                                      "column": 28
                                    }
                                  }
                                },
                                "range": [
                                  2680,
                                  2700
                                ],
                                "loc": {
                                  "start": {
                                    "line": 81,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 81,
                                    "column": 28
                                  }
                                }
                              },
                              "range": [
                                2680,
                                2701
                              ],
                              "loc": {
                                "start": {
                                  "line": 81,
                                  "column": 8
                                },
                                "end": {
                                  "line": 81,
                                  "column": 29
                                }
                              }
                            }
                          ],
                          "range": [
                            2444,
                            2707
                          ],
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 74
                            },
                            "end": {
                              "line": 82,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          2420,
                          2707
                        ],
                        "loc": {
                          "start": {
                            "line": 71,
                            "column": 50
                          },
                          "end": {
                            "line": 82,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2374,
                        2707
                      ],
                      "loc": {
                        "start": {
                          "line": 71,
                          "column": 4
                        },
                        "end": {
                          "line": 82,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      2374,
                      2708
                    ],
                    "loc": {
                      "start": {
                        "line": 71,
                        "column": 4
                      },
                      "end": {
                        "line": 82,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "LastSubscriber",
                            "range": [
                              2713,
                              2727
                            ],
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 4
                              },
                              "end": {
                                "line": 83,
                                "column": 18
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              2728,
                              2737
                            ],
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 19
                              },
                              "end": {
                                "line": 83,
                                "column": 28
                              }
                            }
                          },
                          "range": [
                            2713,
                            2737
                          ],
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 4
                            },
                            "end": {
                              "line": 83,
                              "column": 28
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_complete",
                          "range": [
                            2738,
                            2747
                          ],
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 29
                            },
                            "end": {
                              "line": 83,
                              "column": 38
                            }
                          }
                        },
                        "range": [
                          2713,
                          2747
                        ],
                        "loc": {
                          "start": {
                            "line": 83,
                            "column": 4
                          },
                          "end": {
                            "line": 83,
                            "column": 38
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "destination",
                                    "range": [
                                      2776,
                                      2787
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2790,
                                        2794
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        2795,
                                        2806
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 42
                                        }
                                      }
                                    },
                                    "range": [
                                      2790,
                                      2806
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 42
                                      }
                                    }
                                  },
                                  "range": [
                                    2776,
                                    2806
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 42
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                2772,
                                2807
                              ],
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 8
                                },
                                "end": {
                                  "line": 84,
                                  "column": 43
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    2820,
                                    2824
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 85,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 85,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "hasValue",
                                  "range": [
                                    2825,
                                    2833
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 85,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 85,
                                      "column": 25
                                    }
                                  }
                                },
                                "range": [
                                  2820,
                                  2833
                                ],
                                "loc": {
                                  "start": {
                                    "line": 85,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 85,
                                    "column": 25
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "destination",
                                          "range": [
                                            2849,
                                            2860
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 86,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 86,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "next",
                                          "range": [
                                            2861,
                                            2865
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 86,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 86,
                                              "column": 28
                                            }
                                          }
                                        },
                                        "range": [
                                          2849,
                                          2865
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 86,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 86,
                                            "column": 28
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              2866,
                                              2870
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 86,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 86,
                                                "column": 33
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "lastValue",
                                            "range": [
                                              2871,
                                              2880
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 86,
                                                "column": 34
                                              },
                                              "end": {
                                                "line": 86,
                                                "column": 43
                                              }
                                            }
                                          },
                                          "range": [
                                            2866,
                                            2880
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 86,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 86,
                                              "column": 43
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        2849,
                                        2881
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 86,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 86,
                                          "column": 44
                                        }
                                      }
                                    },
                                    "range": [
                                      2849,
                                      2882
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 86,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 86,
                                        "column": 45
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "destination",
                                          "range": [
                                            2895,
                                            2906
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 87,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 87,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "complete",
                                          "range": [
                                            2907,
                                            2915
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 87,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 87,
                                              "column": 32
                                            }
                                          }
                                        },
                                        "range": [
                                          2895,
                                          2915
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 87,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 87,
                                            "column": 32
                                          }
                                        }
                                      },
                                      "arguments": [],
                                      "range": [
                                        2895,
                                        2917
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 87,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "range": [
                                      2895,
                                      2918
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 87,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 87,
                                        "column": 35
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2835,
                                  2928
                                ],
                                "loc": {
                                  "start": {
                                    "line": 85,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 88,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "destination",
                                          "range": [
                                            2956,
                                            2967
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "error",
                                          "range": [
                                            2968,
                                            2973
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 29
                                            }
                                          }
                                        },
                                        "range": [
                                          2956,
                                          2973
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 90,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 90,
                                            "column": 29
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "NewExpression",
                                          "callee": {
                                            "type": "Identifier",
                                            "name": "EmptyError",
                                            "range": [
                                              2978,
                                              2988
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 90,
                                                "column": 34
                                              },
                                              "end": {
                                                "line": 90,
                                                "column": 44
                                              }
                                            }
                                          },
                                          "arguments": [],
                                          "range": [
                                            2974,
                                            2988
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 44
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        2956,
                                        2989
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 45
                                        }
                                      }
                                    },
                                    "range": [
                                      2956,
                                      2990
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 46
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2942,
                                  3000
                                ],
                                "loc": {
                                  "start": {
                                    "line": 89,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 91,
                                    "column": 9
                                  }
                                }
                              },
                              "range": [
                                2816,
                                3000
                              ],
                              "loc": {
                                "start": {
                                  "line": 85,
                                  "column": 8
                                },
                                "end": {
                                  "line": 91,
                                  "column": 9
                                }
                              }
                            }
                          ],
                          "range": [
                            2762,
                            3006
                          ],
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 53
                            },
                            "end": {
                              "line": 92,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          2750,
                          3006
                        ],
                        "loc": {
                          "start": {
                            "line": 83,
                            "column": 41
                          },
                          "end": {
                            "line": 92,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2713,
                        3006
                      ],
                      "loc": {
                        "start": {
                          "line": 83,
                          "column": 4
                        },
                        "end": {
                          "line": 92,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      2713,
                      3007
                    ],
                    "loc": {
                      "start": {
                        "line": 83,
                        "column": 4
                      },
                      "end": {
                        "line": 92,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "LastSubscriber",
                      "range": [
                        3019,
                        3033
                      ],
                      "loc": {
                        "start": {
                          "line": 93,
                          "column": 11
                        },
                        "end": {
                          "line": 93,
                          "column": 25
                        }
                      }
                    },
                    "range": [
                      3012,
                      3034
                    ],
                    "loc": {
                      "start": {
                        "line": 93,
                        "column": 4
                      },
                      "end": {
                        "line": 93,
                        "column": 26
                      }
                    }
                  }
                ],
                "range": [
                  921,
                  3036
                ],
                "loc": {
                  "start": {
                    "line": 24,
                    "column": 40
                  },
                  "end": {
                    "line": 94,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                903,
                3036
              ],
              "loc": {
                "start": {
                  "line": 24,
                  "column": 22
                },
                "end": {
                  "line": 94,
                  "column": 1
                }
              }
            },
            "arguments": [
              {
                "type": "Identifier",
                "name": "Subscriber",
                "range": [
                  3037,
                  3047
                ],
                "loc": {
                  "start": {
                    "line": 94,
                    "column": 2
                  },
                  "end": {
                    "line": 94,
                    "column": 12
                  }
                }
              }
            ],
            "range": [
              903,
              3048
            ],
            "loc": {
              "start": {
                "line": 24,
                "column": 22
              },
              "end": {
                "line": 94,
                "column": 13
              }
            }
          },
          "range": [
            885,
            3049
          ],
          "loc": {
            "start": {
              "line": 24,
              "column": 4
            },
            "end": {
              "line": 94,
              "column": 14
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        881,
        3050
      ],
      "loc": {
        "start": {
          "line": 24,
          "column": 0
        },
        "end": {
          "line": 94,
          "column": 15
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            789,
            880
          ],
          "loc": {
            "start": {
              "line": 19,
              "column": 0
            },
            "end": {
              "line": 23,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Line",
          "value": "# sourceMappingURL=last.js.map",
          "range": [
            3051,
            3083
          ],
          "loc": {
            "start": {
              "line": 95,
              "column": 0
            },
            "end": {
              "line": 95,
              "column": 32
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    3050
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 94,
      "column": 15
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": " tslint:disable:max-line-length ",
      "range": [
        93,
        129
      ],
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 36
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
      "range": [
        789,
        880
      ],
      "loc": {
        "start": {
          "line": 19,
          "column": 0
        },
        "end": {
          "line": 23,
          "column": 3
        }
      }
    },
    {
      "type": "Line",
      "value": "# sourceMappingURL=last.js.map",
      "range": [
        3051,
        3083
      ],
      "loc": {
        "start": {
          "line": 95,
          "column": 0
        },
        "end": {
          "line": 95,
          "column": 32
        }
      }
    }
  ]
}