{
  "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
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * Counts the number of emissions on the source and emits that number when the\n * source completes.\n *\n * <span class=\"informal\">Tells how many values were emitted, when the source\n * completes.</span>\n *\n * <img src=\"./img/count.png\" width=\"100%\">\n *\n * `count` transforms an Observable that emits values into an Observable that\n * emits a single value that represents the number of values emitted by the\n * source Observable. If the source Observable terminates with an error, `count`\n * will pass this error notification along without emitting an value first. If\n * the source Observable does not terminate at all, `count` will neither emit\n * a value nor terminate. This operator takes an optional `predicate` function\n * as argument, in which case the output emission will represent the number of\n * source values that matched `true` with the `predicate`.\n *\n * @example <caption>Counts how many seconds have passed before the first click happened</caption>\n * var seconds = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var secondsBeforeClick = seconds.takeUntil(clicks);\n * var result = secondsBeforeClick.count();\n * result.subscribe(x => console.log(x));\n *\n * @example <caption>Counts how many odd numbers are there between 1 and 7</caption>\n * var numbers = Rx.Observable.range(1, 7);\n * var result = numbers.count(i => i % 2 === 1);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link max}\n * @see {@link min}\n * @see {@link reduce}\n *\n * @param {function(value: T, i: number, source: Observable<T>): boolean} [predicate] A\n * boolean function to select what values are to be counted. It is provided with\n * arguments of:\n * - `value`: the value from the source Observable.\n * - `index`: the (zero-based) \"index\" of the value from the source Observable.\n * - `source`: the source Observable instance itself.\n * @return {Observable} An Observable of one number that represents the count as\n * described above.\n * @method count\n * @owner Observable\n ",
          "range": [
            44,
            2065
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 0
            },
            "end": {
              "line": 46,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "FunctionDeclaration",
        "id": {
          "type": "Identifier",
          "name": "count",
          "range": [
            2082,
            2087
          ],
          "loc": {
            "start": {
              "line": 47,
              "column": 16
            },
            "end": {
              "line": 47,
              "column": 21
            }
          }
        },
        "params": [
          {
            "type": "Identifier",
            "name": "predicate",
            "range": [
              2088,
              2097
            ],
            "loc": {
              "start": {
                "line": 47,
                "column": 22
              },
              "end": {
                "line": 47,
                "column": 31
              }
            }
          }
        ],
        "body": {
          "type": "BlockStatement",
          "body": [
            {
              "type": "ReturnStatement",
              "argument": {
                "type": "CallExpression",
                "callee": {
                  "type": "MemberExpression",
                  "computed": false,
                  "object": {
                    "type": "ThisExpression",
                    "range": [
                      2112,
                      2116
                    ],
                    "loc": {
                      "start": {
                        "line": 48,
                        "column": 11
                      },
                      "end": {
                        "line": 48,
                        "column": 15
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "name": "lift",
                    "range": [
                      2117,
                      2121
                    ],
                    "loc": {
                      "start": {
                        "line": 48,
                        "column": 16
                      },
                      "end": {
                        "line": 48,
                        "column": 20
                      }
                    }
                  },
                  "range": [
                    2112,
                    2121
                  ],
                  "loc": {
                    "start": {
                      "line": 48,
                      "column": 11
                    },
                    "end": {
                      "line": 48,
                      "column": 20
                    }
                  }
                },
                "arguments": [
                  {
                    "type": "NewExpression",
                    "callee": {
                      "type": "Identifier",
                      "name": "CountOperator",
                      "range": [
                        2126,
                        2139
                      ],
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 25
                        },
                        "end": {
                          "line": 48,
                          "column": 38
                        }
                      }
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "name": "predicate",
                        "range": [
                          2140,
                          2149
                        ],
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 39
                          },
                          "end": {
                            "line": 48,
                            "column": 48
                          }
                        }
                      },
                      {
                        "type": "ThisExpression",
                        "range": [
                          2151,
                          2155
                        ],
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 50
                          },
                          "end": {
                            "line": 48,
                            "column": 54
                          }
                        }
                      }
                    ],
                    "range": [
                      2122,
                      2156
                    ],
                    "loc": {
                      "start": {
                        "line": 48,
                        "column": 21
                      },
                      "end": {
                        "line": 48,
                        "column": 55
                      }
                    }
                  }
                ],
                "range": [
                  2112,
                  2157
                ],
                "loc": {
                  "start": {
                    "line": 48,
                    "column": 11
                  },
                  "end": {
                    "line": 48,
                    "column": 56
                  }
                }
              },
              "range": [
                2105,
                2158
              ],
              "loc": {
                "start": {
                  "line": 48,
                  "column": 4
                },
                "end": {
                  "line": 48,
                  "column": 57
                }
              }
            }
          ],
          "range": [
            2099,
            2160
          ],
          "loc": {
            "start": {
              "line": 47,
              "column": 33
            },
            "end": {
              "line": 49,
              "column": 1
            }
          }
        },
        "generator": false,
        "expression": false,
        "range": [
          2073,
          2160
        ],
        "loc": {
          "start": {
            "line": 47,
            "column": 7
          },
          "end": {
            "line": 49,
            "column": 1
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * Counts the number of emissions on the source and emits that number when the\n * source completes.\n *\n * <span class=\"informal\">Tells how many values were emitted, when the source\n * completes.</span>\n *\n * <img src=\"./img/count.png\" width=\"100%\">\n *\n * `count` transforms an Observable that emits values into an Observable that\n * emits a single value that represents the number of values emitted by the\n * source Observable. If the source Observable terminates with an error, `count`\n * will pass this error notification along without emitting an value first. If\n * the source Observable does not terminate at all, `count` will neither emit\n * a value nor terminate. This operator takes an optional `predicate` function\n * as argument, in which case the output emission will represent the number of\n * source values that matched `true` with the `predicate`.\n *\n * @example <caption>Counts how many seconds have passed before the first click happened</caption>\n * var seconds = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var secondsBeforeClick = seconds.takeUntil(clicks);\n * var result = secondsBeforeClick.count();\n * result.subscribe(x => console.log(x));\n *\n * @example <caption>Counts how many odd numbers are there between 1 and 7</caption>\n * var numbers = Rx.Observable.range(1, 7);\n * var result = numbers.count(i => i % 2 === 1);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link max}\n * @see {@link min}\n * @see {@link reduce}\n *\n * @param {function(value: T, i: number, source: Observable<T>): boolean} [predicate] A\n * boolean function to select what values are to be counted. It is provided with\n * arguments of:\n * - `value`: the value from the source Observable.\n * - `index`: the (zero-based) \"index\" of the value from the source Observable.\n * - `source`: the source Observable instance itself.\n * @return {Observable} An Observable of one number that represents the count as\n * described above.\n * @method count\n * @owner Observable\n ",
            "range": [
              44,
              2065
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 0
              },
              "end": {
                "line": 46,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "range": [
        2066,
        2160
      ],
      "loc": {
        "start": {
          "line": 47,
          "column": 0
        },
        "end": {
          "line": 49,
          "column": 1
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Counts the number of emissions on the source and emits that number when the\n * source completes.\n *\n * <span class=\"informal\">Tells how many values were emitted, when the source\n * completes.</span>\n *\n * <img src=\"./img/count.png\" width=\"100%\">\n *\n * `count` transforms an Observable that emits values into an Observable that\n * emits a single value that represents the number of values emitted by the\n * source Observable. If the source Observable terminates with an error, `count`\n * will pass this error notification along without emitting an value first. If\n * the source Observable does not terminate at all, `count` will neither emit\n * a value nor terminate. This operator takes an optional `predicate` function\n * as argument, in which case the output emission will represent the number of\n * source values that matched `true` with the `predicate`.\n *\n * @example <caption>Counts how many seconds have passed before the first click happened</caption>\n * var seconds = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var secondsBeforeClick = seconds.takeUntil(clicks);\n * var result = secondsBeforeClick.count();\n * result.subscribe(x => console.log(x));\n *\n * @example <caption>Counts how many odd numbers are there between 1 and 7</caption>\n * var numbers = Rx.Observable.range(1, 7);\n * var result = numbers.count(i => i % 2 === 1);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link max}\n * @see {@link min}\n * @see {@link reduce}\n *\n * @param {function(value: T, i: number, source: Observable<T>): boolean} [predicate] A\n * boolean function to select what values are to be counted. It is provided with\n * arguments of:\n * - `value`: the value from the source Observable.\n * - `index`: the (zero-based) \"index\" of the value from the source Observable.\n * - `source`: the source Observable instance itself.\n * @return {Observable} An Observable of one number that represents the count as\n * described above.\n * @method count\n * @owner Observable\n ",
          "range": [
            44,
            2065
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 0
            },
            "end": {
              "line": 46,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "CountOperator",
            "range": [
              2165,
              2178
            ],
            "loc": {
              "start": {
                "line": 50,
                "column": 4
              },
              "end": {
                "line": 50,
                "column": 17
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "CountOperator",
                      "range": [
                        2209,
                        2222
                      ],
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 13
                        },
                        "end": {
                          "line": 51,
                          "column": 26
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "predicate",
                        "range": [
                          2223,
                          2232
                        ],
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 27
                          },
                          "end": {
                            "line": 51,
                            "column": 36
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "source",
                        "range": [
                          2234,
                          2240
                        ],
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 38
                          },
                          "end": {
                            "line": 51,
                            "column": 44
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  2252,
                                  2256
                                ],
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "predicate",
                                "range": [
                                  2257,
                                  2266
                                ],
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 22
                                  }
                                }
                              },
                              "range": [
                                2252,
                                2266
                              ],
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 8
                                },
                                "end": {
                                  "line": 52,
                                  "column": 22
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "predicate",
                              "range": [
                                2269,
                                2278
                              ],
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 25
                                },
                                "end": {
                                  "line": 52,
                                  "column": 34
                                }
                              }
                            },
                            "range": [
                              2252,
                              2278
                            ],
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 8
                              },
                              "end": {
                                "line": 52,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            2252,
                            2279
                          ],
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 8
                            },
                            "end": {
                              "line": 52,
                              "column": 35
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  2288,
                                  2292
                                ],
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "source",
                                "range": [
                                  2293,
                                  2299
                                ],
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                2288,
                                2299
                              ],
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 8
                                },
                                "end": {
                                  "line": 53,
                                  "column": 19
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "source",
                              "range": [
                                2302,
                                2308
                              ],
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 22
                                },
                                "end": {
                                  "line": 53,
                                  "column": 28
                                }
                              }
                            },
                            "range": [
                              2288,
                              2308
                            ],
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 8
                              },
                              "end": {
                                "line": 53,
                                "column": 28
                              }
                            }
                          },
                          "range": [
                            2288,
                            2309
                          ],
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 8
                            },
                            "end": {
                              "line": 53,
                              "column": 29
                            }
                          }
                        }
                      ],
                      "range": [
                        2242,
                        2315
                      ],
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 46
                        },
                        "end": {
                          "line": 54,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      2200,
                      2315
                    ],
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 4
                      },
                      "end": {
                        "line": 54,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "CountOperator",
                            "range": [
                              2320,
                              2333
                            ],
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 4
                              },
                              "end": {
                                "line": 55,
                                "column": 17
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              2334,
                              2343
                            ],
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 18
                              },
                              "end": {
                                "line": 55,
                                "column": 27
                              }
                            }
                          },
                          "range": [
                            2320,
                            2343
                          ],
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 4
                            },
                            "end": {
                              "line": 55,
                              "column": 27
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "call",
                          "range": [
                            2344,
                            2348
                          ],
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 28
                            },
                            "end": {
                              "line": 55,
                              "column": 32
                            }
                          }
                        },
                        "range": [
                          2320,
                          2348
                        ],
                        "loc": {
                          "start": {
                            "line": 55,
                            "column": 4
                          },
                          "end": {
                            "line": 55,
                            "column": 32
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "subscriber",
                            "range": [
                              2361,
                              2371
                            ],
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 45
                              },
                              "end": {
                                "line": 55,
                                "column": 55
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "source",
                            "range": [
                              2373,
                              2379
                            ],
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 57
                              },
                              "end": {
                                "line": 55,
                                "column": 63
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ReturnStatement",
                              "argument": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "source",
                                    "range": [
                                      2398,
                                      2404
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 56,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 56,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_subscribe",
                                    "range": [
                                      2405,
                                      2415
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 56,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 56,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "range": [
                                    2398,
                                    2415
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 32
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "NewExpression",
                                    "callee": {
                                      "type": "Identifier",
                                      "name": "CountSubscriber",
                                      "range": [
                                        2420,
                                        2435
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 56,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 56,
                                          "column": 52
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "name": "subscriber",
                                        "range": [
                                          2436,
                                          2446
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 56,
                                            "column": 53
                                          },
                                          "end": {
                                            "line": 56,
                                            "column": 63
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            2448,
                                            2452
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 56,
                                              "column": 65
                                            },
                                            "end": {
                                              "line": 56,
                                              "column": 69
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "predicate",
                                          "range": [
                                            2453,
                                            2462
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 56,
                                              "column": 70
                                            },
                                            "end": {
                                              "line": 56,
                                              "column": 79
                                            }
                                          }
                                        },
                                        "range": [
                                          2448,
                                          2462
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 56,
                                            "column": 65
                                          },
                                          "end": {
                                            "line": 56,
                                            "column": 79
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            2464,
                                            2468
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 56,
                                              "column": 81
                                            },
                                            "end": {
                                              "line": 56,
                                              "column": 85
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "source",
                                          "range": [
                                            2469,
                                            2475
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 56,
                                              "column": 86
                                            },
                                            "end": {
                                              "line": 56,
                                              "column": 92
                                            }
                                          }
                                        },
                                        "range": [
                                          2464,
                                          2475
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 56,
                                            "column": 81
                                          },
                                          "end": {
                                            "line": 56,
                                            "column": 92
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      2416,
                                      2476
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 56,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 56,
                                        "column": 93
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2398,
                                  2477
                                ],
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 94
                                  }
                                }
                              },
                              "range": [
                                2391,
                                2478
                              ],
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 8
                                },
                                "end": {
                                  "line": 56,
                                  "column": 95
                                }
                              }
                            }
                          ],
                          "range": [
                            2381,
                            2484
                          ],
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 65
                            },
                            "end": {
                              "line": 57,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          2351,
                          2484
                        ],
                        "loc": {
                          "start": {
                            "line": 55,
                            "column": 35
                          },
                          "end": {
                            "line": 57,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2320,
                        2484
                      ],
                      "loc": {
                        "start": {
                          "line": 55,
                          "column": 4
                        },
                        "end": {
                          "line": 57,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      2320,
                      2485
                    ],
                    "loc": {
                      "start": {
                        "line": 55,
                        "column": 4
                      },
                      "end": {
                        "line": 57,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "CountOperator",
                      "range": [
                        2497,
                        2510
                      ],
                      "loc": {
                        "start": {
                          "line": 58,
                          "column": 11
                        },
                        "end": {
                          "line": 58,
                          "column": 24
                        }
                      }
                    },
                    "range": [
                      2490,
                      2511
                    ],
                    "loc": {
                      "start": {
                        "line": 58,
                        "column": 4
                      },
                      "end": {
                        "line": 58,
                        "column": 25
                      }
                    }
                  }
                ],
                "range": [
                  2194,
                  2513
                ],
                "loc": {
                  "start": {
                    "line": 50,
                    "column": 33
                  },
                  "end": {
                    "line": 59,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                2182,
                2513
              ],
              "loc": {
                "start": {
                  "line": 50,
                  "column": 21
                },
                "end": {
                  "line": 59,
                  "column": 1
                }
              }
            },
            "arguments": [],
            "range": [
              2182,
              2515
            ],
            "loc": {
              "start": {
                "line": 50,
                "column": 21
              },
              "end": {
                "line": 59,
                "column": 3
              }
            }
          },
          "range": [
            2165,
            2516
          ],
          "loc": {
            "start": {
              "line": 50,
              "column": 4
            },
            "end": {
              "line": 59,
              "column": 4
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        2161,
        2517
      ],
      "loc": {
        "start": {
          "line": 50,
          "column": 0
        },
        "end": {
          "line": 59,
          "column": 5
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            2518,
            2609
          ],
          "loc": {
            "start": {
              "line": 60,
              "column": 0
            },
            "end": {
              "line": 64,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "CountSubscriber",
            "range": [
              2614,
              2629
            ],
            "loc": {
              "start": {
                "line": 65,
                "column": 4
              },
              "end": {
                "line": 65,
                "column": 19
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "_super",
                  "range": [
                    2643,
                    2649
                  ],
                  "loc": {
                    "start": {
                      "line": 65,
                      "column": 33
                    },
                    "end": {
                      "line": 65,
                      "column": 39
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "Identifier",
                        "name": "__extends",
                        "range": [
                          2657,
                          2666
                        ],
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 4
                          },
                          "end": {
                            "line": 66,
                            "column": 13
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "name": "CountSubscriber",
                          "range": [
                            2667,
                            2682
                          ],
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 14
                            },
                            "end": {
                              "line": 66,
                              "column": 29
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "_super",
                          "range": [
                            2684,
                            2690
                          ],
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 31
                            },
                            "end": {
                              "line": 66,
                              "column": 37
                            }
                          }
                        }
                      ],
                      "range": [
                        2657,
                        2691
                      ],
                      "loc": {
                        "start": {
                          "line": 66,
                          "column": 4
                        },
                        "end": {
                          "line": 66,
                          "column": 38
                        }
                      }
                    },
                    "range": [
                      2657,
                      2692
                    ],
                    "loc": {
                      "start": {
                        "line": 66,
                        "column": 4
                      },
                      "end": {
                        "line": 66,
                        "column": 39
                      }
                    }
                  },
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "CountSubscriber",
                      "range": [
                        2706,
                        2721
                      ],
                      "loc": {
                        "start": {
                          "line": 67,
                          "column": 13
                        },
                        "end": {
                          "line": 67,
                          "column": 28
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "destination",
                        "range": [
                          2722,
                          2733
                        ],
                        "loc": {
                          "start": {
                            "line": 67,
                            "column": 29
                          },
                          "end": {
                            "line": 67,
                            "column": 40
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "predicate",
                        "range": [
                          2735,
                          2744
                        ],
                        "loc": {
                          "start": {
                            "line": 67,
                            "column": 42
                          },
                          "end": {
                            "line": 67,
                            "column": 51
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "source",
                        "range": [
                          2746,
                          2752
                        ],
                        "loc": {
                          "start": {
                            "line": 67,
                            "column": 53
                          },
                          "end": {
                            "line": 67,
                            "column": 59
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "_super",
                                "range": [
                                  2764,
                                  2770
                                ],
                                "loc": {
                                  "start": {
                                    "line": 68,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 68,
                                    "column": 14
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "call",
                                "range": [
                                  2771,
                                  2775
                                ],
                                "loc": {
                                  "start": {
                                    "line": 68,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 68,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                2764,
                                2775
                              ],
                              "loc": {
                                "start": {
                                  "line": 68,
                                  "column": 8
                                },
                                "end": {
                                  "line": 68,
                                  "column": 19
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "range": [
                                  2776,
                                  2780
                                ],
                                "loc": {
                                  "start": {
                                    "line": 68,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 68,
                                    "column": 24
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "name": "destination",
                                "range": [
                                  2782,
                                  2793
                                ],
                                "loc": {
                                  "start": {
                                    "line": 68,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 68,
                                    "column": 37
                                  }
                                }
                              }
                            ],
                            "range": [
                              2764,
                              2794
                            ],
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 8
                              },
                              "end": {
                                "line": 68,
                                "column": 38
                              }
                            }
                          },
                          "range": [
                            2764,
                            2795
                          ],
                          "loc": {
                            "start": {
                              "line": 68,
                              "column": 8
                            },
                            "end": {
                              "line": 68,
                              "column": 39
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  2804,
                                  2808
                                ],
                                "loc": {
                                  "start": {
                                    "line": 69,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "predicate",
                                "range": [
                                  2809,
                                  2818
                                ],
                                "loc": {
                                  "start": {
                                    "line": 69,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 22
                                  }
                                }
                              },
                              "range": [
                                2804,
                                2818
                              ],
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 8
                                },
                                "end": {
                                  "line": 69,
                                  "column": 22
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "predicate",
                              "range": [
                                2821,
                                2830
                              ],
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 25
                                },
                                "end": {
                                  "line": 69,
                                  "column": 34
                                }
                              }
                            },
                            "range": [
                              2804,
                              2830
                            ],
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 8
                              },
                              "end": {
                                "line": 69,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            2804,
                            2831
                          ],
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 8
                            },
                            "end": {
                              "line": 69,
                              "column": 35
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  2840,
                                  2844
                                ],
                                "loc": {
                                  "start": {
                                    "line": 70,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 70,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "source",
                                "range": [
                                  2845,
                                  2851
                                ],
                                "loc": {
                                  "start": {
                                    "line": 70,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 70,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                2840,
                                2851
                              ],
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 8
                                },
                                "end": {
                                  "line": 70,
                                  "column": 19
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "source",
                              "range": [
                                2854,
                                2860
                              ],
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 22
                                },
                                "end": {
                                  "line": 70,
                                  "column": 28
                                }
                              }
                            },
                            "range": [
                              2840,
                              2860
                            ],
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 8
                              },
                              "end": {
                                "line": 70,
                                "column": 28
                              }
                            }
                          },
                          "range": [
                            2840,
                            2861
                          ],
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 8
                            },
                            "end": {
                              "line": 70,
                              "column": 29
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  2870,
                                  2874
                                ],
                                "loc": {
                                  "start": {
                                    "line": 71,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 71,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "count",
                                "range": [
                                  2875,
                                  2880
                                ],
                                "loc": {
                                  "start": {
                                    "line": 71,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 71,
                                    "column": 18
                                  }
                                }
                              },
                              "range": [
                                2870,
                                2880
                              ],
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 8
                                },
                                "end": {
                                  "line": 71,
                                  "column": 18
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": 0,
                              "raw": "0",
                              "range": [
                                2883,
                                2884
                              ],
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 21
                                },
                                "end": {
                                  "line": 71,
                                  "column": 22
                                }
                              }
                            },
                            "range": [
                              2870,
                              2884
                            ],
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 8
                              },
                              "end": {
                                "line": 71,
                                "column": 22
                              }
                            }
                          },
                          "range": [
                            2870,
                            2885
                          ],
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 8
                            },
                            "end": {
                              "line": 71,
                              "column": 23
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  2894,
                                  2898
                                ],
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 72,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "index",
                                "range": [
                                  2899,
                                  2904
                                ],
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 72,
                                    "column": 18
                                  }
                                }
                              },
                              "range": [
                                2894,
                                2904
                              ],
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 8
                                },
                                "end": {
                                  "line": 72,
                                  "column": 18
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": 0,
                              "raw": "0",
                              "range": [
                                2907,
                                2908
                              ],
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 21
                                },
                                "end": {
                                  "line": 72,
                                  "column": 22
                                }
                              }
                            },
                            "range": [
                              2894,
                              2908
                            ],
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 8
                              },
                              "end": {
                                "line": 72,
                                "column": 22
                              }
                            }
                          },
                          "range": [
                            2894,
                            2909
                          ],
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 8
                            },
                            "end": {
                              "line": 72,
                              "column": 23
                            }
                          }
                        }
                      ],
                      "range": [
                        2754,
                        2915
                      ],
                      "loc": {
                        "start": {
                          "line": 67,
                          "column": 61
                        },
                        "end": {
                          "line": 73,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      2697,
                      2915
                    ],
                    "loc": {
                      "start": {
                        "line": 67,
                        "column": 4
                      },
                      "end": {
                        "line": 73,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "CountSubscriber",
                            "range": [
                              2920,
                              2935
                            ],
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 4
                              },
                              "end": {
                                "line": 74,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              2936,
                              2945
                            ],
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 20
                              },
                              "end": {
                                "line": 74,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            2920,
                            2945
                          ],
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 4
                            },
                            "end": {
                              "line": 74,
                              "column": 29
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_next",
                          "range": [
                            2946,
                            2951
                          ],
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 30
                            },
                            "end": {
                              "line": 74,
                              "column": 35
                            }
                          }
                        },
                        "range": [
                          2920,
                          2951
                        ],
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 4
                          },
                          "end": {
                            "line": 74,
                            "column": 35
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "value",
                            "range": [
                              2964,
                              2969
                            ],
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 48
                              },
                              "end": {
                                "line": 74,
                                "column": 53
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    2985,
                                    2989
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 75,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 75,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "predicate",
                                  "range": [
                                    2990,
                                    2999
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 75,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 75,
                                      "column": 26
                                    }
                                  }
                                },
                                "range": [
                                  2985,
                                  2999
                                ],
                                "loc": {
                                  "start": {
                                    "line": 75,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 75,
                                    "column": 26
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3015,
                                            3019
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 76,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 76,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "_tryPredicate",
                                          "range": [
                                            3020,
                                            3033
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 76,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 76,
                                              "column": 30
                                            }
                                          }
                                        },
                                        "range": [
                                          3015,
                                          3033
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 76,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 76,
                                            "column": 30
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "value",
                                          "range": [
                                            3034,
                                            3039
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 76,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 76,
                                              "column": 36
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3015,
                                        3040
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 76,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 76,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "range": [
                                      3015,
                                      3041
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 76,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 76,
                                        "column": 38
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3001,
                                  3051
                                ],
                                "loc": {
                                  "start": {
                                    "line": 75,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 77,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "UpdateExpression",
                                      "operator": "++",
                                      "argument": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3079,
                                            3083
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 79,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 79,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "count",
                                          "range": [
                                            3084,
                                            3089
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 79,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 79,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "range": [
                                          3079,
                                          3089
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 79,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 79,
                                            "column": 22
                                          }
                                        }
                                      },
                                      "prefix": false,
                                      "range": [
                                        3079,
                                        3091
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 79,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 79,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      3079,
                                      3092
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 25
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3065,
                                  3102
                                ],
                                "loc": {
                                  "start": {
                                    "line": 78,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 9
                                  }
                                }
                              },
                              "range": [
                                2981,
                                3102
                              ],
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 8
                                },
                                "end": {
                                  "line": 80,
                                  "column": 9
                                }
                              }
                            }
                          ],
                          "range": [
                            2971,
                            3108
                          ],
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 55
                            },
                            "end": {
                              "line": 81,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          2954,
                          3108
                        ],
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 38
                          },
                          "end": {
                            "line": 81,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2920,
                        3108
                      ],
                      "loc": {
                        "start": {
                          "line": 74,
                          "column": 4
                        },
                        "end": {
                          "line": 81,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      2920,
                      3109
                    ],
                    "loc": {
                      "start": {
                        "line": 74,
                        "column": 4
                      },
                      "end": {
                        "line": 81,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "CountSubscriber",
                            "range": [
                              3114,
                              3129
                            ],
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 4
                              },
                              "end": {
                                "line": 82,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              3130,
                              3139
                            ],
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 20
                              },
                              "end": {
                                "line": 82,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            3114,
                            3139
                          ],
                          "loc": {
                            "start": {
                              "line": 82,
                              "column": 4
                            },
                            "end": {
                              "line": 82,
                              "column": 29
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_tryPredicate",
                          "range": [
                            3140,
                            3153
                          ],
                          "loc": {
                            "start": {
                              "line": 82,
                              "column": 30
                            },
                            "end": {
                              "line": 82,
                              "column": 43
                            }
                          }
                        },
                        "range": [
                          3114,
                          3153
                        ],
                        "loc": {
                          "start": {
                            "line": 82,
                            "column": 4
                          },
                          "end": {
                            "line": 82,
                            "column": 43
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "value",
                            "range": [
                              3166,
                              3171
                            ],
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 56
                              },
                              "end": {
                                "line": 82,
                                "column": 61
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "result",
                                    "range": [
                                      3187,
                                      3193
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 83,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 83,
                                        "column": 18
                                      }
                                    }
                                  },
                                  "init": null,
                                  "range": [
                                    3187,
                                    3193
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 83,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 83,
                                      "column": 18
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                3183,
                                3194
                              ],
                              "loc": {
                                "start": {
                                  "line": 83,
                                  "column": 8
                                },
                                "end": {
                                  "line": 83,
                                  "column": 19
                                }
                              }
                            },
                            {
                              "type": "TryStatement",
                              "block": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "name": "result",
                                        "range": [
                                          3221,
                                          3227
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 85,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 85,
                                            "column": 18
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              3230,
                                              3234
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 85,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 85,
                                                "column": 25
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "predicate",
                                            "range": [
                                              3235,
                                              3244
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 85,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 85,
                                                "column": 35
                                              }
                                            }
                                          },
                                          "range": [
                                            3230,
                                            3244
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 85,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 85,
                                              "column": 35
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "value",
                                            "range": [
                                              3245,
                                              3250
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 85,
                                                "column": 36
                                              },
                                              "end": {
                                                "line": 85,
                                                "column": 41
                                              }
                                            }
                                          },
                                          {
                                            "type": "UpdateExpression",
                                            "operator": "++",
                                            "argument": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "ThisExpression",
                                                "range": [
                                                  3252,
                                                  3256
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 85,
                                                    "column": 43
                                                  },
                                                  "end": {
                                                    "line": 85,
                                                    "column": 47
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "index",
                                                "range": [
                                                  3257,
                                                  3262
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 85,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 85,
                                                    "column": 53
                                                  }
                                                }
                                              },
                                              "range": [
                                                3252,
                                                3262
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 85,
                                                  "column": 43
                                                },
                                                "end": {
                                                  "line": 85,
                                                  "column": 53
                                                }
                                              }
                                            },
                                            "prefix": false,
                                            "range": [
                                              3252,
                                              3264
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 85,
                                                "column": 43
                                              },
                                              "end": {
                                                "line": 85,
                                                "column": 55
                                              }
                                            }
                                          },
                                          {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                3266,
                                                3270
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 85,
                                                  "column": 57
                                                },
                                                "end": {
                                                  "line": 85,
                                                  "column": 61
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "source",
                                              "range": [
                                                3271,
                                                3277
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 85,
                                                  "column": 62
                                                },
                                                "end": {
                                                  "line": 85,
                                                  "column": 68
                                                }
                                              }
                                            },
                                            "range": [
                                              3266,
                                              3277
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 85,
                                                "column": 57
                                              },
                                              "end": {
                                                "line": 85,
                                                "column": 68
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          3230,
                                          3278
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 85,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 85,
                                            "column": 69
                                          }
                                        }
                                      },
                                      "range": [
                                        3221,
                                        3278
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 85,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 85,
                                          "column": 69
                                        }
                                      }
                                    },
                                    "range": [
                                      3221,
                                      3279
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 85,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 85,
                                        "column": 70
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3207,
                                  3289
                                ],
                                "loc": {
                                  "start": {
                                    "line": 84,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 86,
                                    "column": 9
                                  }
                                }
                              },
                              "handler": {
                                "type": "CatchClause",
                                "param": {
                                  "type": "Identifier",
                                  "name": "err",
                                  "range": [
                                    3305,
                                    3308
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 87,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 87,
                                      "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": [
                                                3324,
                                                3328
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 88,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 88,
                                                  "column": 16
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "destination",
                                              "range": [
                                                3329,
                                                3340
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 88,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 88,
                                                  "column": 28
                                                }
                                              }
                                            },
                                            "range": [
                                              3324,
                                              3340
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 88,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 88,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "error",
                                            "range": [
                                              3341,
                                              3346
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 88,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 88,
                                                "column": 34
                                              }
                                            }
                                          },
                                          "range": [
                                            3324,
                                            3346
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 88,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 88,
                                              "column": 34
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "err",
                                            "range": [
                                              3347,
                                              3350
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 88,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 88,
                                                "column": 38
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          3324,
                                          3351
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 88,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 88,
                                            "column": 39
                                          }
                                        }
                                      },
                                      "range": [
                                        3324,
                                        3352
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 88,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 88,
                                          "column": 40
                                        }
                                      }
                                    },
                                    {
                                      "type": "ReturnStatement",
                                      "argument": null,
                                      "range": [
                                        3365,
                                        3372
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 89,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 89,
                                          "column": 19
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    3310,
                                    3382
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 87,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 90,
                                      "column": 9
                                    }
                                  }
                                },
                                "range": [
                                  3298,
                                  3382
                                ],
                                "loc": {
                                  "start": {
                                    "line": 87,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 90,
                                    "column": 9
                                  }
                                }
                              },
                              "finalizer": null,
                              "range": [
                                3203,
                                3382
                              ],
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 8
                                },
                                "end": {
                                  "line": 90,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "Identifier",
                                "name": "result",
                                "range": [
                                  3395,
                                  3401
                                ],
                                "loc": {
                                  "start": {
                                    "line": 91,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 91,
                                    "column": 18
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "UpdateExpression",
                                      "operator": "++",
                                      "argument": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3417,
                                            3421
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 92,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 92,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "count",
                                          "range": [
                                            3422,
                                            3427
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 92,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 92,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "range": [
                                          3417,
                                          3427
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 92,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 92,
                                            "column": 22
                                          }
                                        }
                                      },
                                      "prefix": false,
                                      "range": [
                                        3417,
                                        3429
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 92,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 92,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      3417,
                                      3430
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 92,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 92,
                                        "column": 25
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3403,
                                  3440
                                ],
                                "loc": {
                                  "start": {
                                    "line": 91,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 93,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                3391,
                                3440
                              ],
                              "loc": {
                                "start": {
                                  "line": 91,
                                  "column": 8
                                },
                                "end": {
                                  "line": 93,
                                  "column": 9
                                }
                              }
                            }
                          ],
                          "range": [
                            3173,
                            3446
                          ],
                          "loc": {
                            "start": {
                              "line": 82,
                              "column": 63
                            },
                            "end": {
                              "line": 94,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          3156,
                          3446
                        ],
                        "loc": {
                          "start": {
                            "line": 82,
                            "column": 46
                          },
                          "end": {
                            "line": 94,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3114,
                        3446
                      ],
                      "loc": {
                        "start": {
                          "line": 82,
                          "column": 4
                        },
                        "end": {
                          "line": 94,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      3114,
                      3447
                    ],
                    "loc": {
                      "start": {
                        "line": 82,
                        "column": 4
                      },
                      "end": {
                        "line": 94,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "CountSubscriber",
                            "range": [
                              3452,
                              3467
                            ],
                            "loc": {
                              "start": {
                                "line": 95,
                                "column": 4
                              },
                              "end": {
                                "line": 95,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              3468,
                              3477
                            ],
                            "loc": {
                              "start": {
                                "line": 95,
                                "column": 20
                              },
                              "end": {
                                "line": 95,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            3452,
                            3477
                          ],
                          "loc": {
                            "start": {
                              "line": 95,
                              "column": 4
                            },
                            "end": {
                              "line": 95,
                              "column": 29
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_complete",
                          "range": [
                            3478,
                            3487
                          ],
                          "loc": {
                            "start": {
                              "line": 95,
                              "column": 30
                            },
                            "end": {
                              "line": 95,
                              "column": 39
                            }
                          }
                        },
                        "range": [
                          3452,
                          3487
                        ],
                        "loc": {
                          "start": {
                            "line": 95,
                            "column": 4
                          },
                          "end": {
                            "line": 95,
                            "column": 39
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3512,
                                        3516
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 96,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 96,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        3517,
                                        3528
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 96,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 96,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      3512,
                                      3528
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 96,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 96,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "next",
                                    "range": [
                                      3529,
                                      3533
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 96,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 96,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "range": [
                                    3512,
                                    3533
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 96,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 96,
                                      "column": 29
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3534,
                                        3538
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 96,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 96,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "count",
                                      "range": [
                                        3539,
                                        3544
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 96,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 96,
                                          "column": 40
                                        }
                                      }
                                    },
                                    "range": [
                                      3534,
                                      3544
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 96,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 96,
                                        "column": 40
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3512,
                                  3545
                                ],
                                "loc": {
                                  "start": {
                                    "line": 96,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 96,
                                    "column": 41
                                  }
                                }
                              },
                              "range": [
                                3512,
                                3546
                              ],
                              "loc": {
                                "start": {
                                  "line": 96,
                                  "column": 8
                                },
                                "end": {
                                  "line": 96,
                                  "column": 42
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3555,
                                        3559
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 97,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 97,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        3560,
                                        3571
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 97,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 97,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      3555,
                                      3571
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 97,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 97,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "complete",
                                    "range": [
                                      3572,
                                      3580
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 97,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 97,
                                        "column": 33
                                      }
                                    }
                                  },
                                  "range": [
                                    3555,
                                    3580
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 97,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 97,
                                      "column": 33
                                    }
                                  }
                                },
                                "arguments": [],
                                "range": [
                                  3555,
                                  3582
                                ],
                                "loc": {
                                  "start": {
                                    "line": 97,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 97,
                                    "column": 35
                                  }
                                }
                              },
                              "range": [
                                3555,
                                3583
                              ],
                              "loc": {
                                "start": {
                                  "line": 97,
                                  "column": 8
                                },
                                "end": {
                                  "line": 97,
                                  "column": 36
                                }
                              }
                            }
                          ],
                          "range": [
                            3502,
                            3589
                          ],
                          "loc": {
                            "start": {
                              "line": 95,
                              "column": 54
                            },
                            "end": {
                              "line": 98,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          3490,
                          3589
                        ],
                        "loc": {
                          "start": {
                            "line": 95,
                            "column": 42
                          },
                          "end": {
                            "line": 98,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3452,
                        3589
                      ],
                      "loc": {
                        "start": {
                          "line": 95,
                          "column": 4
                        },
                        "end": {
                          "line": 98,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      3452,
                      3590
                    ],
                    "loc": {
                      "start": {
                        "line": 95,
                        "column": 4
                      },
                      "end": {
                        "line": 98,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "CountSubscriber",
                      "range": [
                        3602,
                        3617
                      ],
                      "loc": {
                        "start": {
                          "line": 99,
                          "column": 11
                        },
                        "end": {
                          "line": 99,
                          "column": 26
                        }
                      }
                    },
                    "range": [
                      3595,
                      3618
                    ],
                    "loc": {
                      "start": {
                        "line": 99,
                        "column": 4
                      },
                      "end": {
                        "line": 99,
                        "column": 27
                      }
                    }
                  }
                ],
                "range": [
                  2651,
                  3620
                ],
                "loc": {
                  "start": {
                    "line": 65,
                    "column": 41
                  },
                  "end": {
                    "line": 100,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                2633,
                3620
              ],
              "loc": {
                "start": {
                  "line": 65,
                  "column": 23
                },
                "end": {
                  "line": 100,
                  "column": 1
                }
              }
            },
            "arguments": [
              {
                "type": "Identifier",
                "name": "Subscriber",
                "range": [
                  3621,
                  3631
                ],
                "loc": {
                  "start": {
                    "line": 100,
                    "column": 2
                  },
                  "end": {
                    "line": 100,
                    "column": 12
                  }
                }
              }
            ],
            "range": [
              2633,
              3632
            ],
            "loc": {
              "start": {
                "line": 65,
                "column": 23
              },
              "end": {
                "line": 100,
                "column": 13
              }
            }
          },
          "range": [
            2614,
            3633
          ],
          "loc": {
            "start": {
              "line": 65,
              "column": 4
            },
            "end": {
              "line": 100,
              "column": 14
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        2610,
        3634
      ],
      "loc": {
        "start": {
          "line": 65,
          "column": 0
        },
        "end": {
          "line": 100,
          "column": 15
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            2518,
            2609
          ],
          "loc": {
            "start": {
              "line": 60,
              "column": 0
            },
            "end": {
              "line": 64,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Line",
          "value": "# sourceMappingURL=count.js.map",
          "range": [
            3635,
            3668
          ],
          "loc": {
            "start": {
              "line": 101,
              "column": 0
            },
            "end": {
              "line": 101,
              "column": 33
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    3634
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 100,
      "column": 15
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": "*\n * Counts the number of emissions on the source and emits that number when the\n * source completes.\n *\n * <span class=\"informal\">Tells how many values were emitted, when the source\n * completes.</span>\n *\n * <img src=\"./img/count.png\" width=\"100%\">\n *\n * `count` transforms an Observable that emits values into an Observable that\n * emits a single value that represents the number of values emitted by the\n * source Observable. If the source Observable terminates with an error, `count`\n * will pass this error notification along without emitting an value first. If\n * the source Observable does not terminate at all, `count` will neither emit\n * a value nor terminate. This operator takes an optional `predicate` function\n * as argument, in which case the output emission will represent the number of\n * source values that matched `true` with the `predicate`.\n *\n * @example <caption>Counts how many seconds have passed before the first click happened</caption>\n * var seconds = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var secondsBeforeClick = seconds.takeUntil(clicks);\n * var result = secondsBeforeClick.count();\n * result.subscribe(x => console.log(x));\n *\n * @example <caption>Counts how many odd numbers are there between 1 and 7</caption>\n * var numbers = Rx.Observable.range(1, 7);\n * var result = numbers.count(i => i % 2 === 1);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link max}\n * @see {@link min}\n * @see {@link reduce}\n *\n * @param {function(value: T, i: number, source: Observable<T>): boolean} [predicate] A\n * boolean function to select what values are to be counted. It is provided with\n * arguments of:\n * - `value`: the value from the source Observable.\n * - `index`: the (zero-based) \"index\" of the value from the source Observable.\n * - `source`: the source Observable instance itself.\n * @return {Observable} An Observable of one number that represents the count as\n * described above.\n * @method count\n * @owner Observable\n ",
      "range": [
        44,
        2065
      ],
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 46,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
      "range": [
        2518,
        2609
      ],
      "loc": {
        "start": {
          "line": 60,
          "column": 0
        },
        "end": {
          "line": 64,
          "column": 3
        }
      }
    },
    {
      "type": "Line",
      "value": "# sourceMappingURL=count.js.map",
      "range": [
        3635,
        3668
      ],
      "loc": {
        "start": {
          "line": 101,
          "column": 0
        },
        "end": {
          "line": 101,
          "column": 33
        }
      }
    }
  ]
}