{
  "type": "Program",
  "body": [
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "Subscriber",
            "range": [
              9,
              19
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 19
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "Subscriber",
            "range": [
              9,
              19
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 19
              }
            }
          },
          "range": [
            9,
            19
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 9
            },
            "end": {
              "line": 1,
              "column": 19
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../Subscriber",
        "raw": "'../Subscriber'",
        "range": [
          27,
          42
        ],
        "loc": {
          "start": {
            "line": 1,
            "column": 27
          },
          "end": {
            "line": 1,
            "column": 42
          }
        }
      },
      "range": [
        0,
        43
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 43
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "ArgumentOutOfRangeError",
            "range": [
              53,
              76
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 32
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "ArgumentOutOfRangeError",
            "range": [
              53,
              76
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 32
              }
            }
          },
          "range": [
            53,
            76
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 9
            },
            "end": {
              "line": 2,
              "column": 32
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../util/ArgumentOutOfRangeError",
        "raw": "'../util/ArgumentOutOfRangeError'",
        "range": [
          84,
          117
        ],
        "loc": {
          "start": {
            "line": 2,
            "column": 40
          },
          "end": {
            "line": 2,
            "column": 73
          }
        }
      },
      "range": [
        44,
        118
      ],
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 74
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "EmptyObservable",
            "range": [
              128,
              143
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 24
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "EmptyObservable",
            "range": [
              128,
              143
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 24
              }
            }
          },
          "range": [
            128,
            143
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 9
            },
            "end": {
              "line": 3,
              "column": 24
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../observable/EmptyObservable",
        "raw": "'../observable/EmptyObservable'",
        "range": [
          151,
          182
        ],
        "loc": {
          "start": {
            "line": 3,
            "column": 32
          },
          "end": {
            "line": 3,
            "column": 63
          }
        }
      },
      "range": [
        119,
        183
      ],
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 64
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * Emits only the last `count` values emitted by the source Observable.\n *\n * <span class=\"informal\">Remembers the latest `count` values, then emits those\n * only when the source completes.</span>\n *\n * <img src=\"./img/takeLast.png\" width=\"100%\">\n *\n * `takeLast` returns an Observable that emits at most the last `count` values\n * emitted by the source Observable. If the source emits fewer than `count`\n * values then all of its values are emitted. This operator must wait until the\n * `complete` notification emission from the source in order to emit the `next`\n * values on the output Observable, because otherwise it is impossible to know\n * whether or not more values will be emitted on the source. For this reason,\n * all values are emitted synchronously, followed by the complete notification.\n *\n * @example <caption>Take the last 3 values of an Observable with many values</caption>\n * var many = Rx.Observable.range(1, 100);\n * var lastThree = many.takeLast(3);\n * lastThree.subscribe(x => console.log(x));\n *\n * @see {@link take}\n * @see {@link takeUntil}\n * @see {@link takeWhile}\n * @see {@link skip}\n *\n * @throws {ArgumentOutOfRangeError} When using `takeLast(i)`, it delivers an\n * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0`.\n *\n * @param {number} count The maximum number of values to emit from the end of\n * the sequence of values emitted by the source Observable.\n * @return {Observable<T>} An Observable that emits at most the last count\n * values emitted by the source Observable.\n * @method takeLast\n * @owner Observable\n ",
          "range": [
            184,
            1762
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 0
            },
            "end": {
              "line": 39,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "FunctionDeclaration",
        "id": {
          "type": "Identifier",
          "name": "takeLast",
          "range": [
            1779,
            1787
          ],
          "loc": {
            "start": {
              "line": 40,
              "column": 16
            },
            "end": {
              "line": 40,
              "column": 24
            }
          }
        },
        "params": [
          {
            "type": "Identifier",
            "name": "count",
            "range": [
              1788,
              1793
            ],
            "loc": {
              "start": {
                "line": 40,
                "column": 25
              },
              "end": {
                "line": 40,
                "column": 30
              }
            }
          }
        ],
        "body": {
          "type": "BlockStatement",
          "body": [
            {
              "type": "IfStatement",
              "test": {
                "type": "BinaryExpression",
                "operator": "===",
                "left": {
                  "type": "Identifier",
                  "name": "count",
                  "range": [
                    1805,
                    1810
                  ],
                  "loc": {
                    "start": {
                      "line": 41,
                      "column": 8
                    },
                    "end": {
                      "line": 41,
                      "column": 13
                    }
                  }
                },
                "right": {
                  "type": "Literal",
                  "value": 0,
                  "raw": "0",
                  "range": [
                    1815,
                    1816
                  ],
                  "loc": {
                    "start": {
                      "line": 41,
                      "column": 18
                    },
                    "end": {
                      "line": 41,
                      "column": 19
                    }
                  }
                },
                "range": [
                  1805,
                  1816
                ],
                "loc": {
                  "start": {
                    "line": 41,
                    "column": 8
                  },
                  "end": {
                    "line": 41,
                    "column": 19
                  }
                }
              },
              "consequent": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "NewExpression",
                      "callee": {
                        "type": "Identifier",
                        "name": "EmptyObservable",
                        "range": [
                          1839,
                          1854
                        ],
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 19
                          },
                          "end": {
                            "line": 42,
                            "column": 34
                          }
                        }
                      },
                      "arguments": [],
                      "range": [
                        1835,
                        1856
                      ],
                      "loc": {
                        "start": {
                          "line": 42,
                          "column": 15
                        },
                        "end": {
                          "line": 42,
                          "column": 36
                        }
                      }
                    },
                    "range": [
                      1828,
                      1857
                    ],
                    "loc": {
                      "start": {
                        "line": 42,
                        "column": 8
                      },
                      "end": {
                        "line": 42,
                        "column": 37
                      }
                    }
                  }
                ],
                "range": [
                  1818,
                  1863
                ],
                "loc": {
                  "start": {
                    "line": 41,
                    "column": 21
                  },
                  "end": {
                    "line": 43,
                    "column": 5
                  }
                }
              },
              "alternate": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "ThisExpression",
                          "range": [
                            1890,
                            1894
                          ],
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 15
                            },
                            "end": {
                              "line": 45,
                              "column": 19
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "lift",
                          "range": [
                            1895,
                            1899
                          ],
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 20
                            },
                            "end": {
                              "line": 45,
                              "column": 24
                            }
                          }
                        },
                        "range": [
                          1890,
                          1899
                        ],
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 15
                          },
                          "end": {
                            "line": 45,
                            "column": 24
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "NewExpression",
                          "callee": {
                            "type": "Identifier",
                            "name": "TakeLastOperator",
                            "range": [
                              1904,
                              1920
                            ],
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 29
                              },
                              "end": {
                                "line": 45,
                                "column": 45
                              }
                            }
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "name": "count",
                              "range": [
                                1921,
                                1926
                              ],
                              "loc": {
                                "start": {
                                  "line": 45,
                                  "column": 46
                                },
                                "end": {
                                  "line": 45,
                                  "column": 51
                                }
                              }
                            }
                          ],
                          "range": [
                            1900,
                            1927
                          ],
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 25
                            },
                            "end": {
                              "line": 45,
                              "column": 52
                            }
                          }
                        }
                      ],
                      "range": [
                        1890,
                        1928
                      ],
                      "loc": {
                        "start": {
                          "line": 45,
                          "column": 15
                        },
                        "end": {
                          "line": 45,
                          "column": 53
                        }
                      }
                    },
                    "range": [
                      1883,
                      1929
                    ],
                    "loc": {
                      "start": {
                        "line": 45,
                        "column": 8
                      },
                      "end": {
                        "line": 45,
                        "column": 54
                      }
                    }
                  }
                ],
                "range": [
                  1873,
                  1935
                ],
                "loc": {
                  "start": {
                    "line": 44,
                    "column": 9
                  },
                  "end": {
                    "line": 46,
                    "column": 5
                  }
                }
              },
              "range": [
                1801,
                1935
              ],
              "loc": {
                "start": {
                  "line": 41,
                  "column": 4
                },
                "end": {
                  "line": 46,
                  "column": 5
                }
              }
            }
          ],
          "range": [
            1795,
            1937
          ],
          "loc": {
            "start": {
              "line": 40,
              "column": 32
            },
            "end": {
              "line": 47,
              "column": 1
            }
          }
        },
        "generator": false,
        "expression": false,
        "range": [
          1770,
          1937
        ],
        "loc": {
          "start": {
            "line": 40,
            "column": 7
          },
          "end": {
            "line": 47,
            "column": 1
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * Emits only the last `count` values emitted by the source Observable.\n *\n * <span class=\"informal\">Remembers the latest `count` values, then emits those\n * only when the source completes.</span>\n *\n * <img src=\"./img/takeLast.png\" width=\"100%\">\n *\n * `takeLast` returns an Observable that emits at most the last `count` values\n * emitted by the source Observable. If the source emits fewer than `count`\n * values then all of its values are emitted. This operator must wait until the\n * `complete` notification emission from the source in order to emit the `next`\n * values on the output Observable, because otherwise it is impossible to know\n * whether or not more values will be emitted on the source. For this reason,\n * all values are emitted synchronously, followed by the complete notification.\n *\n * @example <caption>Take the last 3 values of an Observable with many values</caption>\n * var many = Rx.Observable.range(1, 100);\n * var lastThree = many.takeLast(3);\n * lastThree.subscribe(x => console.log(x));\n *\n * @see {@link take}\n * @see {@link takeUntil}\n * @see {@link takeWhile}\n * @see {@link skip}\n *\n * @throws {ArgumentOutOfRangeError} When using `takeLast(i)`, it delivers an\n * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0`.\n *\n * @param {number} count The maximum number of values to emit from the end of\n * the sequence of values emitted by the source Observable.\n * @return {Observable<T>} An Observable that emits at most the last count\n * values emitted by the source Observable.\n * @method takeLast\n * @owner Observable\n ",
            "range": [
              184,
              1762
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 0
              },
              "end": {
                "line": 39,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "range": [
        1763,
        1937
      ],
      "loc": {
        "start": {
          "line": 40,
          "column": 0
        },
        "end": {
          "line": 47,
          "column": 1
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Emits only the last `count` values emitted by the source Observable.\n *\n * <span class=\"informal\">Remembers the latest `count` values, then emits those\n * only when the source completes.</span>\n *\n * <img src=\"./img/takeLast.png\" width=\"100%\">\n *\n * `takeLast` returns an Observable that emits at most the last `count` values\n * emitted by the source Observable. If the source emits fewer than `count`\n * values then all of its values are emitted. This operator must wait until the\n * `complete` notification emission from the source in order to emit the `next`\n * values on the output Observable, because otherwise it is impossible to know\n * whether or not more values will be emitted on the source. For this reason,\n * all values are emitted synchronously, followed by the complete notification.\n *\n * @example <caption>Take the last 3 values of an Observable with many values</caption>\n * var many = Rx.Observable.range(1, 100);\n * var lastThree = many.takeLast(3);\n * lastThree.subscribe(x => console.log(x));\n *\n * @see {@link take}\n * @see {@link takeUntil}\n * @see {@link takeWhile}\n * @see {@link skip}\n *\n * @throws {ArgumentOutOfRangeError} When using `takeLast(i)`, it delivers an\n * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0`.\n *\n * @param {number} count The maximum number of values to emit from the end of\n * the sequence of values emitted by the source Observable.\n * @return {Observable<T>} An Observable that emits at most the last count\n * values emitted by the source Observable.\n * @method takeLast\n * @owner Observable\n ",
          "range": [
            184,
            1762
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 0
            },
            "end": {
              "line": 39,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "TakeLastOperator",
            "range": [
              1942,
              1958
            ],
            "loc": {
              "start": {
                "line": 48,
                "column": 4
              },
              "end": {
                "line": 48,
                "column": 20
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "TakeLastOperator",
                      "range": [
                        1989,
                        2005
                      ],
                      "loc": {
                        "start": {
                          "line": 49,
                          "column": 13
                        },
                        "end": {
                          "line": 49,
                          "column": 29
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "total",
                        "range": [
                          2006,
                          2011
                        ],
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 30
                          },
                          "end": {
                            "line": 49,
                            "column": 35
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  2023,
                                  2027
                                ],
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "total",
                                "range": [
                                  2028,
                                  2033
                                ],
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 18
                                  }
                                }
                              },
                              "range": [
                                2023,
                                2033
                              ],
                              "loc": {
                                "start": {
                                  "line": 50,
                                  "column": 8
                                },
                                "end": {
                                  "line": 50,
                                  "column": 18
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "total",
                              "range": [
                                2036,
                                2041
                              ],
                              "loc": {
                                "start": {
                                  "line": 50,
                                  "column": 21
                                },
                                "end": {
                                  "line": 50,
                                  "column": 26
                                }
                              }
                            },
                            "range": [
                              2023,
                              2041
                            ],
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 8
                              },
                              "end": {
                                "line": 50,
                                "column": 26
                              }
                            }
                          },
                          "range": [
                            2023,
                            2042
                          ],
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 8
                            },
                            "end": {
                              "line": 50,
                              "column": 27
                            }
                          }
                        },
                        {
                          "type": "IfStatement",
                          "test": {
                            "type": "BinaryExpression",
                            "operator": "<",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  2055,
                                  2059
                                ],
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 16
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "total",
                                "range": [
                                  2060,
                                  2065
                                ],
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 22
                                  }
                                }
                              },
                              "range": [
                                2055,
                                2065
                              ],
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 12
                                },
                                "end": {
                                  "line": 51,
                                  "column": 22
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": 0,
                              "raw": "0",
                              "range": [
                                2068,
                                2069
                              ],
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 25
                                },
                                "end": {
                                  "line": 51,
                                  "column": 26
                                }
                              }
                            },
                            "range": [
                              2055,
                              2069
                            ],
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 12
                              },
                              "end": {
                                "line": 51,
                                "column": 26
                              }
                            }
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "ThrowStatement",
                                "argument": {
                                  "type": "NewExpression",
                                  "callee": {
                                    "type": "Identifier",
                                    "name": "ArgumentOutOfRangeError",
                                    "range": [
                                      2095,
                                      2118
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 52,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 52,
                                        "column": 45
                                      }
                                    }
                                  },
                                  "arguments": [],
                                  "range": [
                                    2091,
                                    2118
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 52,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 52,
                                      "column": 45
                                    }
                                  }
                                },
                                "range": [
                                  2085,
                                  2119
                                ],
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 46
                                  }
                                }
                              }
                            ],
                            "range": [
                              2071,
                              2129
                            ],
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 28
                              },
                              "end": {
                                "line": 53,
                                "column": 9
                              }
                            }
                          },
                          "alternate": null,
                          "range": [
                            2051,
                            2129
                          ],
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 8
                            },
                            "end": {
                              "line": 53,
                              "column": 9
                            }
                          }
                        }
                      ],
                      "range": [
                        2013,
                        2135
                      ],
                      "loc": {
                        "start": {
                          "line": 49,
                          "column": 37
                        },
                        "end": {
                          "line": 54,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      1980,
                      2135
                    ],
                    "loc": {
                      "start": {
                        "line": 49,
                        "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": "TakeLastOperator",
                            "range": [
                              2140,
                              2156
                            ],
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 4
                              },
                              "end": {
                                "line": 55,
                                "column": 20
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              2157,
                              2166
                            ],
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 21
                              },
                              "end": {
                                "line": 55,
                                "column": 30
                              }
                            }
                          },
                          "range": [
                            2140,
                            2166
                          ],
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 4
                            },
                            "end": {
                              "line": 55,
                              "column": 30
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "call",
                          "range": [
                            2167,
                            2171
                          ],
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 31
                            },
                            "end": {
                              "line": 55,
                              "column": 35
                            }
                          }
                        },
                        "range": [
                          2140,
                          2171
                        ],
                        "loc": {
                          "start": {
                            "line": 55,
                            "column": 4
                          },
                          "end": {
                            "line": 55,
                            "column": 35
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "subscriber",
                            "range": [
                              2184,
                              2194
                            ],
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 48
                              },
                              "end": {
                                "line": 55,
                                "column": 58
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "source",
                            "range": [
                              2196,
                              2202
                            ],
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 60
                              },
                              "end": {
                                "line": 55,
                                "column": 66
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ReturnStatement",
                              "argument": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "source",
                                    "range": [
                                      2221,
                                      2227
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 56,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 56,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_subscribe",
                                    "range": [
                                      2228,
                                      2238
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 56,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 56,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "range": [
                                    2221,
                                    2238
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 32
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "NewExpression",
                                    "callee": {
                                      "type": "Identifier",
                                      "name": "TakeLastSubscriber",
                                      "range": [
                                        2243,
                                        2261
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 56,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 56,
                                          "column": 55
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "name": "subscriber",
                                        "range": [
                                          2262,
                                          2272
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 56,
                                            "column": 56
                                          },
                                          "end": {
                                            "line": 56,
                                            "column": 66
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            2274,
                                            2278
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 56,
                                              "column": 68
                                            },
                                            "end": {
                                              "line": 56,
                                              "column": 72
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "total",
                                          "range": [
                                            2279,
                                            2284
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 56,
                                              "column": 73
                                            },
                                            "end": {
                                              "line": 56,
                                              "column": 78
                                            }
                                          }
                                        },
                                        "range": [
                                          2274,
                                          2284
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 56,
                                            "column": 68
                                          },
                                          "end": {
                                            "line": 56,
                                            "column": 78
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      2239,
                                      2285
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 56,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 56,
                                        "column": 79
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2221,
                                  2286
                                ],
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 80
                                  }
                                }
                              },
                              "range": [
                                2214,
                                2287
                              ],
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 8
                                },
                                "end": {
                                  "line": 56,
                                  "column": 81
                                }
                              }
                            }
                          ],
                          "range": [
                            2204,
                            2293
                          ],
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 68
                            },
                            "end": {
                              "line": 57,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          2174,
                          2293
                        ],
                        "loc": {
                          "start": {
                            "line": 55,
                            "column": 38
                          },
                          "end": {
                            "line": 57,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2140,
                        2293
                      ],
                      "loc": {
                        "start": {
                          "line": 55,
                          "column": 4
                        },
                        "end": {
                          "line": 57,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      2140,
                      2294
                    ],
                    "loc": {
                      "start": {
                        "line": 55,
                        "column": 4
                      },
                      "end": {
                        "line": 57,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "TakeLastOperator",
                      "range": [
                        2306,
                        2322
                      ],
                      "loc": {
                        "start": {
                          "line": 58,
                          "column": 11
                        },
                        "end": {
                          "line": 58,
                          "column": 27
                        }
                      }
                    },
                    "range": [
                      2299,
                      2323
                    ],
                    "loc": {
                      "start": {
                        "line": 58,
                        "column": 4
                      },
                      "end": {
                        "line": 58,
                        "column": 28
                      }
                    }
                  }
                ],
                "range": [
                  1974,
                  2325
                ],
                "loc": {
                  "start": {
                    "line": 48,
                    "column": 36
                  },
                  "end": {
                    "line": 59,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                1962,
                2325
              ],
              "loc": {
                "start": {
                  "line": 48,
                  "column": 24
                },
                "end": {
                  "line": 59,
                  "column": 1
                }
              }
            },
            "arguments": [],
            "range": [
              1962,
              2327
            ],
            "loc": {
              "start": {
                "line": 48,
                "column": 24
              },
              "end": {
                "line": 59,
                "column": 3
              }
            }
          },
          "range": [
            1942,
            2328
          ],
          "loc": {
            "start": {
              "line": 48,
              "column": 4
            },
            "end": {
              "line": 59,
              "column": 4
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        1938,
        2329
      ],
      "loc": {
        "start": {
          "line": 48,
          "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": [
            2330,
            2421
          ],
          "loc": {
            "start": {
              "line": 60,
              "column": 0
            },
            "end": {
              "line": 64,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "TakeLastSubscriber",
            "range": [
              2426,
              2444
            ],
            "loc": {
              "start": {
                "line": 65,
                "column": 4
              },
              "end": {
                "line": 65,
                "column": 22
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "_super",
                  "range": [
                    2458,
                    2464
                  ],
                  "loc": {
                    "start": {
                      "line": 65,
                      "column": 36
                    },
                    "end": {
                      "line": 65,
                      "column": 42
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "Identifier",
                        "name": "__extends",
                        "range": [
                          2472,
                          2481
                        ],
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 4
                          },
                          "end": {
                            "line": 66,
                            "column": 13
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "name": "TakeLastSubscriber",
                          "range": [
                            2482,
                            2500
                          ],
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 14
                            },
                            "end": {
                              "line": 66,
                              "column": 32
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "_super",
                          "range": [
                            2502,
                            2508
                          ],
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 34
                            },
                            "end": {
                              "line": 66,
                              "column": 40
                            }
                          }
                        }
                      ],
                      "range": [
                        2472,
                        2509
                      ],
                      "loc": {
                        "start": {
                          "line": 66,
                          "column": 4
                        },
                        "end": {
                          "line": 66,
                          "column": 41
                        }
                      }
                    },
                    "range": [
                      2472,
                      2510
                    ],
                    "loc": {
                      "start": {
                        "line": 66,
                        "column": 4
                      },
                      "end": {
                        "line": 66,
                        "column": 42
                      }
                    }
                  },
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "TakeLastSubscriber",
                      "range": [
                        2524,
                        2542
                      ],
                      "loc": {
                        "start": {
                          "line": 67,
                          "column": 13
                        },
                        "end": {
                          "line": 67,
                          "column": 31
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "destination",
                        "range": [
                          2543,
                          2554
                        ],
                        "loc": {
                          "start": {
                            "line": 67,
                            "column": 32
                          },
                          "end": {
                            "line": 67,
                            "column": 43
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "total",
                        "range": [
                          2556,
                          2561
                        ],
                        "loc": {
                          "start": {
                            "line": 67,
                            "column": 45
                          },
                          "end": {
                            "line": 67,
                            "column": 50
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "_super",
                                "range": [
                                  2573,
                                  2579
                                ],
                                "loc": {
                                  "start": {
                                    "line": 68,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 68,
                                    "column": 14
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "call",
                                "range": [
                                  2580,
                                  2584
                                ],
                                "loc": {
                                  "start": {
                                    "line": 68,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 68,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                2573,
                                2584
                              ],
                              "loc": {
                                "start": {
                                  "line": 68,
                                  "column": 8
                                },
                                "end": {
                                  "line": 68,
                                  "column": 19
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "range": [
                                  2585,
                                  2589
                                ],
                                "loc": {
                                  "start": {
                                    "line": 68,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 68,
                                    "column": 24
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "name": "destination",
                                "range": [
                                  2591,
                                  2602
                                ],
                                "loc": {
                                  "start": {
                                    "line": 68,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 68,
                                    "column": 37
                                  }
                                }
                              }
                            ],
                            "range": [
                              2573,
                              2603
                            ],
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 8
                              },
                              "end": {
                                "line": 68,
                                "column": 38
                              }
                            }
                          },
                          "range": [
                            2573,
                            2604
                          ],
                          "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": [
                                  2613,
                                  2617
                                ],
                                "loc": {
                                  "start": {
                                    "line": 69,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "total",
                                "range": [
                                  2618,
                                  2623
                                ],
                                "loc": {
                                  "start": {
                                    "line": 69,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 18
                                  }
                                }
                              },
                              "range": [
                                2613,
                                2623
                              ],
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 8
                                },
                                "end": {
                                  "line": 69,
                                  "column": 18
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "total",
                              "range": [
                                2626,
                                2631
                              ],
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 21
                                },
                                "end": {
                                  "line": 69,
                                  "column": 26
                                }
                              }
                            },
                            "range": [
                              2613,
                              2631
                            ],
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 8
                              },
                              "end": {
                                "line": 69,
                                "column": 26
                              }
                            }
                          },
                          "range": [
                            2613,
                            2632
                          ],
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 8
                            },
                            "end": {
                              "line": 69,
                              "column": 27
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  2641,
                                  2645
                                ],
                                "loc": {
                                  "start": {
                                    "line": 70,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 70,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "ring",
                                "range": [
                                  2646,
                                  2650
                                ],
                                "loc": {
                                  "start": {
                                    "line": 70,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 70,
                                    "column": 17
                                  }
                                }
                              },
                              "range": [
                                2641,
                                2650
                              ],
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 8
                                },
                                "end": {
                                  "line": 70,
                                  "column": 17
                                }
                              }
                            },
                            "right": {
                              "type": "NewExpression",
                              "callee": {
                                "type": "Identifier",
                                "name": "Array",
                                "range": [
                                  2657,
                                  2662
                                ],
                                "loc": {
                                  "start": {
                                    "line": 70,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 70,
                                    "column": 29
                                  }
                                }
                              },
                              "arguments": [],
                              "range": [
                                2653,
                                2664
                              ],
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 20
                                },
                                "end": {
                                  "line": 70,
                                  "column": 31
                                }
                              }
                            },
                            "range": [
                              2641,
                              2664
                            ],
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 8
                              },
                              "end": {
                                "line": 70,
                                "column": 31
                              }
                            }
                          },
                          "range": [
                            2641,
                            2665
                          ],
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 8
                            },
                            "end": {
                              "line": 70,
                              "column": 32
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  2674,
                                  2678
                                ],
                                "loc": {
                                  "start": {
                                    "line": 71,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 71,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "count",
                                "range": [
                                  2679,
                                  2684
                                ],
                                "loc": {
                                  "start": {
                                    "line": 71,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 71,
                                    "column": 18
                                  }
                                }
                              },
                              "range": [
                                2674,
                                2684
                              ],
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 8
                                },
                                "end": {
                                  "line": 71,
                                  "column": 18
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": 0,
                              "raw": "0",
                              "range": [
                                2687,
                                2688
                              ],
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 21
                                },
                                "end": {
                                  "line": 71,
                                  "column": 22
                                }
                              }
                            },
                            "range": [
                              2674,
                              2688
                            ],
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 8
                              },
                              "end": {
                                "line": 71,
                                "column": 22
                              }
                            }
                          },
                          "range": [
                            2674,
                            2689
                          ],
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 8
                            },
                            "end": {
                              "line": 71,
                              "column": 23
                            }
                          }
                        }
                      ],
                      "range": [
                        2563,
                        2695
                      ],
                      "loc": {
                        "start": {
                          "line": 67,
                          "column": 52
                        },
                        "end": {
                          "line": 72,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      2515,
                      2695
                    ],
                    "loc": {
                      "start": {
                        "line": 67,
                        "column": 4
                      },
                      "end": {
                        "line": 72,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "TakeLastSubscriber",
                            "range": [
                              2700,
                              2718
                            ],
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 4
                              },
                              "end": {
                                "line": 73,
                                "column": 22
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              2719,
                              2728
                            ],
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 23
                              },
                              "end": {
                                "line": 73,
                                "column": 32
                              }
                            }
                          },
                          "range": [
                            2700,
                            2728
                          ],
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 4
                            },
                            "end": {
                              "line": 73,
                              "column": 32
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_next",
                          "range": [
                            2729,
                            2734
                          ],
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 33
                            },
                            "end": {
                              "line": 73,
                              "column": 38
                            }
                          }
                        },
                        "range": [
                          2700,
                          2734
                        ],
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 4
                          },
                          "end": {
                            "line": 73,
                            "column": 38
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "value",
                            "range": [
                              2747,
                              2752
                            ],
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 51
                              },
                              "end": {
                                "line": 73,
                                "column": 56
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "ring",
                                    "range": [
                                      2768,
                                      2772
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2775,
                                        2779
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 23
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "ring",
                                      "range": [
                                        2780,
                                        2784
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 28
                                        }
                                      }
                                    },
                                    "range": [
                                      2775,
                                      2784
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 28
                                      }
                                    }
                                  },
                                  "range": [
                                    2768,
                                    2784
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 74,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 28
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                2764,
                                2785
                              ],
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 8
                                },
                                "end": {
                                  "line": 74,
                                  "column": 29
                                }
                              }
                            },
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "total",
                                    "range": [
                                      2798,
                                      2803
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 75,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 75,
                                        "column": 17
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2806,
                                        2810
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 75,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 75,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "total",
                                      "range": [
                                        2811,
                                        2816
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 75,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 75,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "range": [
                                      2806,
                                      2816
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 75,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 75,
                                        "column": 30
                                      }
                                    }
                                  },
                                  "range": [
                                    2798,
                                    2816
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 75,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 75,
                                      "column": 30
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                2794,
                                2817
                              ],
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 8
                                },
                                "end": {
                                  "line": 75,
                                  "column": 31
                                }
                              }
                            },
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "count",
                                    "range": [
                                      2830,
                                      2835
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 76,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 76,
                                        "column": 17
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "UpdateExpression",
                                    "operator": "++",
                                    "argument": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          2838,
                                          2842
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 76,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 76,
                                            "column": 24
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "count",
                                        "range": [
                                          2843,
                                          2848
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 76,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 76,
                                            "column": 30
                                          }
                                        }
                                      },
                                      "range": [
                                        2838,
                                        2848
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 76,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 76,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "prefix": false,
                                    "range": [
                                      2838,
                                      2850
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 76,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 76,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "range": [
                                    2830,
                                    2850
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 76,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 76,
                                      "column": 32
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                2826,
                                2851
                              ],
                              "loc": {
                                "start": {
                                  "line": 76,
                                  "column": 8
                                },
                                "end": {
                                  "line": 76,
                                  "column": 33
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "BinaryExpression",
                                "operator": "<",
                                "left": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "ring",
                                    "range": [
                                      2864,
                                      2868
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 77,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 77,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "length",
                                    "range": [
                                      2869,
                                      2875
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 77,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 77,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "range": [
                                    2864,
                                    2875
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 77,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 77,
                                      "column": 23
                                    }
                                  }
                                },
                                "right": {
                                  "type": "Identifier",
                                  "name": "total",
                                  "range": [
                                    2878,
                                    2883
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 77,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 77,
                                      "column": 31
                                    }
                                  }
                                },
                                "range": [
                                  2864,
                                  2883
                                ],
                                "loc": {
                                  "start": {
                                    "line": 77,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 77,
                                    "column": 31
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "ring",
                                          "range": [
                                            2899,
                                            2903
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 78,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 78,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "push",
                                          "range": [
                                            2904,
                                            2908
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 78,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 78,
                                              "column": 21
                                            }
                                          }
                                        },
                                        "range": [
                                          2899,
                                          2908
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 78,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 78,
                                            "column": 21
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "value",
                                          "range": [
                                            2909,
                                            2914
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 78,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 78,
                                              "column": 27
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        2899,
                                        2915
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 28
                                        }
                                      }
                                    },
                                    "range": [
                                      2899,
                                      2916
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 78,
                                        "column": 29
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2885,
                                  2926
                                ],
                                "loc": {
                                  "start": {
                                    "line": 77,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "VariableDeclaration",
                                    "declarations": [
                                      {
                                        "type": "VariableDeclarator",
                                        "id": {
                                          "type": "Identifier",
                                          "name": "index",
                                          "range": [
                                            2958,
                                            2963
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 81,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 81,
                                              "column": 21
                                            }
                                          }
                                        },
                                        "init": {
                                          "type": "BinaryExpression",
                                          "operator": "%",
                                          "left": {
                                            "type": "Identifier",
                                            "name": "count",
                                            "range": [
                                              2966,
                                              2971
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 81,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 81,
                                                "column": 29
                                              }
                                            }
                                          },
                                          "right": {
                                            "type": "Identifier",
                                            "name": "total",
                                            "range": [
                                              2974,
                                              2979
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 81,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 81,
                                                "column": 37
                                              }
                                            }
                                          },
                                          "range": [
                                            2966,
                                            2979
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 81,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 81,
                                              "column": 37
                                            }
                                          }
                                        },
                                        "range": [
                                          2958,
                                          2979
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 81,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 81,
                                            "column": 37
                                          }
                                        }
                                      }
                                    ],
                                    "kind": "var",
                                    "range": [
                                      2954,
                                      2980
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 81,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 81,
                                        "column": 38
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "computed": true,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "ring",
                                          "range": [
                                            2993,
                                            2997
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 82,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 82,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "index",
                                          "range": [
                                            2998,
                                            3003
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 82,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 82,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "range": [
                                          2993,
                                          3004
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 82,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 82,
                                            "column": 23
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "Identifier",
                                        "name": "value",
                                        "range": [
                                          3007,
                                          3012
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 82,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 82,
                                            "column": 31
                                          }
                                        }
                                      },
                                      "range": [
                                        2993,
                                        3012
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 82,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 82,
                                          "column": 31
                                        }
                                      }
                                    },
                                    "range": [
                                      2993,
                                      3013
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 82,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 82,
                                        "column": 32
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2940,
                                  3023
                                ],
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 83,
                                    "column": 9
                                  }
                                }
                              },
                              "range": [
                                2860,
                                3023
                              ],
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 8
                                },
                                "end": {
                                  "line": 83,
                                  "column": 9
                                }
                              }
                            }
                          ],
                          "range": [
                            2754,
                            3029
                          ],
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 58
                            },
                            "end": {
                              "line": 84,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          2737,
                          3029
                        ],
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 41
                          },
                          "end": {
                            "line": 84,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2700,
                        3029
                      ],
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 4
                        },
                        "end": {
                          "line": 84,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      2700,
                      3030
                    ],
                    "loc": {
                      "start": {
                        "line": 73,
                        "column": 4
                      },
                      "end": {
                        "line": 84,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "TakeLastSubscriber",
                            "range": [
                              3035,
                              3053
                            ],
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 4
                              },
                              "end": {
                                "line": 85,
                                "column": 22
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              3054,
                              3063
                            ],
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 23
                              },
                              "end": {
                                "line": 85,
                                "column": 32
                              }
                            }
                          },
                          "range": [
                            3035,
                            3063
                          ],
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 4
                            },
                            "end": {
                              "line": 85,
                              "column": 32
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_complete",
                          "range": [
                            3064,
                            3073
                          ],
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 33
                            },
                            "end": {
                              "line": 85,
                              "column": 42
                            }
                          }
                        },
                        "range": [
                          3035,
                          3073
                        ],
                        "loc": {
                          "start": {
                            "line": 85,
                            "column": 4
                          },
                          "end": {
                            "line": 85,
                            "column": 42
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "destination",
                                    "range": [
                                      3102,
                                      3113
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 86,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 86,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3116,
                                        3120
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 86,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 86,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        3121,
                                        3132
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 86,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 86,
                                          "column": 42
                                        }
                                      }
                                    },
                                    "range": [
                                      3116,
                                      3132
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 86,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 86,
                                        "column": 42
                                      }
                                    }
                                  },
                                  "range": [
                                    3102,
                                    3132
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 86,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 86,
                                      "column": 42
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                3098,
                                3133
                              ],
                              "loc": {
                                "start": {
                                  "line": 86,
                                  "column": 8
                                },
                                "end": {
                                  "line": 86,
                                  "column": 43
                                }
                              }
                            },
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "count",
                                    "range": [
                                      3146,
                                      3151
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 87,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 87,
                                        "column": 17
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3154,
                                        3158
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 87,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "count",
                                      "range": [
                                        3159,
                                        3164
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 87,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "range": [
                                      3154,
                                      3164
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 87,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 87,
                                        "column": 30
                                      }
                                    }
                                  },
                                  "range": [
                                    3146,
                                    3164
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 87,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 87,
                                      "column": 30
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                3142,
                                3165
                              ],
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 8
                                },
                                "end": {
                                  "line": 87,
                                  "column": 31
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "BinaryExpression",
                                "operator": ">",
                                "left": {
                                  "type": "Identifier",
                                  "name": "count",
                                  "range": [
                                    3178,
                                    3183
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 88,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 88,
                                      "column": 17
                                    }
                                  }
                                },
                                "right": {
                                  "type": "Literal",
                                  "value": 0,
                                  "raw": "0",
                                  "range": [
                                    3186,
                                    3187
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 88,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 88,
                                      "column": 21
                                    }
                                  }
                                },
                                "range": [
                                  3178,
                                  3187
                                ],
                                "loc": {
                                  "start": {
                                    "line": 88,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 88,
                                    "column": 21
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "VariableDeclaration",
                                    "declarations": [
                                      {
                                        "type": "VariableDeclarator",
                                        "id": {
                                          "type": "Identifier",
                                          "name": "total",
                                          "range": [
                                            3207,
                                            3212
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 89,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 89,
                                              "column": 21
                                            }
                                          }
                                        },
                                        "init": {
                                          "type": "ConditionalExpression",
                                          "test": {
                                            "type": "BinaryExpression",
                                            "operator": ">=",
                                            "left": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "ThisExpression",
                                                "range": [
                                                  3215,
                                                  3219
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 89,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 89,
                                                    "column": 28
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "count",
                                                "range": [
                                                  3220,
                                                  3225
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 89,
                                                    "column": 29
                                                  },
                                                  "end": {
                                                    "line": 89,
                                                    "column": 34
                                                  }
                                                }
                                              },
                                              "range": [
                                                3215,
                                                3225
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 89,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 89,
                                                  "column": 34
                                                }
                                              }
                                            },
                                            "right": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "ThisExpression",
                                                "range": [
                                                  3229,
                                                  3233
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 89,
                                                    "column": 38
                                                  },
                                                  "end": {
                                                    "line": 89,
                                                    "column": 42
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "total",
                                                "range": [
                                                  3234,
                                                  3239
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 89,
                                                    "column": 43
                                                  },
                                                  "end": {
                                                    "line": 89,
                                                    "column": 48
                                                  }
                                                }
                                              },
                                              "range": [
                                                3229,
                                                3239
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 89,
                                                  "column": 38
                                                },
                                                "end": {
                                                  "line": 89,
                                                  "column": 48
                                                }
                                              }
                                            },
                                            "range": [
                                              3215,
                                              3239
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 89,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 89,
                                                "column": 48
                                              }
                                            }
                                          },
                                          "consequent": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                3242,
                                                3246
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 89,
                                                  "column": 51
                                                },
                                                "end": {
                                                  "line": 89,
                                                  "column": 55
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "total",
                                              "range": [
                                                3247,
                                                3252
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 89,
                                                  "column": 56
                                                },
                                                "end": {
                                                  "line": 89,
                                                  "column": 61
                                                }
                                              }
                                            },
                                            "range": [
                                              3242,
                                              3252
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 89,
                                                "column": 51
                                              },
                                              "end": {
                                                "line": 89,
                                                "column": 61
                                              }
                                            }
                                          },
                                          "alternate": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                3255,
                                                3259
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 89,
                                                  "column": 64
                                                },
                                                "end": {
                                                  "line": 89,
                                                  "column": 68
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "count",
                                              "range": [
                                                3260,
                                                3265
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 89,
                                                  "column": 69
                                                },
                                                "end": {
                                                  "line": 89,
                                                  "column": 74
                                                }
                                              }
                                            },
                                            "range": [
                                              3255,
                                              3265
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 89,
                                                "column": 64
                                              },
                                              "end": {
                                                "line": 89,
                                                "column": 74
                                              }
                                            }
                                          },
                                          "range": [
                                            3215,
                                            3265
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 89,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 89,
                                              "column": 74
                                            }
                                          }
                                        },
                                        "range": [
                                          3207,
                                          3265
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 89,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 89,
                                            "column": 74
                                          }
                                        }
                                      }
                                    ],
                                    "kind": "var",
                                    "range": [
                                      3203,
                                      3266
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 89,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 89,
                                        "column": 75
                                      }
                                    }
                                  },
                                  {
                                    "type": "VariableDeclaration",
                                    "declarations": [
                                      {
                                        "type": "VariableDeclarator",
                                        "id": {
                                          "type": "Identifier",
                                          "name": "ring",
                                          "range": [
                                            3283,
                                            3287
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "init": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              3290,
                                              3294
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 90,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 90,
                                                "column": 27
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "ring",
                                            "range": [
                                              3295,
                                              3299
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 90,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 90,
                                                "column": 32
                                              }
                                            }
                                          },
                                          "range": [
                                            3290,
                                            3299
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 32
                                            }
                                          }
                                        },
                                        "range": [
                                          3283,
                                          3299
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 90,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 90,
                                            "column": 32
                                          }
                                        }
                                      }
                                    ],
                                    "kind": "var",
                                    "range": [
                                      3279,
                                      3300
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 33
                                      }
                                    }
                                  },
                                  {
                                    "type": "ForStatement",
                                    "init": {
                                      "type": "VariableDeclaration",
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "id": {
                                            "type": "Identifier",
                                            "name": "i",
                                            "range": [
                                              3322,
                                              3323
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 91,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 91,
                                                "column": 22
                                              }
                                            }
                                          },
                                          "init": {
                                            "type": "Literal",
                                            "value": 0,
                                            "raw": "0",
                                            "range": [
                                              3326,
                                              3327
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 91,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 91,
                                                "column": 26
                                              }
                                            }
                                          },
                                          "range": [
                                            3322,
                                            3327
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 91,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 91,
                                              "column": 26
                                            }
                                          }
                                        }
                                      ],
                                      "kind": "var",
                                      "range": [
                                        3318,
                                        3327
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 91,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "test": {
                                      "type": "BinaryExpression",
                                      "operator": "<",
                                      "left": {
                                        "type": "Identifier",
                                        "name": "i",
                                        "range": [
                                          3329,
                                          3330
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 91,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 91,
                                            "column": 29
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "Identifier",
                                        "name": "total",
                                        "range": [
                                          3333,
                                          3338
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 91,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 91,
                                            "column": 37
                                          }
                                        }
                                      },
                                      "range": [
                                        3329,
                                        3338
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 91,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "update": {
                                      "type": "UpdateExpression",
                                      "operator": "++",
                                      "argument": {
                                        "type": "Identifier",
                                        "name": "i",
                                        "range": [
                                          3340,
                                          3341
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 91,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 91,
                                            "column": 40
                                          }
                                        }
                                      },
                                      "prefix": false,
                                      "range": [
                                        3340,
                                        3343
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 91,
                                          "column": 42
                                        }
                                      }
                                    },
                                    "body": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "VariableDeclaration",
                                          "declarations": [
                                            {
                                              "type": "VariableDeclarator",
                                              "id": {
                                                "type": "Identifier",
                                                "name": "idx",
                                                "range": [
                                                  3367,
                                                  3370
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 92,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 92,
                                                    "column": 23
                                                  }
                                                }
                                              },
                                              "init": {
                                                "type": "BinaryExpression",
                                                "operator": "%",
                                                "left": {
                                                  "type": "UpdateExpression",
                                                  "operator": "++",
                                                  "argument": {
                                                    "type": "Identifier",
                                                    "name": "count",
                                                    "range": [
                                                      3374,
                                                      3379
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 92,
                                                        "column": 27
                                                      },
                                                      "end": {
                                                        "line": 92,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "prefix": false,
                                                  "range": [
                                                    3374,
                                                    3381
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 92,
                                                      "column": 27
                                                    },
                                                    "end": {
                                                      "line": 92,
                                                      "column": 34
                                                    }
                                                  }
                                                },
                                                "right": {
                                                  "type": "Identifier",
                                                  "name": "total",
                                                  "range": [
                                                    3385,
                                                    3390
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 92,
                                                      "column": 38
                                                    },
                                                    "end": {
                                                      "line": 92,
                                                      "column": 43
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  3373,
                                                  3390
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 92,
                                                    "column": 26
                                                  },
                                                  "end": {
                                                    "line": 92,
                                                    "column": 43
                                                  }
                                                }
                                              },
                                              "range": [
                                                3367,
                                                3390
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 92,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 92,
                                                  "column": 43
                                                }
                                              }
                                            }
                                          ],
                                          "kind": "var",
                                          "range": [
                                            3363,
                                            3391
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 92,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 92,
                                              "column": 44
                                            }
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "expression": {
                                            "type": "CallExpression",
                                            "callee": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "destination",
                                                "range": [
                                                  3408,
                                                  3419
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 93,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 93,
                                                    "column": 27
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "next",
                                                "range": [
                                                  3420,
                                                  3424
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 93,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 93,
                                                    "column": 32
                                                  }
                                                }
                                              },
                                              "range": [
                                                3408,
                                                3424
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 93,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 93,
                                                  "column": 32
                                                }
                                              }
                                            },
                                            "arguments": [
                                              {
                                                "type": "MemberExpression",
                                                "computed": true,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "ring",
                                                  "range": [
                                                    3425,
                                                    3429
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 93,
                                                      "column": 33
                                                    },
                                                    "end": {
                                                      "line": 93,
                                                      "column": 37
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "idx",
                                                  "range": [
                                                    3430,
                                                    3433
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 93,
                                                      "column": 38
                                                    },
                                                    "end": {
                                                      "line": 93,
                                                      "column": 41
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  3425,
                                                  3434
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 93,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 93,
                                                    "column": 42
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              3408,
                                              3435
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 93,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 93,
                                                "column": 43
                                              }
                                            }
                                          },
                                          "range": [
                                            3408,
                                            3436
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 93,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 93,
                                              "column": 44
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3345,
                                        3450
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 94,
                                          "column": 13
                                        }
                                      }
                                    },
                                    "range": [
                                      3313,
                                      3450
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 91,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 94,
                                        "column": 13
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3189,
                                  3460
                                ],
                                "loc": {
                                  "start": {
                                    "line": 88,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 95,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                3174,
                                3460
                              ],
                              "loc": {
                                "start": {
                                  "line": 88,
                                  "column": 8
                                },
                                "end": {
                                  "line": 95,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "destination",
                                    "range": [
                                      3469,
                                      3480
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 96,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 96,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "complete",
                                    "range": [
                                      3481,
                                      3489
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 96,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 96,
                                        "column": 28
                                      }
                                    }
                                  },
                                  "range": [
                                    3469,
                                    3489
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 96,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 96,
                                      "column": 28
                                    }
                                  }
                                },
                                "arguments": [],
                                "range": [
                                  3469,
                                  3491
                                ],
                                "loc": {
                                  "start": {
                                    "line": 96,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 96,
                                    "column": 30
                                  }
                                }
                              },
                              "range": [
                                3469,
                                3492
                              ],
                              "loc": {
                                "start": {
                                  "line": 96,
                                  "column": 8
                                },
                                "end": {
                                  "line": 96,
                                  "column": 31
                                }
                              }
                            }
                          ],
                          "range": [
                            3088,
                            3498
                          ],
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 57
                            },
                            "end": {
                              "line": 97,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          3076,
                          3498
                        ],
                        "loc": {
                          "start": {
                            "line": 85,
                            "column": 45
                          },
                          "end": {
                            "line": 97,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3035,
                        3498
                      ],
                      "loc": {
                        "start": {
                          "line": 85,
                          "column": 4
                        },
                        "end": {
                          "line": 97,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      3035,
                      3499
                    ],
                    "loc": {
                      "start": {
                        "line": 85,
                        "column": 4
                      },
                      "end": {
                        "line": 97,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "TakeLastSubscriber",
                      "range": [
                        3511,
                        3529
                      ],
                      "loc": {
                        "start": {
                          "line": 98,
                          "column": 11
                        },
                        "end": {
                          "line": 98,
                          "column": 29
                        }
                      }
                    },
                    "range": [
                      3504,
                      3530
                    ],
                    "loc": {
                      "start": {
                        "line": 98,
                        "column": 4
                      },
                      "end": {
                        "line": 98,
                        "column": 30
                      }
                    }
                  }
                ],
                "range": [
                  2466,
                  3532
                ],
                "loc": {
                  "start": {
                    "line": 65,
                    "column": 44
                  },
                  "end": {
                    "line": 99,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                2448,
                3532
              ],
              "loc": {
                "start": {
                  "line": 65,
                  "column": 26
                },
                "end": {
                  "line": 99,
                  "column": 1
                }
              }
            },
            "arguments": [
              {
                "type": "Identifier",
                "name": "Subscriber",
                "range": [
                  3533,
                  3543
                ],
                "loc": {
                  "start": {
                    "line": 99,
                    "column": 2
                  },
                  "end": {
                    "line": 99,
                    "column": 12
                  }
                }
              }
            ],
            "range": [
              2448,
              3544
            ],
            "loc": {
              "start": {
                "line": 65,
                "column": 26
              },
              "end": {
                "line": 99,
                "column": 13
              }
            }
          },
          "range": [
            2426,
            3545
          ],
          "loc": {
            "start": {
              "line": 65,
              "column": 4
            },
            "end": {
              "line": 99,
              "column": 14
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        2422,
        3546
      ],
      "loc": {
        "start": {
          "line": 65,
          "column": 0
        },
        "end": {
          "line": 99,
          "column": 15
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            2330,
            2421
          ],
          "loc": {
            "start": {
              "line": 60,
              "column": 0
            },
            "end": {
              "line": 64,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Line",
          "value": "# sourceMappingURL=takeLast.js.map",
          "range": [
            3547,
            3583
          ],
          "loc": {
            "start": {
              "line": 100,
              "column": 0
            },
            "end": {
              "line": 100,
              "column": 36
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    3546
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 99,
      "column": 15
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": "*\n * Emits only the last `count` values emitted by the source Observable.\n *\n * <span class=\"informal\">Remembers the latest `count` values, then emits those\n * only when the source completes.</span>\n *\n * <img src=\"./img/takeLast.png\" width=\"100%\">\n *\n * `takeLast` returns an Observable that emits at most the last `count` values\n * emitted by the source Observable. If the source emits fewer than `count`\n * values then all of its values are emitted. This operator must wait until the\n * `complete` notification emission from the source in order to emit the `next`\n * values on the output Observable, because otherwise it is impossible to know\n * whether or not more values will be emitted on the source. For this reason,\n * all values are emitted synchronously, followed by the complete notification.\n *\n * @example <caption>Take the last 3 values of an Observable with many values</caption>\n * var many = Rx.Observable.range(1, 100);\n * var lastThree = many.takeLast(3);\n * lastThree.subscribe(x => console.log(x));\n *\n * @see {@link take}\n * @see {@link takeUntil}\n * @see {@link takeWhile}\n * @see {@link skip}\n *\n * @throws {ArgumentOutOfRangeError} When using `takeLast(i)`, it delivers an\n * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0`.\n *\n * @param {number} count The maximum number of values to emit from the end of\n * the sequence of values emitted by the source Observable.\n * @return {Observable<T>} An Observable that emits at most the last count\n * values emitted by the source Observable.\n * @method takeLast\n * @owner Observable\n ",
      "range": [
        184,
        1762
      ],
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 39,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
      "range": [
        2330,
        2421
      ],
      "loc": {
        "start": {
          "line": 60,
          "column": 0
        },
        "end": {
          "line": 64,
          "column": 3
        }
      }
    },
    {
      "type": "Line",
      "value": "# sourceMappingURL=takeLast.js.map",
      "range": [
        3547,
        3583
      ],
      "loc": {
        "start": {
          "line": 100,
          "column": 0
        },
        "end": {
          "line": 100,
          "column": 36
        }
      }
    }
  ]
}