{
  "type": "Program",
  "body": [
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "Observable",
            "range": [
              9,
              19
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 19
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "Observable",
            "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": "../Observable",
        "raw": "'../Observable'",
        "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": "tryCatch",
            "range": [
              53,
              61
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 17
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "tryCatch",
            "range": [
              53,
              61
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 17
              }
            }
          },
          "range": [
            53,
            61
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 9
            },
            "end": {
              "line": 2,
              "column": 17
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../util/tryCatch",
        "raw": "'../util/tryCatch'",
        "range": [
          69,
          87
        ],
        "loc": {
          "start": {
            "line": 2,
            "column": 25
          },
          "end": {
            "line": 2,
            "column": 43
          }
        }
      },
      "range": [
        44,
        88
      ],
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 44
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "errorObject",
            "range": [
              98,
              109
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 20
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "errorObject",
            "range": [
              98,
              109
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 20
              }
            }
          },
          "range": [
            98,
            109
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 9
            },
            "end": {
              "line": 3,
              "column": 20
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../util/errorObject",
        "raw": "'../util/errorObject'",
        "range": [
          117,
          138
        ],
        "loc": {
          "start": {
            "line": 3,
            "column": 28
          },
          "end": {
            "line": 3,
            "column": 49
          }
        }
      },
      "range": [
        89,
        139
      ],
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 50
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "AsyncSubject",
            "range": [
              149,
              161
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 21
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "AsyncSubject",
            "range": [
              149,
              161
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 21
              }
            }
          },
          "range": [
            149,
            161
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 9
            },
            "end": {
              "line": 4,
              "column": 21
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../AsyncSubject",
        "raw": "'../AsyncSubject'",
        "range": [
          169,
          186
        ],
        "loc": {
          "start": {
            "line": 4,
            "column": 29
          },
          "end": {
            "line": 4,
            "column": 46
          }
        }
      },
      "range": [
        140,
        187
      ],
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 47
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n ",
          "range": [
            188,
            282
          ],
          "loc": {
            "start": {
              "line": 5,
              "column": 0
            },
            "end": {
              "line": 9,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "VariableDeclaration",
        "declarations": [
          {
            "type": "VariableDeclarator",
            "id": {
              "type": "Identifier",
              "name": "BoundCallbackObservable",
              "range": [
                294,
                317
              ],
              "loc": {
                "start": {
                  "line": 10,
                  "column": 11
                },
                "end": {
                  "line": 10,
                  "column": 34
                }
              }
            },
            "init": {
              "type": "CallExpression",
              "callee": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "_super",
                    "range": [
                      331,
                      337
                    ],
                    "loc": {
                      "start": {
                        "line": 10,
                        "column": 48
                      },
                      "end": {
                        "line": 10,
                        "column": 54
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "Identifier",
                          "name": "__extends",
                          "range": [
                            345,
                            354
                          ],
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 4
                            },
                            "end": {
                              "line": 11,
                              "column": 13
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "name": "BoundCallbackObservable",
                            "range": [
                              355,
                              378
                            ],
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 14
                              },
                              "end": {
                                "line": 11,
                                "column": 37
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "_super",
                            "range": [
                              380,
                              386
                            ],
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 39
                              },
                              "end": {
                                "line": 11,
                                "column": 45
                              }
                            }
                          }
                        ],
                        "range": [
                          345,
                          387
                        ],
                        "loc": {
                          "start": {
                            "line": 11,
                            "column": 4
                          },
                          "end": {
                            "line": 11,
                            "column": 46
                          }
                        }
                      },
                      "range": [
                        345,
                        388
                      ],
                      "loc": {
                        "start": {
                          "line": 11,
                          "column": 4
                        },
                        "end": {
                          "line": 11,
                          "column": 47
                        }
                      }
                    },
                    {
                      "type": "FunctionDeclaration",
                      "id": {
                        "type": "Identifier",
                        "name": "BoundCallbackObservable",
                        "range": [
                          402,
                          425
                        ],
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 13
                          },
                          "end": {
                            "line": 12,
                            "column": 36
                          }
                        }
                      },
                      "params": [
                        {
                          "type": "Identifier",
                          "name": "callbackFunc",
                          "range": [
                            426,
                            438
                          ],
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 37
                            },
                            "end": {
                              "line": 12,
                              "column": 49
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "selector",
                          "range": [
                            440,
                            448
                          ],
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 51
                            },
                            "end": {
                              "line": 12,
                              "column": 59
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "args",
                          "range": [
                            450,
                            454
                          ],
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 61
                            },
                            "end": {
                              "line": 12,
                              "column": 65
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "scheduler",
                          "range": [
                            456,
                            465
                          ],
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 67
                            },
                            "end": {
                              "line": 12,
                              "column": 76
                            }
                          }
                        }
                      ],
                      "body": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "_super",
                                  "range": [
                                    477,
                                    483
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 13,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 13,
                                      "column": 14
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "call",
                                  "range": [
                                    484,
                                    488
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 13,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 13,
                                      "column": 19
                                    }
                                  }
                                },
                                "range": [
                                  477,
                                  488
                                ],
                                "loc": {
                                  "start": {
                                    "line": 13,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 13,
                                    "column": 19
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "ThisExpression",
                                  "range": [
                                    489,
                                    493
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 13,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 13,
                                      "column": 24
                                    }
                                  }
                                }
                              ],
                              "range": [
                                477,
                                494
                              ],
                              "loc": {
                                "start": {
                                  "line": 13,
                                  "column": 8
                                },
                                "end": {
                                  "line": 13,
                                  "column": 25
                                }
                              }
                            },
                            "range": [
                              477,
                              495
                            ],
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 8
                              },
                              "end": {
                                "line": 13,
                                "column": 26
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    504,
                                    508
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 14,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 14,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "callbackFunc",
                                  "range": [
                                    509,
                                    521
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 14,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 14,
                                      "column": 25
                                    }
                                  }
                                },
                                "range": [
                                  504,
                                  521
                                ],
                                "loc": {
                                  "start": {
                                    "line": 14,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 14,
                                    "column": 25
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "callbackFunc",
                                "range": [
                                  524,
                                  536
                                ],
                                "loc": {
                                  "start": {
                                    "line": 14,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 14,
                                    "column": 40
                                  }
                                }
                              },
                              "range": [
                                504,
                                536
                              ],
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 8
                                },
                                "end": {
                                  "line": 14,
                                  "column": 40
                                }
                              }
                            },
                            "range": [
                              504,
                              537
                            ],
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 8
                              },
                              "end": {
                                "line": 14,
                                "column": 41
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    546,
                                    550
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 15,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 15,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "selector",
                                  "range": [
                                    551,
                                    559
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 15,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 15,
                                      "column": 21
                                    }
                                  }
                                },
                                "range": [
                                  546,
                                  559
                                ],
                                "loc": {
                                  "start": {
                                    "line": 15,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 15,
                                    "column": 21
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "selector",
                                "range": [
                                  562,
                                  570
                                ],
                                "loc": {
                                  "start": {
                                    "line": 15,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 15,
                                    "column": 32
                                  }
                                }
                              },
                              "range": [
                                546,
                                570
                              ],
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 8
                                },
                                "end": {
                                  "line": 15,
                                  "column": 32
                                }
                              }
                            },
                            "range": [
                              546,
                              571
                            ],
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 8
                              },
                              "end": {
                                "line": 15,
                                "column": 33
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    580,
                                    584
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 16,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 16,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "args",
                                  "range": [
                                    585,
                                    589
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 16,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 16,
                                      "column": 17
                                    }
                                  }
                                },
                                "range": [
                                  580,
                                  589
                                ],
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 17
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "args",
                                "range": [
                                  592,
                                  596
                                ],
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 24
                                  }
                                }
                              },
                              "range": [
                                580,
                                596
                              ],
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 8
                                },
                                "end": {
                                  "line": 16,
                                  "column": 24
                                }
                              }
                            },
                            "range": [
                              580,
                              597
                            ],
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 8
                              },
                              "end": {
                                "line": 16,
                                "column": 25
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    606,
                                    610
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 17,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 17,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "scheduler",
                                  "range": [
                                    611,
                                    620
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 17,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 17,
                                      "column": 22
                                    }
                                  }
                                },
                                "range": [
                                  606,
                                  620
                                ],
                                "loc": {
                                  "start": {
                                    "line": 17,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 17,
                                    "column": 22
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "scheduler",
                                "range": [
                                  623,
                                  632
                                ],
                                "loc": {
                                  "start": {
                                    "line": 17,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 17,
                                    "column": 34
                                  }
                                }
                              },
                              "range": [
                                606,
                                632
                              ],
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 8
                                },
                                "end": {
                                  "line": 17,
                                  "column": 34
                                }
                              }
                            },
                            "range": [
                              606,
                              633
                            ],
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 8
                              },
                              "end": {
                                "line": 17,
                                "column": 35
                              }
                            }
                          }
                        ],
                        "range": [
                          467,
                          639
                        ],
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 78
                          },
                          "end": {
                            "line": 18,
                            "column": 5
                          }
                        }
                      },
                      "generator": false,
                      "expression": false,
                      "range": [
                        393,
                        639
                      ],
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 4
                        },
                        "end": {
                          "line": 18,
                          "column": 5
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "Block",
                          "value": " tslint:enable:max-line-length ",
                          "range": [
                            644,
                            679
                          ],
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 4
                            },
                            "end": {
                              "line": 19,
                              "column": 39
                            }
                          }
                        },
                        {
                          "type": "Block",
                          "value": "*\n     * Converts a callback API to a function that returns an Observable.\n     *\n     * <span class=\"informal\">Give it a function `f` of type `f(x, callback)` and\n     * it will return a function `g` that when called as `g(x)` will output an\n     * Observable.</span>\n     *\n     * `bindCallback` is not an operator because its input and output are not\n     * Observables. The input is a function `func` with some parameters, but the\n     * last parameter must be a callback function that `func` calls when it is\n     * done. The output of `bindCallback` is a function that takes the same\n     * parameters as `func`, except the last one (the callback). When the output\n     * function is called with arguments, it will return an Observable where the\n     * results will be delivered to.\n     *\n     * @example <caption>Convert jQuery's getJSON to an Observable API</caption>\n     * // Suppose we have jQuery.getJSON('/my/url', callback)\n     * var getJSONAsObservable = Rx.Observable.bindCallback(jQuery.getJSON);\n     * var result = getJSONAsObservable('/my/url');\n     * result.subscribe(x => console.log(x), e => console.error(e));\n     *\n     * @see {@link bindNodeCallback}\n     * @see {@link from}\n     * @see {@link fromPromise}\n     *\n     * @param {function} func Function with a callback as the last parameter.\n     * @param {function} [selector] A function which takes the arguments from the\n     * callback and maps those a value to emit on the output Observable.\n     * @param {Scheduler} [scheduler] The scheduler on which to schedule the\n     * callbacks.\n     * @return {function(...params: *): Observable} A function which returns the\n     * Observable that delivers the same values the callback would deliver.\n     * @static true\n     * @name bindCallback\n     * @owner Observable\n     ",
                          "range": [
                            684,
                            2494
                          ],
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 4
                            },
                            "end": {
                              "line": 55,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "BoundCallbackObservable",
                            "range": [
                              2499,
                              2522
                            ],
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 4
                              },
                              "end": {
                                "line": 56,
                                "column": 27
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "create",
                            "range": [
                              2523,
                              2529
                            ],
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 28
                              },
                              "end": {
                                "line": 56,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            2499,
                            2529
                          ],
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 4
                            },
                            "end": {
                              "line": 56,
                              "column": 34
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "func",
                              "range": [
                                2542,
                                2546
                              ],
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 47
                                },
                                "end": {
                                  "line": 56,
                                  "column": 51
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "name": "selector",
                              "range": [
                                2548,
                                2556
                              ],
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 53
                                },
                                "end": {
                                  "line": 56,
                                  "column": 61
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "name": "scheduler",
                              "range": [
                                2558,
                                2567
                              ],
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 63
                                },
                                "end": {
                                  "line": 56,
                                  "column": 72
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "BinaryExpression",
                                  "operator": "===",
                                  "left": {
                                    "type": "Identifier",
                                    "name": "selector",
                                    "range": [
                                      2583,
                                      2591
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 57,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 57,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "UnaryExpression",
                                    "operator": "void",
                                    "argument": {
                                      "type": "Literal",
                                      "value": 0,
                                      "raw": "0",
                                      "range": [
                                        2601,
                                        2602
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 57,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 57,
                                          "column": 31
                                        }
                                      }
                                    },
                                    "prefix": true,
                                    "range": [
                                      2596,
                                      2602
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 57,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 57,
                                        "column": 31
                                      }
                                    }
                                  },
                                  "range": [
                                    2583,
                                    2602
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 57,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 57,
                                      "column": 31
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "operator": "=",
                                        "left": {
                                          "type": "Identifier",
                                          "name": "selector",
                                          "range": [
                                            2606,
                                            2614
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 57,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 57,
                                              "column": 43
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "Identifier",
                                          "name": "undefined",
                                          "range": [
                                            2617,
                                            2626
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 57,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 57,
                                              "column": 55
                                            }
                                          }
                                        },
                                        "range": [
                                          2606,
                                          2626
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 57,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 57,
                                            "column": 55
                                          }
                                        }
                                      },
                                      "range": [
                                        2606,
                                        2627
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 57,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 57,
                                          "column": 56
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    2604,
                                    2629
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 57,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 57,
                                      "column": 58
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  2579,
                                  2629
                                ],
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 58
                                  }
                                }
                              },
                              {
                                "type": "ReturnStatement",
                                "argument": {
                                  "type": "FunctionExpression",
                                  "id": null,
                                  "params": [],
                                  "body": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "VariableDeclaration",
                                        "declarations": [
                                          {
                                            "type": "VariableDeclarator",
                                            "id": {
                                              "type": "Identifier",
                                              "name": "args",
                                              "range": [
                                                2675,
                                                2679
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 59,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 59,
                                                  "column": 20
                                                }
                                              }
                                            },
                                            "init": {
                                              "type": "ArrayExpression",
                                              "elements": [],
                                              "range": [
                                                2682,
                                                2684
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 59,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 59,
                                                  "column": 25
                                                }
                                              }
                                            },
                                            "range": [
                                              2675,
                                              2684
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 59,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 59,
                                                "column": 25
                                              }
                                            }
                                          }
                                        ],
                                        "kind": "var",
                                        "range": [
                                          2671,
                                          2685
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 59,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 59,
                                            "column": 26
                                          }
                                        }
                                      },
                                      {
                                        "type": "ForStatement",
                                        "init": {
                                          "type": "VariableDeclaration",
                                          "declarations": [
                                            {
                                              "type": "VariableDeclarator",
                                              "id": {
                                                "type": "Identifier",
                                                "name": "_i",
                                                "range": [
                                                  2707,
                                                  2709
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 60,
                                                    "column": 21
                                                  },
                                                  "end": {
                                                    "line": 60,
                                                    "column": 23
                                                  }
                                                }
                                              },
                                              "init": {
                                                "type": "Literal",
                                                "value": 0,
                                                "raw": "0",
                                                "range": [
                                                  2712,
                                                  2713
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 60,
                                                    "column": 26
                                                  },
                                                  "end": {
                                                    "line": 60,
                                                    "column": 27
                                                  }
                                                }
                                              },
                                              "range": [
                                                2707,
                                                2713
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 60,
                                                  "column": 21
                                                },
                                                "end": {
                                                  "line": 60,
                                                  "column": 27
                                                }
                                              }
                                            }
                                          ],
                                          "kind": "var",
                                          "range": [
                                            2703,
                                            2713
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 60,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 60,
                                              "column": 27
                                            }
                                          }
                                        },
                                        "test": {
                                          "type": "BinaryExpression",
                                          "operator": "<",
                                          "left": {
                                            "type": "Identifier",
                                            "name": "_i",
                                            "range": [
                                              2715,
                                              2717
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 60,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 60,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "right": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "arguments",
                                              "range": [
                                                2720,
                                                2729
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 60,
                                                  "column": 34
                                                },
                                                "end": {
                                                  "line": 60,
                                                  "column": 43
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "length",
                                              "range": [
                                                2730,
                                                2736
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 60,
                                                  "column": 44
                                                },
                                                "end": {
                                                  "line": 60,
                                                  "column": 50
                                                }
                                              }
                                            },
                                            "range": [
                                              2720,
                                              2736
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 60,
                                                "column": 34
                                              },
                                              "end": {
                                                "line": 60,
                                                "column": 50
                                              }
                                            }
                                          },
                                          "range": [
                                            2715,
                                            2736
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 60,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 60,
                                              "column": 50
                                            }
                                          }
                                        },
                                        "update": {
                                          "type": "UpdateExpression",
                                          "operator": "++",
                                          "argument": {
                                            "type": "Identifier",
                                            "name": "_i",
                                            "range": [
                                              2738,
                                              2740
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 60,
                                                "column": 52
                                              },
                                              "end": {
                                                "line": 60,
                                                "column": 54
                                              }
                                            }
                                          },
                                          "prefix": false,
                                          "range": [
                                            2738,
                                            2742
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 60,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 60,
                                              "column": 56
                                            }
                                          }
                                        },
                                        "body": {
                                          "type": "BlockStatement",
                                          "body": [
                                            {
                                              "type": "ExpressionStatement",
                                              "expression": {
                                                "type": "AssignmentExpression",
                                                "operator": "=",
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "computed": true,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "args",
                                                    "range": [
                                                      2762,
                                                      2766
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 61,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 61,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "BinaryExpression",
                                                    "operator": "-",
                                                    "left": {
                                                      "type": "Identifier",
                                                      "name": "_i",
                                                      "range": [
                                                        2767,
                                                        2769
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 61,
                                                          "column": 21
                                                        },
                                                        "end": {
                                                          "line": 61,
                                                          "column": 23
                                                        }
                                                      }
                                                    },
                                                    "right": {
                                                      "type": "Literal",
                                                      "value": 0,
                                                      "raw": "0",
                                                      "range": [
                                                        2772,
                                                        2773
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 61,
                                                          "column": 26
                                                        },
                                                        "end": {
                                                          "line": 61,
                                                          "column": 27
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      2767,
                                                      2773
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 61,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 61,
                                                        "column": 27
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    2762,
                                                    2774
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 61,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 61,
                                                      "column": 28
                                                    }
                                                  }
                                                },
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "computed": true,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "arguments",
                                                    "range": [
                                                      2777,
                                                      2786
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 61,
                                                        "column": 31
                                                      },
                                                      "end": {
                                                        "line": 61,
                                                        "column": 40
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "_i",
                                                    "range": [
                                                      2787,
                                                      2789
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 61,
                                                        "column": 41
                                                      },
                                                      "end": {
                                                        "line": 61,
                                                        "column": 43
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    2777,
                                                    2790
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 61,
                                                      "column": 31
                                                    },
                                                    "end": {
                                                      "line": 61,
                                                      "column": 44
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  2762,
                                                  2790
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 61,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 61,
                                                    "column": 44
                                                  }
                                                }
                                              },
                                              "range": [
                                                2762,
                                                2791
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 61,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 61,
                                                  "column": 45
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            2744,
                                            2805
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 60,
                                              "column": 58
                                            },
                                            "end": {
                                              "line": 62,
                                              "column": 13
                                            }
                                          }
                                        },
                                        "range": [
                                          2698,
                                          2805
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 60,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 62,
                                            "column": 13
                                          }
                                        }
                                      },
                                      {
                                        "type": "ReturnStatement",
                                        "argument": {
                                          "type": "NewExpression",
                                          "callee": {
                                            "type": "Identifier",
                                            "name": "BoundCallbackObservable",
                                            "range": [
                                              2829,
                                              2852
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 46
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "name": "func",
                                              "range": [
                                                2853,
                                                2857
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 63,
                                                  "column": 47
                                                },
                                                "end": {
                                                  "line": 63,
                                                  "column": 51
                                                }
                                              }
                                            },
                                            {
                                              "type": "Identifier",
                                              "name": "selector",
                                              "range": [
                                                2859,
                                                2867
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 63,
                                                  "column": 53
                                                },
                                                "end": {
                                                  "line": 63,
                                                  "column": 61
                                                }
                                              }
                                            },
                                            {
                                              "type": "Identifier",
                                              "name": "args",
                                              "range": [
                                                2869,
                                                2873
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 63,
                                                  "column": 63
                                                },
                                                "end": {
                                                  "line": 63,
                                                  "column": 67
                                                }
                                              }
                                            },
                                            {
                                              "type": "Identifier",
                                              "name": "scheduler",
                                              "range": [
                                                2875,
                                                2884
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 63,
                                                  "column": 69
                                                },
                                                "end": {
                                                  "line": 63,
                                                  "column": 78
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            2825,
                                            2885
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 63,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 63,
                                              "column": 79
                                            }
                                          }
                                        },
                                        "range": [
                                          2818,
                                          2886
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 63,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 63,
                                            "column": 80
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      2657,
                                      2896
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 58,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 64,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "generator": false,
                                  "expression": false,
                                  "range": [
                                    2645,
                                    2896
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 58,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 64,
                                      "column": 9
                                    }
                                  }
                                },
                                "range": [
                                  2638,
                                  2897
                                ],
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 64,
                                    "column": 10
                                  }
                                }
                              }
                            ],
                            "range": [
                              2569,
                              2903
                            ],
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 74
                              },
                              "end": {
                                "line": 65,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            2532,
                            2903
                          ],
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 37
                            },
                            "end": {
                              "line": 65,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          2499,
                          2903
                        ],
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 4
                          },
                          "end": {
                            "line": 65,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2499,
                        2904
                      ],
                      "loc": {
                        "start": {
                          "line": 56,
                          "column": 4
                        },
                        "end": {
                          "line": 65,
                          "column": 6
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": " tslint:enable:max-line-length ",
                          "range": [
                            644,
                            679
                          ],
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 4
                            },
                            "end": {
                              "line": 19,
                              "column": 39
                            }
                          }
                        },
                        {
                          "type": "Block",
                          "value": "*\n     * Converts a callback API to a function that returns an Observable.\n     *\n     * <span class=\"informal\">Give it a function `f` of type `f(x, callback)` and\n     * it will return a function `g` that when called as `g(x)` will output an\n     * Observable.</span>\n     *\n     * `bindCallback` is not an operator because its input and output are not\n     * Observables. The input is a function `func` with some parameters, but the\n     * last parameter must be a callback function that `func` calls when it is\n     * done. The output of `bindCallback` is a function that takes the same\n     * parameters as `func`, except the last one (the callback). When the output\n     * function is called with arguments, it will return an Observable where the\n     * results will be delivered to.\n     *\n     * @example <caption>Convert jQuery's getJSON to an Observable API</caption>\n     * // Suppose we have jQuery.getJSON('/my/url', callback)\n     * var getJSONAsObservable = Rx.Observable.bindCallback(jQuery.getJSON);\n     * var result = getJSONAsObservable('/my/url');\n     * result.subscribe(x => console.log(x), e => console.error(e));\n     *\n     * @see {@link bindNodeCallback}\n     * @see {@link from}\n     * @see {@link fromPromise}\n     *\n     * @param {function} func Function with a callback as the last parameter.\n     * @param {function} [selector] A function which takes the arguments from the\n     * callback and maps those a value to emit on the output Observable.\n     * @param {Scheduler} [scheduler] The scheduler on which to schedule the\n     * callbacks.\n     * @return {function(...params: *): Observable} A function which returns the\n     * Observable that delivers the same values the callback would deliver.\n     * @static true\n     * @name bindCallback\n     * @owner Observable\n     ",
                          "range": [
                            684,
                            2494
                          ],
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 4
                            },
                            "end": {
                              "line": 55,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "BoundCallbackObservable",
                              "range": [
                                2909,
                                2932
                              ],
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 4
                                },
                                "end": {
                                  "line": 66,
                                  "column": 27
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                2933,
                                2942
                              ],
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 28
                                },
                                "end": {
                                  "line": 66,
                                  "column": 37
                                }
                              }
                            },
                            "range": [
                              2909,
                              2942
                            ],
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 4
                              },
                              "end": {
                                "line": 66,
                                "column": 37
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_subscribe",
                            "range": [
                              2943,
                              2953
                            ],
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 38
                              },
                              "end": {
                                "line": 66,
                                "column": 48
                              }
                            }
                          },
                          "range": [
                            2909,
                            2953
                          ],
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 4
                            },
                            "end": {
                              "line": 66,
                              "column": 48
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "subscriber",
                              "range": [
                                2966,
                                2976
                              ],
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 61
                                },
                                "end": {
                                  "line": 66,
                                  "column": 71
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "callbackFunc",
                                      "range": [
                                        2992,
                                        3004
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          3007,
                                          3011
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 31
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "callbackFunc",
                                        "range": [
                                          3012,
                                          3024
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 44
                                          }
                                        }
                                      },
                                      "range": [
                                        3007,
                                        3024
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 44
                                        }
                                      }
                                    },
                                    "range": [
                                      2992,
                                      3024
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 67,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 67,
                                        "column": 44
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  2988,
                                  3025
                                ],
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 45
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "args",
                                      "range": [
                                        3038,
                                        3042
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 68,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 68,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          3045,
                                          3049
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 68,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 68,
                                            "column": 23
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "args",
                                        "range": [
                                          3050,
                                          3054
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 68,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 68,
                                            "column": 28
                                          }
                                        }
                                      },
                                      "range": [
                                        3045,
                                        3054
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 68,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 68,
                                          "column": 28
                                        }
                                      }
                                    },
                                    "range": [
                                      3038,
                                      3054
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 68,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 68,
                                        "column": 28
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  3034,
                                  3055
                                ],
                                "loc": {
                                  "start": {
                                    "line": 68,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 68,
                                    "column": 29
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "scheduler",
                                      "range": [
                                        3068,
                                        3077
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 69,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 69,
                                          "column": 21
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          3080,
                                          3084
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 69,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 69,
                                            "column": 28
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "scheduler",
                                        "range": [
                                          3085,
                                          3094
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 69,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 69,
                                            "column": 38
                                          }
                                        }
                                      },
                                      "range": [
                                        3080,
                                        3094
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 69,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 69,
                                          "column": 38
                                        }
                                      }
                                    },
                                    "range": [
                                      3068,
                                      3094
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 69,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 69,
                                        "column": 38
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  3064,
                                  3095
                                ],
                                "loc": {
                                  "start": {
                                    "line": 69,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 39
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "subject",
                                      "range": [
                                        3108,
                                        3115
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 70,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 70,
                                          "column": 19
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          3118,
                                          3122
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 70,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 70,
                                            "column": 26
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "subject",
                                        "range": [
                                          3123,
                                          3130
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 70,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 70,
                                            "column": 34
                                          }
                                        }
                                      },
                                      "range": [
                                        3118,
                                        3130
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 70,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 70,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "range": [
                                      3108,
                                      3130
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 70,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 70,
                                        "column": 34
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  3104,
                                  3131
                                ],
                                "loc": {
                                  "start": {
                                    "line": 70,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 70,
                                    "column": 35
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "UnaryExpression",
                                  "operator": "!",
                                  "argument": {
                                    "type": "Identifier",
                                    "name": "scheduler",
                                    "range": [
                                      3145,
                                      3154
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "prefix": true,
                                  "range": [
                                    3144,
                                    3154
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 71,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 71,
                                      "column": 22
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "IfStatement",
                                      "test": {
                                        "type": "UnaryExpression",
                                        "operator": "!",
                                        "argument": {
                                          "type": "Identifier",
                                          "name": "subject",
                                          "range": [
                                            3175,
                                            3182
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 72,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 72,
                                              "column": 24
                                            }
                                          }
                                        },
                                        "prefix": true,
                                        "range": [
                                          3174,
                                          3182
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 72,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 72,
                                            "column": 24
                                          }
                                        }
                                      },
                                      "consequent": {
                                        "type": "BlockStatement",
                                        "body": [
                                          {
                                            "type": "ExpressionStatement",
                                            "expression": {
                                              "type": "AssignmentExpression",
                                              "operator": "=",
                                              "left": {
                                                "type": "Identifier",
                                                "name": "subject",
                                                "range": [
                                                  3202,
                                                  3209
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 73,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 73,
                                                    "column": 23
                                                  }
                                                }
                                              },
                                              "right": {
                                                "type": "AssignmentExpression",
                                                "operator": "=",
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "range": [
                                                      3212,
                                                      3216
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 73,
                                                        "column": 26
                                                      },
                                                      "end": {
                                                        "line": 73,
                                                        "column": 30
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "subject",
                                                    "range": [
                                                      3217,
                                                      3224
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 73,
                                                        "column": 31
                                                      },
                                                      "end": {
                                                        "line": 73,
                                                        "column": 38
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    3212,
                                                    3224
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 73,
                                                      "column": 26
                                                    },
                                                    "end": {
                                                      "line": 73,
                                                      "column": 38
                                                    }
                                                  }
                                                },
                                                "right": {
                                                  "type": "NewExpression",
                                                  "callee": {
                                                    "type": "Identifier",
                                                    "name": "AsyncSubject",
                                                    "range": [
                                                      3231,
                                                      3243
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 73,
                                                        "column": 45
                                                      },
                                                      "end": {
                                                        "line": 73,
                                                        "column": 57
                                                      }
                                                    }
                                                  },
                                                  "arguments": [],
                                                  "range": [
                                                    3227,
                                                    3245
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 73,
                                                      "column": 41
                                                    },
                                                    "end": {
                                                      "line": 73,
                                                      "column": 59
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  3212,
                                                  3245
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 73,
                                                    "column": 26
                                                  },
                                                  "end": {
                                                    "line": 73,
                                                    "column": 59
                                                  }
                                                }
                                              },
                                              "range": [
                                                3202,
                                                3245
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 73,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 73,
                                                  "column": 59
                                                }
                                              }
                                            },
                                            "range": [
                                              3202,
                                              3246
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 73,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 73,
                                                "column": 60
                                              }
                                            }
                                          },
                                          {
                                            "type": "VariableDeclaration",
                                            "declarations": [
                                              {
                                                "type": "VariableDeclarator",
                                                "id": {
                                                  "type": "Identifier",
                                                  "name": "handler",
                                                  "range": [
                                                    3267,
                                                    3274
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 74,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 74,
                                                      "column": 27
                                                    }
                                                  }
                                                },
                                                "init": {
                                                  "type": "FunctionExpression",
                                                  "id": {
                                                    "type": "Identifier",
                                                    "name": "handlerFn",
                                                    "range": [
                                                      3286,
                                                      3295
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 74,
                                                        "column": 39
                                                      },
                                                      "end": {
                                                        "line": 74,
                                                        "column": 48
                                                      }
                                                    }
                                                  },
                                                  "params": [],
                                                  "body": {
                                                    "type": "BlockStatement",
                                                    "body": [
                                                      {
                                                        "type": "VariableDeclaration",
                                                        "declarations": [
                                                          {
                                                            "type": "VariableDeclarator",
                                                            "id": {
                                                              "type": "Identifier",
                                                              "name": "innerArgs",
                                                              "range": [
                                                                3324,
                                                                3333
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 75,
                                                                  "column": 24
                                                                },
                                                                "end": {
                                                                  "line": 75,
                                                                  "column": 33
                                                                }
                                                              }
                                                            },
                                                            "init": {
                                                              "type": "ArrayExpression",
                                                              "elements": [],
                                                              "range": [
                                                                3336,
                                                                3338
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 75,
                                                                  "column": 36
                                                                },
                                                                "end": {
                                                                  "line": 75,
                                                                  "column": 38
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              3324,
                                                              3338
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 75,
                                                                "column": 24
                                                              },
                                                              "end": {
                                                                "line": 75,
                                                                "column": 38
                                                              }
                                                            }
                                                          }
                                                        ],
                                                        "kind": "var",
                                                        "range": [
                                                          3320,
                                                          3339
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 75,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 75,
                                                            "column": 39
                                                          }
                                                        }
                                                      },
                                                      {
                                                        "type": "ForStatement",
                                                        "init": {
                                                          "type": "VariableDeclaration",
                                                          "declarations": [
                                                            {
                                                              "type": "VariableDeclarator",
                                                              "id": {
                                                                "type": "Identifier",
                                                                "name": "_i",
                                                                "range": [
                                                                  3369,
                                                                  3371
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 76,
                                                                    "column": 29
                                                                  },
                                                                  "end": {
                                                                    "line": 76,
                                                                    "column": 31
                                                                  }
                                                                }
                                                              },
                                                              "init": {
                                                                "type": "Literal",
                                                                "value": 0,
                                                                "raw": "0",
                                                                "range": [
                                                                  3374,
                                                                  3375
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 76,
                                                                    "column": 34
                                                                  },
                                                                  "end": {
                                                                    "line": 76,
                                                                    "column": 35
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                3369,
                                                                3375
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 76,
                                                                  "column": 29
                                                                },
                                                                "end": {
                                                                  "line": 76,
                                                                  "column": 35
                                                                }
                                                              }
                                                            }
                                                          ],
                                                          "kind": "var",
                                                          "range": [
                                                            3365,
                                                            3375
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 76,
                                                              "column": 25
                                                            },
                                                            "end": {
                                                              "line": 76,
                                                              "column": 35
                                                            }
                                                          }
                                                        },
                                                        "test": {
                                                          "type": "BinaryExpression",
                                                          "operator": "<",
                                                          "left": {
                                                            "type": "Identifier",
                                                            "name": "_i",
                                                            "range": [
                                                              3377,
                                                              3379
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 76,
                                                                "column": 37
                                                              },
                                                              "end": {
                                                                "line": 76,
                                                                "column": 39
                                                              }
                                                            }
                                                          },
                                                          "right": {
                                                            "type": "MemberExpression",
                                                            "computed": false,
                                                            "object": {
                                                              "type": "Identifier",
                                                              "name": "arguments",
                                                              "range": [
                                                                3382,
                                                                3391
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 76,
                                                                  "column": 42
                                                                },
                                                                "end": {
                                                                  "line": 76,
                                                                  "column": 51
                                                                }
                                                              }
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "name": "length",
                                                              "range": [
                                                                3392,
                                                                3398
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 76,
                                                                  "column": 52
                                                                },
                                                                "end": {
                                                                  "line": 76,
                                                                  "column": 58
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              3382,
                                                              3398
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 76,
                                                                "column": 42
                                                              },
                                                              "end": {
                                                                "line": 76,
                                                                "column": 58
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            3377,
                                                            3398
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 76,
                                                              "column": 37
                                                            },
                                                            "end": {
                                                              "line": 76,
                                                              "column": 58
                                                            }
                                                          }
                                                        },
                                                        "update": {
                                                          "type": "UpdateExpression",
                                                          "operator": "++",
                                                          "argument": {
                                                            "type": "Identifier",
                                                            "name": "_i",
                                                            "range": [
                                                              3400,
                                                              3402
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 76,
                                                                "column": 60
                                                              },
                                                              "end": {
                                                                "line": 76,
                                                                "column": 62
                                                              }
                                                            }
                                                          },
                                                          "prefix": false,
                                                          "range": [
                                                            3400,
                                                            3404
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 76,
                                                              "column": 60
                                                            },
                                                            "end": {
                                                              "line": 76,
                                                              "column": 64
                                                            }
                                                          }
                                                        },
                                                        "body": {
                                                          "type": "BlockStatement",
                                                          "body": [
                                                            {
                                                              "type": "ExpressionStatement",
                                                              "expression": {
                                                                "type": "AssignmentExpression",
                                                                "operator": "=",
                                                                "left": {
                                                                  "type": "MemberExpression",
                                                                  "computed": true,
                                                                  "object": {
                                                                    "type": "Identifier",
                                                                    "name": "innerArgs",
                                                                    "range": [
                                                                      3432,
                                                                      3441
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 77,
                                                                        "column": 24
                                                                      },
                                                                      "end": {
                                                                        "line": 77,
                                                                        "column": 33
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "BinaryExpression",
                                                                    "operator": "-",
                                                                    "left": {
                                                                      "type": "Identifier",
                                                                      "name": "_i",
                                                                      "range": [
                                                                        3442,
                                                                        3444
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 77,
                                                                          "column": 34
                                                                        },
                                                                        "end": {
                                                                          "line": 77,
                                                                          "column": 36
                                                                        }
                                                                      }
                                                                    },
                                                                    "right": {
                                                                      "type": "Literal",
                                                                      "value": 0,
                                                                      "raw": "0",
                                                                      "range": [
                                                                        3447,
                                                                        3448
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 77,
                                                                          "column": 39
                                                                        },
                                                                        "end": {
                                                                          "line": 77,
                                                                          "column": 40
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      3442,
                                                                      3448
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 77,
                                                                        "column": 34
                                                                      },
                                                                      "end": {
                                                                        "line": 77,
                                                                        "column": 40
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    3432,
                                                                    3449
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 77,
                                                                      "column": 24
                                                                    },
                                                                    "end": {
                                                                      "line": 77,
                                                                      "column": 41
                                                                    }
                                                                  }
                                                                },
                                                                "right": {
                                                                  "type": "MemberExpression",
                                                                  "computed": true,
                                                                  "object": {
                                                                    "type": "Identifier",
                                                                    "name": "arguments",
                                                                    "range": [
                                                                      3452,
                                                                      3461
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 77,
                                                                        "column": 44
                                                                      },
                                                                      "end": {
                                                                        "line": 77,
                                                                        "column": 53
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "_i",
                                                                    "range": [
                                                                      3462,
                                                                      3464
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 77,
                                                                        "column": 54
                                                                      },
                                                                      "end": {
                                                                        "line": 77,
                                                                        "column": 56
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    3452,
                                                                    3465
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 77,
                                                                      "column": 44
                                                                    },
                                                                    "end": {
                                                                      "line": 77,
                                                                      "column": 57
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  3432,
                                                                  3465
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 77,
                                                                    "column": 24
                                                                  },
                                                                  "end": {
                                                                    "line": 77,
                                                                    "column": 57
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                3432,
                                                                3466
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 77,
                                                                  "column": 24
                                                                },
                                                                "end": {
                                                                  "line": 77,
                                                                  "column": 58
                                                                }
                                                              }
                                                            }
                                                          ],
                                                          "range": [
                                                            3406,
                                                            3488
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 76,
                                                              "column": 66
                                                            },
                                                            "end": {
                                                              "line": 78,
                                                              "column": 21
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          3360,
                                                          3488
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 76,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 78,
                                                            "column": 21
                                                          }
                                                        }
                                                      },
                                                      {
                                                        "type": "VariableDeclaration",
                                                        "declarations": [
                                                          {
                                                            "type": "VariableDeclarator",
                                                            "id": {
                                                              "type": "Identifier",
                                                              "name": "source",
                                                              "range": [
                                                                3513,
                                                                3519
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 79,
                                                                  "column": 24
                                                                },
                                                                "end": {
                                                                  "line": 79,
                                                                  "column": 30
                                                                }
                                                              }
                                                            },
                                                            "init": {
                                                              "type": "MemberExpression",
                                                              "computed": false,
                                                              "object": {
                                                                "type": "Identifier",
                                                                "name": "handlerFn",
                                                                "range": [
                                                                  3522,
                                                                  3531
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 79,
                                                                    "column": 33
                                                                  },
                                                                  "end": {
                                                                    "line": 79,
                                                                    "column": 42
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "name": "source",
                                                                "range": [
                                                                  3532,
                                                                  3538
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 79,
                                                                    "column": 43
                                                                  },
                                                                  "end": {
                                                                    "line": 79,
                                                                    "column": 49
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                3522,
                                                                3538
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 79,
                                                                  "column": 33
                                                                },
                                                                "end": {
                                                                  "line": 79,
                                                                  "column": 49
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              3513,
                                                              3538
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 79,
                                                                "column": 24
                                                              },
                                                              "end": {
                                                                "line": 79,
                                                                "column": 49
                                                              }
                                                            }
                                                          }
                                                        ],
                                                        "kind": "var",
                                                        "range": [
                                                          3509,
                                                          3539
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 79,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 79,
                                                            "column": 50
                                                          }
                                                        }
                                                      },
                                                      {
                                                        "type": "VariableDeclaration",
                                                        "declarations": [
                                                          {
                                                            "type": "VariableDeclarator",
                                                            "id": {
                                                              "type": "Identifier",
                                                              "name": "selector",
                                                              "range": [
                                                                3564,
                                                                3572
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 80,
                                                                  "column": 24
                                                                },
                                                                "end": {
                                                                  "line": 80,
                                                                  "column": 32
                                                                }
                                                              }
                                                            },
                                                            "init": {
                                                              "type": "MemberExpression",
                                                              "computed": false,
                                                              "object": {
                                                                "type": "Identifier",
                                                                "name": "source",
                                                                "range": [
                                                                  3575,
                                                                  3581
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 80,
                                                                    "column": 35
                                                                  },
                                                                  "end": {
                                                                    "line": 80,
                                                                    "column": 41
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "name": "selector",
                                                                "range": [
                                                                  3582,
                                                                  3590
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 80,
                                                                    "column": 42
                                                                  },
                                                                  "end": {
                                                                    "line": 80,
                                                                    "column": 50
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                3575,
                                                                3590
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 80,
                                                                  "column": 35
                                                                },
                                                                "end": {
                                                                  "line": 80,
                                                                  "column": 50
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              3564,
                                                              3590
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 80,
                                                                "column": 24
                                                              },
                                                              "end": {
                                                                "line": 80,
                                                                "column": 50
                                                              }
                                                            }
                                                          },
                                                          {
                                                            "type": "VariableDeclarator",
                                                            "id": {
                                                              "type": "Identifier",
                                                              "name": "subject",
                                                              "range": [
                                                                3592,
                                                                3599
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 80,
                                                                  "column": 52
                                                                },
                                                                "end": {
                                                                  "line": 80,
                                                                  "column": 59
                                                                }
                                                              }
                                                            },
                                                            "init": {
                                                              "type": "MemberExpression",
                                                              "computed": false,
                                                              "object": {
                                                                "type": "Identifier",
                                                                "name": "source",
                                                                "range": [
                                                                  3602,
                                                                  3608
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 80,
                                                                    "column": 62
                                                                  },
                                                                  "end": {
                                                                    "line": 80,
                                                                    "column": 68
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "name": "subject",
                                                                "range": [
                                                                  3609,
                                                                  3616
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 80,
                                                                    "column": 69
                                                                  },
                                                                  "end": {
                                                                    "line": 80,
                                                                    "column": 76
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                3602,
                                                                3616
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 80,
                                                                  "column": 62
                                                                },
                                                                "end": {
                                                                  "line": 80,
                                                                  "column": 76
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              3592,
                                                              3616
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 80,
                                                                "column": 52
                                                              },
                                                              "end": {
                                                                "line": 80,
                                                                "column": 76
                                                              }
                                                            }
                                                          }
                                                        ],
                                                        "kind": "var",
                                                        "range": [
                                                          3560,
                                                          3617
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 80,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 80,
                                                            "column": 77
                                                          }
                                                        }
                                                      },
                                                      {
                                                        "type": "IfStatement",
                                                        "test": {
                                                          "type": "Identifier",
                                                          "name": "selector",
                                                          "range": [
                                                            3642,
                                                            3650
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 81,
                                                              "column": 24
                                                            },
                                                            "end": {
                                                              "line": 81,
                                                              "column": 32
                                                            }
                                                          }
                                                        },
                                                        "consequent": {
                                                          "type": "BlockStatement",
                                                          "body": [
                                                            {
                                                              "type": "VariableDeclaration",
                                                              "declarations": [
                                                                {
                                                                  "type": "VariableDeclarator",
                                                                  "id": {
                                                                    "type": "Identifier",
                                                                    "name": "result_1",
                                                                    "range": [
                                                                      3682,
                                                                      3690
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 82,
                                                                        "column": 28
                                                                      },
                                                                      "end": {
                                                                        "line": 82,
                                                                        "column": 36
                                                                      }
                                                                    }
                                                                  },
                                                                  "init": {
                                                                    "type": "CallExpression",
                                                                    "callee": {
                                                                      "type": "MemberExpression",
                                                                      "computed": false,
                                                                      "object": {
                                                                        "type": "CallExpression",
                                                                        "callee": {
                                                                          "type": "Identifier",
                                                                          "name": "tryCatch",
                                                                          "range": [
                                                                            3693,
                                                                            3701
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 82,
                                                                              "column": 39
                                                                            },
                                                                            "end": {
                                                                              "line": 82,
                                                                              "column": 47
                                                                            }
                                                                          }
                                                                        },
                                                                        "arguments": [
                                                                          {
                                                                            "type": "Identifier",
                                                                            "name": "selector",
                                                                            "range": [
                                                                              3702,
                                                                              3710
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 82,
                                                                                "column": 48
                                                                              },
                                                                              "end": {
                                                                                "line": 82,
                                                                                "column": 56
                                                                              }
                                                                            }
                                                                          }
                                                                        ],
                                                                        "range": [
                                                                          3693,
                                                                          3711
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 82,
                                                                            "column": 39
                                                                          },
                                                                          "end": {
                                                                            "line": 82,
                                                                            "column": 57
                                                                          }
                                                                        }
                                                                      },
                                                                      "property": {
                                                                        "type": "Identifier",
                                                                        "name": "apply",
                                                                        "range": [
                                                                          3712,
                                                                          3717
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 82,
                                                                            "column": 58
                                                                          },
                                                                          "end": {
                                                                            "line": 82,
                                                                            "column": 63
                                                                          }
                                                                        }
                                                                      },
                                                                      "range": [
                                                                        3693,
                                                                        3717
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 82,
                                                                          "column": 39
                                                                        },
                                                                        "end": {
                                                                          "line": 82,
                                                                          "column": 63
                                                                        }
                                                                      }
                                                                    },
                                                                    "arguments": [
                                                                      {
                                                                        "type": "ThisExpression",
                                                                        "range": [
                                                                          3718,
                                                                          3722
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 82,
                                                                            "column": 64
                                                                          },
                                                                          "end": {
                                                                            "line": 82,
                                                                            "column": 68
                                                                          }
                                                                        }
                                                                      },
                                                                      {
                                                                        "type": "Identifier",
                                                                        "name": "innerArgs",
                                                                        "range": [
                                                                          3724,
                                                                          3733
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 82,
                                                                            "column": 70
                                                                          },
                                                                          "end": {
                                                                            "line": 82,
                                                                            "column": 79
                                                                          }
                                                                        }
                                                                      }
                                                                    ],
                                                                    "range": [
                                                                      3693,
                                                                      3734
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 82,
                                                                        "column": 39
                                                                      },
                                                                      "end": {
                                                                        "line": 82,
                                                                        "column": 80
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    3682,
                                                                    3734
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 82,
                                                                      "column": 28
                                                                    },
                                                                    "end": {
                                                                      "line": 82,
                                                                      "column": 80
                                                                    }
                                                                  }
                                                                }
                                                              ],
                                                              "kind": "var",
                                                              "range": [
                                                                3678,
                                                                3735
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 82,
                                                                  "column": 24
                                                                },
                                                                "end": {
                                                                  "line": 82,
                                                                  "column": 81
                                                                }
                                                              }
                                                            },
                                                            {
                                                              "type": "IfStatement",
                                                              "test": {
                                                                "type": "BinaryExpression",
                                                                "operator": "===",
                                                                "left": {
                                                                  "type": "Identifier",
                                                                  "name": "result_1",
                                                                  "range": [
                                                                    3764,
                                                                    3772
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 83,
                                                                      "column": 28
                                                                    },
                                                                    "end": {
                                                                      "line": 83,
                                                                      "column": 36
                                                                    }
                                                                  }
                                                                },
                                                                "right": {
                                                                  "type": "Identifier",
                                                                  "name": "errorObject",
                                                                  "range": [
                                                                    3777,
                                                                    3788
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 83,
                                                                      "column": 41
                                                                    },
                                                                    "end": {
                                                                      "line": 83,
                                                                      "column": 52
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  3764,
                                                                  3788
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 83,
                                                                    "column": 28
                                                                  },
                                                                  "end": {
                                                                    "line": 83,
                                                                    "column": 52
                                                                  }
                                                                }
                                                              },
                                                              "consequent": {
                                                                "type": "BlockStatement",
                                                                "body": [
                                                                  {
                                                                    "type": "ExpressionStatement",
                                                                    "expression": {
                                                                      "type": "CallExpression",
                                                                      "callee": {
                                                                        "type": "MemberExpression",
                                                                        "computed": false,
                                                                        "object": {
                                                                          "type": "Identifier",
                                                                          "name": "subject",
                                                                          "range": [
                                                                            3820,
                                                                            3827
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 84,
                                                                              "column": 28
                                                                            },
                                                                            "end": {
                                                                              "line": 84,
                                                                              "column": 35
                                                                            }
                                                                          }
                                                                        },
                                                                        "property": {
                                                                          "type": "Identifier",
                                                                          "name": "error",
                                                                          "range": [
                                                                            3828,
                                                                            3833
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 84,
                                                                              "column": 36
                                                                            },
                                                                            "end": {
                                                                              "line": 84,
                                                                              "column": 41
                                                                            }
                                                                          }
                                                                        },
                                                                        "range": [
                                                                          3820,
                                                                          3833
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 84,
                                                                            "column": 28
                                                                          },
                                                                          "end": {
                                                                            "line": 84,
                                                                            "column": 41
                                                                          }
                                                                        }
                                                                      },
                                                                      "arguments": [
                                                                        {
                                                                          "type": "MemberExpression",
                                                                          "computed": false,
                                                                          "object": {
                                                                            "type": "Identifier",
                                                                            "name": "errorObject",
                                                                            "range": [
                                                                              3834,
                                                                              3845
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 84,
                                                                                "column": 42
                                                                              },
                                                                              "end": {
                                                                                "line": 84,
                                                                                "column": 53
                                                                              }
                                                                            }
                                                                          },
                                                                          "property": {
                                                                            "type": "Identifier",
                                                                            "name": "e",
                                                                            "range": [
                                                                              3846,
                                                                              3847
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 84,
                                                                                "column": 54
                                                                              },
                                                                              "end": {
                                                                                "line": 84,
                                                                                "column": 55
                                                                              }
                                                                            }
                                                                          },
                                                                          "range": [
                                                                            3834,
                                                                            3847
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 84,
                                                                              "column": 42
                                                                            },
                                                                            "end": {
                                                                              "line": 84,
                                                                              "column": 55
                                                                            }
                                                                          }
                                                                        }
                                                                      ],
                                                                      "range": [
                                                                        3820,
                                                                        3848
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 84,
                                                                          "column": 28
                                                                        },
                                                                        "end": {
                                                                          "line": 84,
                                                                          "column": 56
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      3820,
                                                                      3849
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 84,
                                                                        "column": 28
                                                                      },
                                                                      "end": {
                                                                        "line": 84,
                                                                        "column": 57
                                                                      }
                                                                    }
                                                                  }
                                                                ],
                                                                "range": [
                                                                  3790,
                                                                  3875
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 83,
                                                                    "column": 54
                                                                  },
                                                                  "end": {
                                                                    "line": 85,
                                                                    "column": 25
                                                                  }
                                                                }
                                                              },
                                                              "alternate": {
                                                                "type": "BlockStatement",
                                                                "body": [
                                                                  {
                                                                    "type": "ExpressionStatement",
                                                                    "expression": {
                                                                      "type": "CallExpression",
                                                                      "callee": {
                                                                        "type": "MemberExpression",
                                                                        "computed": false,
                                                                        "object": {
                                                                          "type": "Identifier",
                                                                          "name": "subject",
                                                                          "range": [
                                                                            3935,
                                                                            3942
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 87,
                                                                              "column": 28
                                                                            },
                                                                            "end": {
                                                                              "line": 87,
                                                                              "column": 35
                                                                            }
                                                                          }
                                                                        },
                                                                        "property": {
                                                                          "type": "Identifier",
                                                                          "name": "next",
                                                                          "range": [
                                                                            3943,
                                                                            3947
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 87,
                                                                              "column": 36
                                                                            },
                                                                            "end": {
                                                                              "line": 87,
                                                                              "column": 40
                                                                            }
                                                                          }
                                                                        },
                                                                        "range": [
                                                                          3935,
                                                                          3947
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 87,
                                                                            "column": 28
                                                                          },
                                                                          "end": {
                                                                            "line": 87,
                                                                            "column": 40
                                                                          }
                                                                        }
                                                                      },
                                                                      "arguments": [
                                                                        {
                                                                          "type": "Identifier",
                                                                          "name": "result_1",
                                                                          "range": [
                                                                            3948,
                                                                            3956
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 87,
                                                                              "column": 41
                                                                            },
                                                                            "end": {
                                                                              "line": 87,
                                                                              "column": 49
                                                                            }
                                                                          }
                                                                        }
                                                                      ],
                                                                      "range": [
                                                                        3935,
                                                                        3957
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 87,
                                                                          "column": 28
                                                                        },
                                                                        "end": {
                                                                          "line": 87,
                                                                          "column": 50
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      3935,
                                                                      3958
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 87,
                                                                        "column": 28
                                                                      },
                                                                      "end": {
                                                                        "line": 87,
                                                                        "column": 51
                                                                      }
                                                                    }
                                                                  },
                                                                  {
                                                                    "type": "ExpressionStatement",
                                                                    "expression": {
                                                                      "type": "CallExpression",
                                                                      "callee": {
                                                                        "type": "MemberExpression",
                                                                        "computed": false,
                                                                        "object": {
                                                                          "type": "Identifier",
                                                                          "name": "subject",
                                                                          "range": [
                                                                            3987,
                                                                            3994
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 88,
                                                                              "column": 28
                                                                            },
                                                                            "end": {
                                                                              "line": 88,
                                                                              "column": 35
                                                                            }
                                                                          }
                                                                        },
                                                                        "property": {
                                                                          "type": "Identifier",
                                                                          "name": "complete",
                                                                          "range": [
                                                                            3995,
                                                                            4003
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 88,
                                                                              "column": 36
                                                                            },
                                                                            "end": {
                                                                              "line": 88,
                                                                              "column": 44
                                                                            }
                                                                          }
                                                                        },
                                                                        "range": [
                                                                          3987,
                                                                          4003
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 88,
                                                                            "column": 28
                                                                          },
                                                                          "end": {
                                                                            "line": 88,
                                                                            "column": 44
                                                                          }
                                                                        }
                                                                      },
                                                                      "arguments": [],
                                                                      "range": [
                                                                        3987,
                                                                        4005
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 88,
                                                                          "column": 28
                                                                        },
                                                                        "end": {
                                                                          "line": 88,
                                                                          "column": 46
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      3987,
                                                                      4006
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 88,
                                                                        "column": 28
                                                                      },
                                                                      "end": {
                                                                        "line": 88,
                                                                        "column": 47
                                                                      }
                                                                    }
                                                                  }
                                                                ],
                                                                "range": [
                                                                  3905,
                                                                  4032
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 86,
                                                                    "column": 29
                                                                  },
                                                                  "end": {
                                                                    "line": 89,
                                                                    "column": 25
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                3760,
                                                                4032
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 83,
                                                                  "column": 24
                                                                },
                                                                "end": {
                                                                  "line": 89,
                                                                  "column": 25
                                                                }
                                                              }
                                                            }
                                                          ],
                                                          "range": [
                                                            3652,
                                                            4054
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 81,
                                                              "column": 34
                                                            },
                                                            "end": {
                                                              "line": 90,
                                                              "column": 21
                                                            }
                                                          }
                                                        },
                                                        "alternate": {
                                                          "type": "BlockStatement",
                                                          "body": [
                                                            {
                                                              "type": "ExpressionStatement",
                                                              "expression": {
                                                                "type": "CallExpression",
                                                                "callee": {
                                                                  "type": "MemberExpression",
                                                                  "computed": false,
                                                                  "object": {
                                                                    "type": "Identifier",
                                                                    "name": "subject",
                                                                    "range": [
                                                                      4106,
                                                                      4113
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 92,
                                                                        "column": 24
                                                                      },
                                                                      "end": {
                                                                        "line": 92,
                                                                        "column": 31
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "next",
                                                                    "range": [
                                                                      4114,
                                                                      4118
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 92,
                                                                        "column": 32
                                                                      },
                                                                      "end": {
                                                                        "line": 92,
                                                                        "column": 36
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    4106,
                                                                    4118
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 92,
                                                                      "column": 24
                                                                    },
                                                                    "end": {
                                                                      "line": 92,
                                                                      "column": 36
                                                                    }
                                                                  }
                                                                },
                                                                "arguments": [
                                                                  {
                                                                    "type": "ConditionalExpression",
                                                                    "test": {
                                                                      "type": "BinaryExpression",
                                                                      "operator": "===",
                                                                      "left": {
                                                                        "type": "MemberExpression",
                                                                        "computed": false,
                                                                        "object": {
                                                                          "type": "Identifier",
                                                                          "name": "innerArgs",
                                                                          "range": [
                                                                            4119,
                                                                            4128
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 92,
                                                                              "column": 37
                                                                            },
                                                                            "end": {
                                                                              "line": 92,
                                                                              "column": 46
                                                                            }
                                                                          }
                                                                        },
                                                                        "property": {
                                                                          "type": "Identifier",
                                                                          "name": "length",
                                                                          "range": [
                                                                            4129,
                                                                            4135
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 92,
                                                                              "column": 47
                                                                            },
                                                                            "end": {
                                                                              "line": 92,
                                                                              "column": 53
                                                                            }
                                                                          }
                                                                        },
                                                                        "range": [
                                                                          4119,
                                                                          4135
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 92,
                                                                            "column": 37
                                                                          },
                                                                          "end": {
                                                                            "line": 92,
                                                                            "column": 53
                                                                          }
                                                                        }
                                                                      },
                                                                      "right": {
                                                                        "type": "Literal",
                                                                        "value": 1,
                                                                        "raw": "1",
                                                                        "range": [
                                                                          4140,
                                                                          4141
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 92,
                                                                            "column": 58
                                                                          },
                                                                          "end": {
                                                                            "line": 92,
                                                                            "column": 59
                                                                          }
                                                                        }
                                                                      },
                                                                      "range": [
                                                                        4119,
                                                                        4141
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 92,
                                                                          "column": 37
                                                                        },
                                                                        "end": {
                                                                          "line": 92,
                                                                          "column": 59
                                                                        }
                                                                      }
                                                                    },
                                                                    "consequent": {
                                                                      "type": "MemberExpression",
                                                                      "computed": true,
                                                                      "object": {
                                                                        "type": "Identifier",
                                                                        "name": "innerArgs",
                                                                        "range": [
                                                                          4144,
                                                                          4153
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 92,
                                                                            "column": 62
                                                                          },
                                                                          "end": {
                                                                            "line": 92,
                                                                            "column": 71
                                                                          }
                                                                        }
                                                                      },
                                                                      "property": {
                                                                        "type": "Literal",
                                                                        "value": 0,
                                                                        "raw": "0",
                                                                        "range": [
                                                                          4154,
                                                                          4155
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 92,
                                                                            "column": 72
                                                                          },
                                                                          "end": {
                                                                            "line": 92,
                                                                            "column": 73
                                                                          }
                                                                        }
                                                                      },
                                                                      "range": [
                                                                        4144,
                                                                        4156
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 92,
                                                                          "column": 62
                                                                        },
                                                                        "end": {
                                                                          "line": 92,
                                                                          "column": 74
                                                                        }
                                                                      }
                                                                    },
                                                                    "alternate": {
                                                                      "type": "Identifier",
                                                                      "name": "innerArgs",
                                                                      "range": [
                                                                        4159,
                                                                        4168
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 92,
                                                                          "column": 77
                                                                        },
                                                                        "end": {
                                                                          "line": 92,
                                                                          "column": 86
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      4119,
                                                                      4168
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 92,
                                                                        "column": 37
                                                                      },
                                                                      "end": {
                                                                        "line": 92,
                                                                        "column": 86
                                                                      }
                                                                    }
                                                                  }
                                                                ],
                                                                "range": [
                                                                  4106,
                                                                  4169
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 92,
                                                                    "column": 24
                                                                  },
                                                                  "end": {
                                                                    "line": 92,
                                                                    "column": 87
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                4106,
                                                                4170
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 92,
                                                                  "column": 24
                                                                },
                                                                "end": {
                                                                  "line": 92,
                                                                  "column": 88
                                                                }
                                                              }
                                                            },
                                                            {
                                                              "type": "ExpressionStatement",
                                                              "expression": {
                                                                "type": "CallExpression",
                                                                "callee": {
                                                                  "type": "MemberExpression",
                                                                  "computed": false,
                                                                  "object": {
                                                                    "type": "Identifier",
                                                                    "name": "subject",
                                                                    "range": [
                                                                      4195,
                                                                      4202
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 93,
                                                                        "column": 24
                                                                      },
                                                                      "end": {
                                                                        "line": 93,
                                                                        "column": 31
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "complete",
                                                                    "range": [
                                                                      4203,
                                                                      4211
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 93,
                                                                        "column": 32
                                                                      },
                                                                      "end": {
                                                                        "line": 93,
                                                                        "column": 40
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    4195,
                                                                    4211
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 93,
                                                                      "column": 24
                                                                    },
                                                                    "end": {
                                                                      "line": 93,
                                                                      "column": 40
                                                                    }
                                                                  }
                                                                },
                                                                "arguments": [],
                                                                "range": [
                                                                  4195,
                                                                  4213
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 93,
                                                                    "column": 24
                                                                  },
                                                                  "end": {
                                                                    "line": 93,
                                                                    "column": 42
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                4195,
                                                                4214
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 93,
                                                                  "column": 24
                                                                },
                                                                "end": {
                                                                  "line": 93,
                                                                  "column": 43
                                                                }
                                                              }
                                                            }
                                                          ],
                                                          "range": [
                                                            4080,
                                                            4236
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 91,
                                                              "column": 25
                                                            },
                                                            "end": {
                                                              "line": 94,
                                                              "column": 21
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          3638,
                                                          4236
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 81,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 94,
                                                            "column": 21
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "range": [
                                                      3298,
                                                      4254
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 74,
                                                        "column": 51
                                                      },
                                                      "end": {
                                                        "line": 95,
                                                        "column": 17
                                                      }
                                                    }
                                                  },
                                                  "generator": false,
                                                  "expression": false,
                                                  "range": [
                                                    3277,
                                                    4254
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 74,
                                                      "column": 30
                                                    },
                                                    "end": {
                                                      "line": 95,
                                                      "column": 17
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  3267,
                                                  4254
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 74,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 95,
                                                    "column": 17
                                                  }
                                                }
                                              }
                                            ],
                                            "kind": "var",
                                            "range": [
                                              3263,
                                              4255
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 74,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 95,
                                                "column": 18
                                              }
                                            },
                                            "trailingComments": [
                                              {
                                                "type": "Line",
                                                "value": " use named function instance to avoid closure.",
                                                "range": [
                                                  4272,
                                                  4320
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 96,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 96,
                                                    "column": 64
                                                  }
                                                }
                                              }
                                            ]
                                          },
                                          {
                                            "type": "ExpressionStatement",
                                            "expression": {
                                              "type": "AssignmentExpression",
                                              "operator": "=",
                                              "left": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "handler",
                                                  "range": [
                                                    4337,
                                                    4344
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 97,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 97,
                                                      "column": 23
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "source",
                                                  "range": [
                                                    4345,
                                                    4351
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 97,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 97,
                                                      "column": 30
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  4337,
                                                  4351
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 97,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 97,
                                                    "column": 30
                                                  }
                                                }
                                              },
                                              "right": {
                                                "type": "ThisExpression",
                                                "range": [
                                                  4354,
                                                  4358
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 97,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 97,
                                                    "column": 37
                                                  }
                                                }
                                              },
                                              "range": [
                                                4337,
                                                4358
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 97,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 97,
                                                  "column": 37
                                                }
                                              }
                                            },
                                            "range": [
                                              4337,
                                              4359
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 97,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 97,
                                                "column": 38
                                              }
                                            },
                                            "leadingComments": [
                                              {
                                                "type": "Line",
                                                "value": " use named function instance to avoid closure.",
                                                "range": [
                                                  4272,
                                                  4320
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 96,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 96,
                                                    "column": 64
                                                  }
                                                }
                                              }
                                            ]
                                          },
                                          {
                                            "type": "VariableDeclaration",
                                            "declarations": [
                                              {
                                                "type": "VariableDeclarator",
                                                "id": {
                                                  "type": "Identifier",
                                                  "name": "result",
                                                  "range": [
                                                    4380,
                                                    4386
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 98,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 98,
                                                      "column": 26
                                                    }
                                                  }
                                                },
                                                "init": {
                                                  "type": "CallExpression",
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "CallExpression",
                                                      "callee": {
                                                        "type": "Identifier",
                                                        "name": "tryCatch",
                                                        "range": [
                                                          4389,
                                                          4397
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 98,
                                                            "column": 29
                                                          },
                                                          "end": {
                                                            "line": 98,
                                                            "column": 37
                                                          }
                                                        }
                                                      },
                                                      "arguments": [
                                                        {
                                                          "type": "Identifier",
                                                          "name": "callbackFunc",
                                                          "range": [
                                                            4398,
                                                            4410
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 98,
                                                              "column": 38
                                                            },
                                                            "end": {
                                                              "line": 98,
                                                              "column": 50
                                                            }
                                                          }
                                                        }
                                                      ],
                                                      "range": [
                                                        4389,
                                                        4411
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 98,
                                                          "column": 29
                                                        },
                                                        "end": {
                                                          "line": 98,
                                                          "column": 51
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "apply",
                                                      "range": [
                                                        4412,
                                                        4417
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 98,
                                                          "column": 52
                                                        },
                                                        "end": {
                                                          "line": 98,
                                                          "column": 57
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      4389,
                                                      4417
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 98,
                                                        "column": 29
                                                      },
                                                      "end": {
                                                        "line": 98,
                                                        "column": 57
                                                      }
                                                    }
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "ThisExpression",
                                                      "range": [
                                                        4418,
                                                        4422
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 98,
                                                          "column": 58
                                                        },
                                                        "end": {
                                                          "line": 98,
                                                          "column": 62
                                                        }
                                                      }
                                                    },
                                                    {
                                                      "type": "CallExpression",
                                                      "callee": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "args",
                                                          "range": [
                                                            4424,
                                                            4428
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 98,
                                                              "column": 64
                                                            },
                                                            "end": {
                                                              "line": 98,
                                                              "column": 68
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "concat",
                                                          "range": [
                                                            4429,
                                                            4435
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 98,
                                                              "column": 69
                                                            },
                                                            "end": {
                                                              "line": 98,
                                                              "column": 75
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          4424,
                                                          4435
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 98,
                                                            "column": 64
                                                          },
                                                          "end": {
                                                            "line": 98,
                                                            "column": 75
                                                          }
                                                        }
                                                      },
                                                      "arguments": [
                                                        {
                                                          "type": "Identifier",
                                                          "name": "handler",
                                                          "range": [
                                                            4436,
                                                            4443
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 98,
                                                              "column": 76
                                                            },
                                                            "end": {
                                                              "line": 98,
                                                              "column": 83
                                                            }
                                                          }
                                                        }
                                                      ],
                                                      "range": [
                                                        4424,
                                                        4444
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 98,
                                                          "column": 64
                                                        },
                                                        "end": {
                                                          "line": 98,
                                                          "column": 84
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "range": [
                                                    4389,
                                                    4445
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 98,
                                                      "column": 29
                                                    },
                                                    "end": {
                                                      "line": 98,
                                                      "column": 85
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  4380,
                                                  4445
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 98,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 98,
                                                    "column": 85
                                                  }
                                                }
                                              }
                                            ],
                                            "kind": "var",
                                            "range": [
                                              4376,
                                              4446
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 98,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 98,
                                                "column": 86
                                              }
                                            }
                                          },
                                          {
                                            "type": "IfStatement",
                                            "test": {
                                              "type": "BinaryExpression",
                                              "operator": "===",
                                              "left": {
                                                "type": "Identifier",
                                                "name": "result",
                                                "range": [
                                                  4467,
                                                  4473
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 99,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 99,
                                                    "column": 26
                                                  }
                                                }
                                              },
                                              "right": {
                                                "type": "Identifier",
                                                "name": "errorObject",
                                                "range": [
                                                  4478,
                                                  4489
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 99,
                                                    "column": 31
                                                  },
                                                  "end": {
                                                    "line": 99,
                                                    "column": 42
                                                  }
                                                }
                                              },
                                              "range": [
                                                4467,
                                                4489
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 99,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 99,
                                                  "column": 42
                                                }
                                              }
                                            },
                                            "consequent": {
                                              "type": "BlockStatement",
                                              "body": [
                                                {
                                                  "type": "ExpressionStatement",
                                                  "expression": {
                                                    "type": "CallExpression",
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "computed": false,
                                                      "object": {
                                                        "type": "Identifier",
                                                        "name": "subject",
                                                        "range": [
                                                          4513,
                                                          4520
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 100,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 100,
                                                            "column": 27
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "error",
                                                        "range": [
                                                          4521,
                                                          4526
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 100,
                                                            "column": 28
                                                          },
                                                          "end": {
                                                            "line": 100,
                                                            "column": 33
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        4513,
                                                        4526
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 100,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 100,
                                                          "column": 33
                                                        }
                                                      }
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "errorObject",
                                                          "range": [
                                                            4527,
                                                            4538
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 100,
                                                              "column": 34
                                                            },
                                                            "end": {
                                                              "line": 100,
                                                              "column": 45
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "e",
                                                          "range": [
                                                            4539,
                                                            4540
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 100,
                                                              "column": 46
                                                            },
                                                            "end": {
                                                              "line": 100,
                                                              "column": 47
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          4527,
                                                          4540
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 100,
                                                            "column": 34
                                                          },
                                                          "end": {
                                                            "line": 100,
                                                            "column": 47
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "range": [
                                                      4513,
                                                      4541
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 100,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 100,
                                                        "column": 48
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    4513,
                                                    4542
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 100,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 100,
                                                      "column": 49
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                4491,
                                                4560
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 99,
                                                  "column": 44
                                                },
                                                "end": {
                                                  "line": 101,
                                                  "column": 17
                                                }
                                              }
                                            },
                                            "alternate": null,
                                            "range": [
                                              4463,
                                              4560
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 99,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 101,
                                                "column": 17
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          3184,
                                          4574
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 72,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 102,
                                            "column": 13
                                          }
                                        }
                                      },
                                      "alternate": null,
                                      "range": [
                                        3170,
                                        4574
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 72,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 102,
                                          "column": 13
                                        }
                                      }
                                    },
                                    {
                                      "type": "ReturnStatement",
                                      "argument": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "subject",
                                            "range": [
                                              4594,
                                              4601
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 103,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 103,
                                                "column": 26
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "subscribe",
                                            "range": [
                                              4602,
                                              4611
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 103,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 103,
                                                "column": 36
                                              }
                                            }
                                          },
                                          "range": [
                                            4594,
                                            4611
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 103,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 103,
                                              "column": 36
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "subscriber",
                                            "range": [
                                              4612,
                                              4622
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 103,
                                                "column": 37
                                              },
                                              "end": {
                                                "line": 103,
                                                "column": 47
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          4594,
                                          4623
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 103,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 103,
                                            "column": 48
                                          }
                                        }
                                      },
                                      "range": [
                                        4587,
                                        4624
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 103,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 103,
                                          "column": 49
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    3156,
                                    4634
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 71,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 104,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ReturnStatement",
                                      "argument": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "scheduler",
                                            "range": [
                                              4669,
                                              4678
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 106,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 106,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "schedule",
                                            "range": [
                                              4679,
                                              4687
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 106,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 106,
                                                "column": 37
                                              }
                                            }
                                          },
                                          "range": [
                                            4669,
                                            4687
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 106,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 106,
                                              "column": 37
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "BoundCallbackObservable",
                                              "range": [
                                                4688,
                                                4711
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 106,
                                                  "column": 38
                                                },
                                                "end": {
                                                  "line": 106,
                                                  "column": 61
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "dispatch",
                                              "range": [
                                                4712,
                                                4720
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 106,
                                                  "column": 62
                                                },
                                                "end": {
                                                  "line": 106,
                                                  "column": 70
                                                }
                                              }
                                            },
                                            "range": [
                                              4688,
                                              4720
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 106,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 106,
                                                "column": 70
                                              }
                                            }
                                          },
                                          {
                                            "type": "Literal",
                                            "value": 0,
                                            "raw": "0",
                                            "range": [
                                              4722,
                                              4723
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 106,
                                                "column": 72
                                              },
                                              "end": {
                                                "line": 106,
                                                "column": 73
                                              }
                                            }
                                          },
                                          {
                                            "type": "ObjectExpression",
                                            "properties": [
                                              {
                                                "type": "Property",
                                                "key": {
                                                  "type": "Identifier",
                                                  "name": "source",
                                                  "range": [
                                                    4727,
                                                    4733
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 106,
                                                      "column": 77
                                                    },
                                                    "end": {
                                                      "line": 106,
                                                      "column": 83
                                                    }
                                                  }
                                                },
                                                "value": {
                                                  "type": "ThisExpression",
                                                  "range": [
                                                    4735,
                                                    4739
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 106,
                                                      "column": 85
                                                    },
                                                    "end": {
                                                      "line": 106,
                                                      "column": 89
                                                    }
                                                  }
                                                },
                                                "kind": "init",
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "range": [
                                                  4727,
                                                  4739
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 106,
                                                    "column": 77
                                                  },
                                                  "end": {
                                                    "line": 106,
                                                    "column": 89
                                                  }
                                                }
                                              },
                                              {
                                                "type": "Property",
                                                "key": {
                                                  "type": "Identifier",
                                                  "name": "subscriber",
                                                  "range": [
                                                    4741,
                                                    4751
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 106,
                                                      "column": 91
                                                    },
                                                    "end": {
                                                      "line": 106,
                                                      "column": 101
                                                    }
                                                  }
                                                },
                                                "value": {
                                                  "type": "Identifier",
                                                  "name": "subscriber",
                                                  "range": [
                                                    4753,
                                                    4763
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 106,
                                                      "column": 103
                                                    },
                                                    "end": {
                                                      "line": 106,
                                                      "column": 113
                                                    }
                                                  }
                                                },
                                                "kind": "init",
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "range": [
                                                  4741,
                                                  4763
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 106,
                                                    "column": 91
                                                  },
                                                  "end": {
                                                    "line": 106,
                                                    "column": 113
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              4725,
                                              4765
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 106,
                                                "column": 75
                                              },
                                              "end": {
                                                "line": 106,
                                                "column": 115
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          4669,
                                          4766
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 106,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 106,
                                            "column": 116
                                          }
                                        }
                                      },
                                      "range": [
                                        4662,
                                        4767
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 106,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 106,
                                          "column": 117
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    4648,
                                    4777
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 105,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 107,
                                      "column": 9
                                    }
                                  }
                                },
                                "range": [
                                  3140,
                                  4777
                                ],
                                "loc": {
                                  "start": {
                                    "line": 71,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 107,
                                    "column": 9
                                  }
                                }
                              }
                            ],
                            "range": [
                              2978,
                              4783
                            ],
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 73
                              },
                              "end": {
                                "line": 108,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            2956,
                            4783
                          ],
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 51
                            },
                            "end": {
                              "line": 108,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          2909,
                          4783
                        ],
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 4
                          },
                          "end": {
                            "line": 108,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2909,
                        4784
                      ],
                      "loc": {
                        "start": {
                          "line": 66,
                          "column": 4
                        },
                        "end": {
                          "line": 108,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "BoundCallbackObservable",
                            "range": [
                              4789,
                              4812
                            ],
                            "loc": {
                              "start": {
                                "line": 109,
                                "column": 4
                              },
                              "end": {
                                "line": 109,
                                "column": 27
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "dispatch",
                            "range": [
                              4813,
                              4821
                            ],
                            "loc": {
                              "start": {
                                "line": 109,
                                "column": 28
                              },
                              "end": {
                                "line": 109,
                                "column": 36
                              }
                            }
                          },
                          "range": [
                            4789,
                            4821
                          ],
                          "loc": {
                            "start": {
                              "line": 109,
                              "column": 4
                            },
                            "end": {
                              "line": 109,
                              "column": 36
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "state",
                              "range": [
                                4834,
                                4839
                              ],
                              "loc": {
                                "start": {
                                  "line": 109,
                                  "column": 49
                                },
                                "end": {
                                  "line": 109,
                                  "column": 54
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "self",
                                      "range": [
                                        4855,
                                        4859
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 110,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 110,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "ThisExpression",
                                      "range": [
                                        4862,
                                        4866
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 110,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 110,
                                          "column": 23
                                        }
                                      }
                                    },
                                    "range": [
                                      4855,
                                      4866
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 110,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 110,
                                        "column": 23
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  4851,
                                  4867
                                ],
                                "loc": {
                                  "start": {
                                    "line": 110,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 110,
                                    "column": 24
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "source",
                                      "range": [
                                        4880,
                                        4886
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 18
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "state",
                                        "range": [
                                          4889,
                                          4894
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 111,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 111,
                                            "column": 26
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "source",
                                        "range": [
                                          4895,
                                          4901
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 111,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 111,
                                            "column": 33
                                          }
                                        }
                                      },
                                      "range": [
                                        4889,
                                        4901
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 33
                                        }
                                      }
                                    },
                                    "range": [
                                      4880,
                                      4901
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 111,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 111,
                                        "column": 33
                                      }
                                    }
                                  },
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "subscriber",
                                      "range": [
                                        4903,
                                        4913
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 45
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "state",
                                        "range": [
                                          4916,
                                          4921
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 111,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 111,
                                            "column": 53
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "subscriber",
                                        "range": [
                                          4922,
                                          4932
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 111,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 111,
                                            "column": 64
                                          }
                                        }
                                      },
                                      "range": [
                                        4916,
                                        4932
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 48
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 64
                                        }
                                      }
                                    },
                                    "range": [
                                      4903,
                                      4932
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 111,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 111,
                                        "column": 64
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  4876,
                                  4933
                                ],
                                "loc": {
                                  "start": {
                                    "line": 111,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 111,
                                    "column": 65
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "callbackFunc",
                                      "range": [
                                        4946,
                                        4958
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 112,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 112,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "source",
                                        "range": [
                                          4961,
                                          4967
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 112,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 112,
                                            "column": 33
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "callbackFunc",
                                        "range": [
                                          4968,
                                          4980
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 112,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 112,
                                            "column": 46
                                          }
                                        }
                                      },
                                      "range": [
                                        4961,
                                        4980
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 112,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 112,
                                          "column": 46
                                        }
                                      }
                                    },
                                    "range": [
                                      4946,
                                      4980
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 112,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 112,
                                        "column": 46
                                      }
                                    }
                                  },
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "args",
                                      "range": [
                                        4982,
                                        4986
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 112,
                                          "column": 48
                                        },
                                        "end": {
                                          "line": 112,
                                          "column": 52
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "source",
                                        "range": [
                                          4989,
                                          4995
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 112,
                                            "column": 55
                                          },
                                          "end": {
                                            "line": 112,
                                            "column": 61
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "args",
                                        "range": [
                                          4996,
                                          5000
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 112,
                                            "column": 62
                                          },
                                          "end": {
                                            "line": 112,
                                            "column": 66
                                          }
                                        }
                                      },
                                      "range": [
                                        4989,
                                        5000
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 112,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 112,
                                          "column": 66
                                        }
                                      }
                                    },
                                    "range": [
                                      4982,
                                      5000
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 112,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 112,
                                        "column": 66
                                      }
                                    }
                                  },
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "scheduler",
                                      "range": [
                                        5002,
                                        5011
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 112,
                                          "column": 68
                                        },
                                        "end": {
                                          "line": 112,
                                          "column": 77
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "source",
                                        "range": [
                                          5014,
                                          5020
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 112,
                                            "column": 80
                                          },
                                          "end": {
                                            "line": 112,
                                            "column": 86
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "scheduler",
                                        "range": [
                                          5021,
                                          5030
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 112,
                                            "column": 87
                                          },
                                          "end": {
                                            "line": 112,
                                            "column": 96
                                          }
                                        }
                                      },
                                      "range": [
                                        5014,
                                        5030
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 112,
                                          "column": 80
                                        },
                                        "end": {
                                          "line": 112,
                                          "column": 96
                                        }
                                      }
                                    },
                                    "range": [
                                      5002,
                                      5030
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 112,
                                        "column": 68
                                      },
                                      "end": {
                                        "line": 112,
                                        "column": 96
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  4942,
                                  5031
                                ],
                                "loc": {
                                  "start": {
                                    "line": 112,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 112,
                                    "column": 97
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "subject",
                                      "range": [
                                        5044,
                                        5051
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 113,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 113,
                                          "column": 19
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "source",
                                        "range": [
                                          5054,
                                          5060
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 113,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 113,
                                            "column": 28
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "subject",
                                        "range": [
                                          5061,
                                          5068
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 113,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 113,
                                            "column": 36
                                          }
                                        }
                                      },
                                      "range": [
                                        5054,
                                        5068
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 113,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 113,
                                          "column": 36
                                        }
                                      }
                                    },
                                    "range": [
                                      5044,
                                      5068
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 113,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 113,
                                        "column": 36
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  5040,
                                  5069
                                ],
                                "loc": {
                                  "start": {
                                    "line": 113,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 113,
                                    "column": 37
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "UnaryExpression",
                                  "operator": "!",
                                  "argument": {
                                    "type": "Identifier",
                                    "name": "subject",
                                    "range": [
                                      5083,
                                      5090
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 114,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 114,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "prefix": true,
                                  "range": [
                                    5082,
                                    5090
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 114,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 114,
                                      "column": 20
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "operator": "=",
                                        "left": {
                                          "type": "Identifier",
                                          "name": "subject",
                                          "range": [
                                            5106,
                                            5113
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 115,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 115,
                                              "column": 19
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "AssignmentExpression",
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "source",
                                              "range": [
                                                5116,
                                                5122
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 115,
                                                  "column": 22
                                                },
                                                "end": {
                                                  "line": 115,
                                                  "column": 28
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "subject",
                                              "range": [
                                                5123,
                                                5130
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 115,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 115,
                                                  "column": 36
                                                }
                                              }
                                            },
                                            "range": [
                                              5116,
                                              5130
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 115,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 115,
                                                "column": 36
                                              }
                                            }
                                          },
                                          "right": {
                                            "type": "NewExpression",
                                            "callee": {
                                              "type": "Identifier",
                                              "name": "AsyncSubject",
                                              "range": [
                                                5137,
                                                5149
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 115,
                                                  "column": 43
                                                },
                                                "end": {
                                                  "line": 115,
                                                  "column": 55
                                                }
                                              }
                                            },
                                            "arguments": [],
                                            "range": [
                                              5133,
                                              5151
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 115,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 115,
                                                "column": 57
                                              }
                                            }
                                          },
                                          "range": [
                                            5116,
                                            5151
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 115,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 115,
                                              "column": 57
                                            }
                                          }
                                        },
                                        "range": [
                                          5106,
                                          5151
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 115,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 115,
                                            "column": 57
                                          }
                                        }
                                      },
                                      "range": [
                                        5106,
                                        5152
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 115,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 115,
                                          "column": 58
                                        }
                                      }
                                    },
                                    {
                                      "type": "VariableDeclaration",
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "id": {
                                            "type": "Identifier",
                                            "name": "handler",
                                            "range": [
                                              5169,
                                              5176
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 116,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 116,
                                                "column": 23
                                              }
                                            }
                                          },
                                          "init": {
                                            "type": "FunctionExpression",
                                            "id": {
                                              "type": "Identifier",
                                              "name": "handlerFn",
                                              "range": [
                                                5188,
                                                5197
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 116,
                                                  "column": 35
                                                },
                                                "end": {
                                                  "line": 116,
                                                  "column": 44
                                                }
                                              }
                                            },
                                            "params": [],
                                            "body": {
                                              "type": "BlockStatement",
                                              "body": [
                                                {
                                                  "type": "VariableDeclaration",
                                                  "declarations": [
                                                    {
                                                      "type": "VariableDeclarator",
                                                      "id": {
                                                        "type": "Identifier",
                                                        "name": "innerArgs",
                                                        "range": [
                                                          5222,
                                                          5231
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 117,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 117,
                                                            "column": 29
                                                          }
                                                        }
                                                      },
                                                      "init": {
                                                        "type": "ArrayExpression",
                                                        "elements": [],
                                                        "range": [
                                                          5234,
                                                          5236
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 117,
                                                            "column": 32
                                                          },
                                                          "end": {
                                                            "line": 117,
                                                            "column": 34
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        5222,
                                                        5236
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 117,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 117,
                                                          "column": 34
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "kind": "var",
                                                  "range": [
                                                    5218,
                                                    5237
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 117,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 117,
                                                      "column": 35
                                                    }
                                                  }
                                                },
                                                {
                                                  "type": "ForStatement",
                                                  "init": {
                                                    "type": "VariableDeclaration",
                                                    "declarations": [
                                                      {
                                                        "type": "VariableDeclarator",
                                                        "id": {
                                                          "type": "Identifier",
                                                          "name": "_i",
                                                          "range": [
                                                            5263,
                                                            5265
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 118,
                                                              "column": 25
                                                            },
                                                            "end": {
                                                              "line": 118,
                                                              "column": 27
                                                            }
                                                          }
                                                        },
                                                        "init": {
                                                          "type": "Literal",
                                                          "value": 0,
                                                          "raw": "0",
                                                          "range": [
                                                            5268,
                                                            5269
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 118,
                                                              "column": 30
                                                            },
                                                            "end": {
                                                              "line": 118,
                                                              "column": 31
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          5263,
                                                          5269
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 118,
                                                            "column": 25
                                                          },
                                                          "end": {
                                                            "line": 118,
                                                            "column": 31
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "kind": "var",
                                                    "range": [
                                                      5259,
                                                      5269
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 118,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 118,
                                                        "column": 31
                                                      }
                                                    }
                                                  },
                                                  "test": {
                                                    "type": "BinaryExpression",
                                                    "operator": "<",
                                                    "left": {
                                                      "type": "Identifier",
                                                      "name": "_i",
                                                      "range": [
                                                        5271,
                                                        5273
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 118,
                                                          "column": 33
                                                        },
                                                        "end": {
                                                          "line": 118,
                                                          "column": 35
                                                        }
                                                      }
                                                    },
                                                    "right": {
                                                      "type": "MemberExpression",
                                                      "computed": false,
                                                      "object": {
                                                        "type": "Identifier",
                                                        "name": "arguments",
                                                        "range": [
                                                          5276,
                                                          5285
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 118,
                                                            "column": 38
                                                          },
                                                          "end": {
                                                            "line": 118,
                                                            "column": 47
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "length",
                                                        "range": [
                                                          5286,
                                                          5292
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 118,
                                                            "column": 48
                                                          },
                                                          "end": {
                                                            "line": 118,
                                                            "column": 54
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        5276,
                                                        5292
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 118,
                                                          "column": 38
                                                        },
                                                        "end": {
                                                          "line": 118,
                                                          "column": 54
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      5271,
                                                      5292
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 118,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 118,
                                                        "column": 54
                                                      }
                                                    }
                                                  },
                                                  "update": {
                                                    "type": "UpdateExpression",
                                                    "operator": "++",
                                                    "argument": {
                                                      "type": "Identifier",
                                                      "name": "_i",
                                                      "range": [
                                                        5294,
                                                        5296
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 118,
                                                          "column": 56
                                                        },
                                                        "end": {
                                                          "line": 118,
                                                          "column": 58
                                                        }
                                                      }
                                                    },
                                                    "prefix": false,
                                                    "range": [
                                                      5294,
                                                      5298
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 118,
                                                        "column": 56
                                                      },
                                                      "end": {
                                                        "line": 118,
                                                        "column": 60
                                                      }
                                                    }
                                                  },
                                                  "body": {
                                                    "type": "BlockStatement",
                                                    "body": [
                                                      {
                                                        "type": "ExpressionStatement",
                                                        "expression": {
                                                          "type": "AssignmentExpression",
                                                          "operator": "=",
                                                          "left": {
                                                            "type": "MemberExpression",
                                                            "computed": true,
                                                            "object": {
                                                              "type": "Identifier",
                                                              "name": "innerArgs",
                                                              "range": [
                                                                5322,
                                                                5331
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 119,
                                                                  "column": 20
                                                                },
                                                                "end": {
                                                                  "line": 119,
                                                                  "column": 29
                                                                }
                                                              }
                                                            },
                                                            "property": {
                                                              "type": "BinaryExpression",
                                                              "operator": "-",
                                                              "left": {
                                                                "type": "Identifier",
                                                                "name": "_i",
                                                                "range": [
                                                                  5332,
                                                                  5334
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 119,
                                                                    "column": 30
                                                                  },
                                                                  "end": {
                                                                    "line": 119,
                                                                    "column": 32
                                                                  }
                                                                }
                                                              },
                                                              "right": {
                                                                "type": "Literal",
                                                                "value": 0,
                                                                "raw": "0",
                                                                "range": [
                                                                  5337,
                                                                  5338
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 119,
                                                                    "column": 35
                                                                  },
                                                                  "end": {
                                                                    "line": 119,
                                                                    "column": 36
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                5332,
                                                                5338
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 119,
                                                                  "column": 30
                                                                },
                                                                "end": {
                                                                  "line": 119,
                                                                  "column": 36
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              5322,
                                                              5339
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 119,
                                                                "column": 20
                                                              },
                                                              "end": {
                                                                "line": 119,
                                                                "column": 37
                                                              }
                                                            }
                                                          },
                                                          "right": {
                                                            "type": "MemberExpression",
                                                            "computed": true,
                                                            "object": {
                                                              "type": "Identifier",
                                                              "name": "arguments",
                                                              "range": [
                                                                5342,
                                                                5351
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 119,
                                                                  "column": 40
                                                                },
                                                                "end": {
                                                                  "line": 119,
                                                                  "column": 49
                                                                }
                                                              }
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "name": "_i",
                                                              "range": [
                                                                5352,
                                                                5354
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 119,
                                                                  "column": 50
                                                                },
                                                                "end": {
                                                                  "line": 119,
                                                                  "column": 52
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              5342,
                                                              5355
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 119,
                                                                "column": 40
                                                              },
                                                              "end": {
                                                                "line": 119,
                                                                "column": 53
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            5322,
                                                            5355
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 119,
                                                              "column": 20
                                                            },
                                                            "end": {
                                                              "line": 119,
                                                              "column": 53
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          5322,
                                                          5356
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 119,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 119,
                                                            "column": 54
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "range": [
                                                      5300,
                                                      5374
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 118,
                                                        "column": 62
                                                      },
                                                      "end": {
                                                        "line": 120,
                                                        "column": 17
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    5254,
                                                    5374
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 118,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 120,
                                                      "column": 17
                                                    }
                                                  }
                                                },
                                                {
                                                  "type": "VariableDeclaration",
                                                  "declarations": [
                                                    {
                                                      "type": "VariableDeclarator",
                                                      "id": {
                                                        "type": "Identifier",
                                                        "name": "source",
                                                        "range": [
                                                          5395,
                                                          5401
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 121,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 121,
                                                            "column": 26
                                                          }
                                                        }
                                                      },
                                                      "init": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "handlerFn",
                                                          "range": [
                                                            5404,
                                                            5413
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 121,
                                                              "column": 29
                                                            },
                                                            "end": {
                                                              "line": 121,
                                                              "column": 38
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "source",
                                                          "range": [
                                                            5414,
                                                            5420
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 121,
                                                              "column": 39
                                                            },
                                                            "end": {
                                                              "line": 121,
                                                              "column": 45
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          5404,
                                                          5420
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 121,
                                                            "column": 29
                                                          },
                                                          "end": {
                                                            "line": 121,
                                                            "column": 45
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        5395,
                                                        5420
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 121,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 121,
                                                          "column": 45
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "kind": "var",
                                                  "range": [
                                                    5391,
                                                    5421
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 121,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 121,
                                                      "column": 46
                                                    }
                                                  }
                                                },
                                                {
                                                  "type": "VariableDeclaration",
                                                  "declarations": [
                                                    {
                                                      "type": "VariableDeclarator",
                                                      "id": {
                                                        "type": "Identifier",
                                                        "name": "selector",
                                                        "range": [
                                                          5442,
                                                          5450
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 122,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 122,
                                                            "column": 28
                                                          }
                                                        }
                                                      },
                                                      "init": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "source",
                                                          "range": [
                                                            5453,
                                                            5459
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 122,
                                                              "column": 31
                                                            },
                                                            "end": {
                                                              "line": 122,
                                                              "column": 37
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "selector",
                                                          "range": [
                                                            5460,
                                                            5468
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 122,
                                                              "column": 38
                                                            },
                                                            "end": {
                                                              "line": 122,
                                                              "column": 46
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          5453,
                                                          5468
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 122,
                                                            "column": 31
                                                          },
                                                          "end": {
                                                            "line": 122,
                                                            "column": 46
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        5442,
                                                        5468
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 122,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 122,
                                                          "column": 46
                                                        }
                                                      }
                                                    },
                                                    {
                                                      "type": "VariableDeclarator",
                                                      "id": {
                                                        "type": "Identifier",
                                                        "name": "subject",
                                                        "range": [
                                                          5470,
                                                          5477
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 122,
                                                            "column": 48
                                                          },
                                                          "end": {
                                                            "line": 122,
                                                            "column": 55
                                                          }
                                                        }
                                                      },
                                                      "init": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "source",
                                                          "range": [
                                                            5480,
                                                            5486
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 122,
                                                              "column": 58
                                                            },
                                                            "end": {
                                                              "line": 122,
                                                              "column": 64
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "subject",
                                                          "range": [
                                                            5487,
                                                            5494
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 122,
                                                              "column": 65
                                                            },
                                                            "end": {
                                                              "line": 122,
                                                              "column": 72
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          5480,
                                                          5494
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 122,
                                                            "column": 58
                                                          },
                                                          "end": {
                                                            "line": 122,
                                                            "column": 72
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        5470,
                                                        5494
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 122,
                                                          "column": 48
                                                        },
                                                        "end": {
                                                          "line": 122,
                                                          "column": 72
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "kind": "var",
                                                  "range": [
                                                    5438,
                                                    5495
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 122,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 122,
                                                      "column": 73
                                                    }
                                                  }
                                                },
                                                {
                                                  "type": "IfStatement",
                                                  "test": {
                                                    "type": "Identifier",
                                                    "name": "selector",
                                                    "range": [
                                                      5516,
                                                      5524
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 123,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 123,
                                                        "column": 28
                                                      }
                                                    }
                                                  },
                                                  "consequent": {
                                                    "type": "BlockStatement",
                                                    "body": [
                                                      {
                                                        "type": "VariableDeclaration",
                                                        "declarations": [
                                                          {
                                                            "type": "VariableDeclarator",
                                                            "id": {
                                                              "type": "Identifier",
                                                              "name": "result_2",
                                                              "range": [
                                                                5552,
                                                                5560
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 124,
                                                                  "column": 24
                                                                },
                                                                "end": {
                                                                  "line": 124,
                                                                  "column": 32
                                                                }
                                                              }
                                                            },
                                                            "init": {
                                                              "type": "CallExpression",
                                                              "callee": {
                                                                "type": "MemberExpression",
                                                                "computed": false,
                                                                "object": {
                                                                  "type": "CallExpression",
                                                                  "callee": {
                                                                    "type": "Identifier",
                                                                    "name": "tryCatch",
                                                                    "range": [
                                                                      5563,
                                                                      5571
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 124,
                                                                        "column": 35
                                                                      },
                                                                      "end": {
                                                                        "line": 124,
                                                                        "column": 43
                                                                      }
                                                                    }
                                                                  },
                                                                  "arguments": [
                                                                    {
                                                                      "type": "Identifier",
                                                                      "name": "selector",
                                                                      "range": [
                                                                        5572,
                                                                        5580
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 124,
                                                                          "column": 44
                                                                        },
                                                                        "end": {
                                                                          "line": 124,
                                                                          "column": 52
                                                                        }
                                                                      }
                                                                    }
                                                                  ],
                                                                  "range": [
                                                                    5563,
                                                                    5581
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 124,
                                                                      "column": 35
                                                                    },
                                                                    "end": {
                                                                      "line": 124,
                                                                      "column": 53
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "name": "apply",
                                                                  "range": [
                                                                    5582,
                                                                    5587
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 124,
                                                                      "column": 54
                                                                    },
                                                                    "end": {
                                                                      "line": 124,
                                                                      "column": 59
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  5563,
                                                                  5587
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 124,
                                                                    "column": 35
                                                                  },
                                                                  "end": {
                                                                    "line": 124,
                                                                    "column": 59
                                                                  }
                                                                }
                                                              },
                                                              "arguments": [
                                                                {
                                                                  "type": "ThisExpression",
                                                                  "range": [
                                                                    5588,
                                                                    5592
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 124,
                                                                      "column": 60
                                                                    },
                                                                    "end": {
                                                                      "line": 124,
                                                                      "column": 64
                                                                    }
                                                                  }
                                                                },
                                                                {
                                                                  "type": "Identifier",
                                                                  "name": "innerArgs",
                                                                  "range": [
                                                                    5594,
                                                                    5603
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 124,
                                                                      "column": 66
                                                                    },
                                                                    "end": {
                                                                      "line": 124,
                                                                      "column": 75
                                                                    }
                                                                  }
                                                                }
                                                              ],
                                                              "range": [
                                                                5563,
                                                                5604
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 124,
                                                                  "column": 35
                                                                },
                                                                "end": {
                                                                  "line": 124,
                                                                  "column": 76
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              5552,
                                                              5604
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 124,
                                                                "column": 24
                                                              },
                                                              "end": {
                                                                "line": 124,
                                                                "column": 76
                                                              }
                                                            }
                                                          }
                                                        ],
                                                        "kind": "var",
                                                        "range": [
                                                          5548,
                                                          5605
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 124,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 124,
                                                            "column": 77
                                                          }
                                                        }
                                                      },
                                                      {
                                                        "type": "IfStatement",
                                                        "test": {
                                                          "type": "BinaryExpression",
                                                          "operator": "===",
                                                          "left": {
                                                            "type": "Identifier",
                                                            "name": "result_2",
                                                            "range": [
                                                              5630,
                                                              5638
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 125,
                                                                "column": 24
                                                              },
                                                              "end": {
                                                                "line": 125,
                                                                "column": 32
                                                              }
                                                            }
                                                          },
                                                          "right": {
                                                            "type": "Identifier",
                                                            "name": "errorObject",
                                                            "range": [
                                                              5643,
                                                              5654
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 125,
                                                                "column": 37
                                                              },
                                                              "end": {
                                                                "line": 125,
                                                                "column": 48
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            5630,
                                                            5654
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 125,
                                                              "column": 24
                                                            },
                                                            "end": {
                                                              "line": 125,
                                                              "column": 48
                                                            }
                                                          }
                                                        },
                                                        "consequent": {
                                                          "type": "BlockStatement",
                                                          "body": [
                                                            {
                                                              "type": "ExpressionStatement",
                                                              "expression": {
                                                                "type": "CallExpression",
                                                                "callee": {
                                                                  "type": "MemberExpression",
                                                                  "computed": false,
                                                                  "object": {
                                                                    "type": "Identifier",
                                                                    "name": "self",
                                                                    "range": [
                                                                      5682,
                                                                      5686
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 126,
                                                                        "column": 24
                                                                      },
                                                                      "end": {
                                                                        "line": 126,
                                                                        "column": 28
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "add",
                                                                    "range": [
                                                                      5687,
                                                                      5690
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 126,
                                                                        "column": 29
                                                                      },
                                                                      "end": {
                                                                        "line": 126,
                                                                        "column": 32
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    5682,
                                                                    5690
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 126,
                                                                      "column": 24
                                                                    },
                                                                    "end": {
                                                                      "line": 126,
                                                                      "column": 32
                                                                    }
                                                                  }
                                                                },
                                                                "arguments": [
                                                                  {
                                                                    "type": "CallExpression",
                                                                    "callee": {
                                                                      "type": "MemberExpression",
                                                                      "computed": false,
                                                                      "object": {
                                                                        "type": "Identifier",
                                                                        "name": "scheduler",
                                                                        "range": [
                                                                          5691,
                                                                          5700
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 126,
                                                                            "column": 33
                                                                          },
                                                                          "end": {
                                                                            "line": 126,
                                                                            "column": 42
                                                                          }
                                                                        }
                                                                      },
                                                                      "property": {
                                                                        "type": "Identifier",
                                                                        "name": "schedule",
                                                                        "range": [
                                                                          5701,
                                                                          5709
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 126,
                                                                            "column": 43
                                                                          },
                                                                          "end": {
                                                                            "line": 126,
                                                                            "column": 51
                                                                          }
                                                                        }
                                                                      },
                                                                      "range": [
                                                                        5691,
                                                                        5709
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 126,
                                                                          "column": 33
                                                                        },
                                                                        "end": {
                                                                          "line": 126,
                                                                          "column": 51
                                                                        }
                                                                      }
                                                                    },
                                                                    "arguments": [
                                                                      {
                                                                        "type": "Identifier",
                                                                        "name": "dispatchError",
                                                                        "range": [
                                                                          5710,
                                                                          5723
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 126,
                                                                            "column": 52
                                                                          },
                                                                          "end": {
                                                                            "line": 126,
                                                                            "column": 65
                                                                          }
                                                                        }
                                                                      },
                                                                      {
                                                                        "type": "Literal",
                                                                        "value": 0,
                                                                        "raw": "0",
                                                                        "range": [
                                                                          5725,
                                                                          5726
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 126,
                                                                            "column": 67
                                                                          },
                                                                          "end": {
                                                                            "line": 126,
                                                                            "column": 68
                                                                          }
                                                                        }
                                                                      },
                                                                      {
                                                                        "type": "ObjectExpression",
                                                                        "properties": [
                                                                          {
                                                                            "type": "Property",
                                                                            "key": {
                                                                              "type": "Identifier",
                                                                              "name": "err",
                                                                              "range": [
                                                                                5730,
                                                                                5733
                                                                              ],
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 126,
                                                                                  "column": 72
                                                                                },
                                                                                "end": {
                                                                                  "line": 126,
                                                                                  "column": 75
                                                                                }
                                                                              }
                                                                            },
                                                                            "value": {
                                                                              "type": "MemberExpression",
                                                                              "computed": false,
                                                                              "object": {
                                                                                "type": "Identifier",
                                                                                "name": "errorObject",
                                                                                "range": [
                                                                                  5735,
                                                                                  5746
                                                                                ],
                                                                                "loc": {
                                                                                  "start": {
                                                                                    "line": 126,
                                                                                    "column": 77
                                                                                  },
                                                                                  "end": {
                                                                                    "line": 126,
                                                                                    "column": 88
                                                                                  }
                                                                                }
                                                                              },
                                                                              "property": {
                                                                                "type": "Identifier",
                                                                                "name": "e",
                                                                                "range": [
                                                                                  5747,
                                                                                  5748
                                                                                ],
                                                                                "loc": {
                                                                                  "start": {
                                                                                    "line": 126,
                                                                                    "column": 89
                                                                                  },
                                                                                  "end": {
                                                                                    "line": 126,
                                                                                    "column": 90
                                                                                  }
                                                                                }
                                                                              },
                                                                              "range": [
                                                                                5735,
                                                                                5748
                                                                              ],
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 126,
                                                                                  "column": 77
                                                                                },
                                                                                "end": {
                                                                                  "line": 126,
                                                                                  "column": 90
                                                                                }
                                                                              }
                                                                            },
                                                                            "kind": "init",
                                                                            "method": false,
                                                                            "shorthand": false,
                                                                            "computed": false,
                                                                            "range": [
                                                                              5730,
                                                                              5748
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 126,
                                                                                "column": 72
                                                                              },
                                                                              "end": {
                                                                                "line": 126,
                                                                                "column": 90
                                                                              }
                                                                            }
                                                                          },
                                                                          {
                                                                            "type": "Property",
                                                                            "key": {
                                                                              "type": "Identifier",
                                                                              "name": "subject",
                                                                              "range": [
                                                                                5750,
                                                                                5757
                                                                              ],
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 126,
                                                                                  "column": 92
                                                                                },
                                                                                "end": {
                                                                                  "line": 126,
                                                                                  "column": 99
                                                                                }
                                                                              }
                                                                            },
                                                                            "value": {
                                                                              "type": "Identifier",
                                                                              "name": "subject",
                                                                              "range": [
                                                                                5759,
                                                                                5766
                                                                              ],
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 126,
                                                                                  "column": 101
                                                                                },
                                                                                "end": {
                                                                                  "line": 126,
                                                                                  "column": 108
                                                                                }
                                                                              }
                                                                            },
                                                                            "kind": "init",
                                                                            "method": false,
                                                                            "shorthand": false,
                                                                            "computed": false,
                                                                            "range": [
                                                                              5750,
                                                                              5766
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 126,
                                                                                "column": 92
                                                                              },
                                                                              "end": {
                                                                                "line": 126,
                                                                                "column": 108
                                                                              }
                                                                            }
                                                                          }
                                                                        ],
                                                                        "range": [
                                                                          5728,
                                                                          5768
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 126,
                                                                            "column": 70
                                                                          },
                                                                          "end": {
                                                                            "line": 126,
                                                                            "column": 110
                                                                          }
                                                                        }
                                                                      }
                                                                    ],
                                                                    "range": [
                                                                      5691,
                                                                      5769
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 126,
                                                                        "column": 33
                                                                      },
                                                                      "end": {
                                                                        "line": 126,
                                                                        "column": 111
                                                                      }
                                                                    }
                                                                  }
                                                                ],
                                                                "range": [
                                                                  5682,
                                                                  5770
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 126,
                                                                    "column": 24
                                                                  },
                                                                  "end": {
                                                                    "line": 126,
                                                                    "column": 112
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                5682,
                                                                5771
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 126,
                                                                  "column": 24
                                                                },
                                                                "end": {
                                                                  "line": 126,
                                                                  "column": 113
                                                                }
                                                              }
                                                            }
                                                          ],
                                                          "range": [
                                                            5656,
                                                            5793
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 125,
                                                              "column": 50
                                                            },
                                                            "end": {
                                                              "line": 127,
                                                              "column": 21
                                                            }
                                                          }
                                                        },
                                                        "alternate": {
                                                          "type": "BlockStatement",
                                                          "body": [
                                                            {
                                                              "type": "ExpressionStatement",
                                                              "expression": {
                                                                "type": "CallExpression",
                                                                "callee": {
                                                                  "type": "MemberExpression",
                                                                  "computed": false,
                                                                  "object": {
                                                                    "type": "Identifier",
                                                                    "name": "self",
                                                                    "range": [
                                                                      5845,
                                                                      5849
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 129,
                                                                        "column": 24
                                                                      },
                                                                      "end": {
                                                                        "line": 129,
                                                                        "column": 28
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "add",
                                                                    "range": [
                                                                      5850,
                                                                      5853
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 129,
                                                                        "column": 29
                                                                      },
                                                                      "end": {
                                                                        "line": 129,
                                                                        "column": 32
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    5845,
                                                                    5853
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 129,
                                                                      "column": 24
                                                                    },
                                                                    "end": {
                                                                      "line": 129,
                                                                      "column": 32
                                                                    }
                                                                  }
                                                                },
                                                                "arguments": [
                                                                  {
                                                                    "type": "CallExpression",
                                                                    "callee": {
                                                                      "type": "MemberExpression",
                                                                      "computed": false,
                                                                      "object": {
                                                                        "type": "Identifier",
                                                                        "name": "scheduler",
                                                                        "range": [
                                                                          5854,
                                                                          5863
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 129,
                                                                            "column": 33
                                                                          },
                                                                          "end": {
                                                                            "line": 129,
                                                                            "column": 42
                                                                          }
                                                                        }
                                                                      },
                                                                      "property": {
                                                                        "type": "Identifier",
                                                                        "name": "schedule",
                                                                        "range": [
                                                                          5864,
                                                                          5872
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 129,
                                                                            "column": 43
                                                                          },
                                                                          "end": {
                                                                            "line": 129,
                                                                            "column": 51
                                                                          }
                                                                        }
                                                                      },
                                                                      "range": [
                                                                        5854,
                                                                        5872
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 129,
                                                                          "column": 33
                                                                        },
                                                                        "end": {
                                                                          "line": 129,
                                                                          "column": 51
                                                                        }
                                                                      }
                                                                    },
                                                                    "arguments": [
                                                                      {
                                                                        "type": "Identifier",
                                                                        "name": "dispatchNext",
                                                                        "range": [
                                                                          5873,
                                                                          5885
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 129,
                                                                            "column": 52
                                                                          },
                                                                          "end": {
                                                                            "line": 129,
                                                                            "column": 64
                                                                          }
                                                                        }
                                                                      },
                                                                      {
                                                                        "type": "Literal",
                                                                        "value": 0,
                                                                        "raw": "0",
                                                                        "range": [
                                                                          5887,
                                                                          5888
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 129,
                                                                            "column": 66
                                                                          },
                                                                          "end": {
                                                                            "line": 129,
                                                                            "column": 67
                                                                          }
                                                                        }
                                                                      },
                                                                      {
                                                                        "type": "ObjectExpression",
                                                                        "properties": [
                                                                          {
                                                                            "type": "Property",
                                                                            "key": {
                                                                              "type": "Identifier",
                                                                              "name": "value",
                                                                              "range": [
                                                                                5892,
                                                                                5897
                                                                              ],
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 129,
                                                                                  "column": 71
                                                                                },
                                                                                "end": {
                                                                                  "line": 129,
                                                                                  "column": 76
                                                                                }
                                                                              }
                                                                            },
                                                                            "value": {
                                                                              "type": "Identifier",
                                                                              "name": "result_2",
                                                                              "range": [
                                                                                5899,
                                                                                5907
                                                                              ],
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 129,
                                                                                  "column": 78
                                                                                },
                                                                                "end": {
                                                                                  "line": 129,
                                                                                  "column": 86
                                                                                }
                                                                              }
                                                                            },
                                                                            "kind": "init",
                                                                            "method": false,
                                                                            "shorthand": false,
                                                                            "computed": false,
                                                                            "range": [
                                                                              5892,
                                                                              5907
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 129,
                                                                                "column": 71
                                                                              },
                                                                              "end": {
                                                                                "line": 129,
                                                                                "column": 86
                                                                              }
                                                                            }
                                                                          },
                                                                          {
                                                                            "type": "Property",
                                                                            "key": {
                                                                              "type": "Identifier",
                                                                              "name": "subject",
                                                                              "range": [
                                                                                5909,
                                                                                5916
                                                                              ],
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 129,
                                                                                  "column": 88
                                                                                },
                                                                                "end": {
                                                                                  "line": 129,
                                                                                  "column": 95
                                                                                }
                                                                              }
                                                                            },
                                                                            "value": {
                                                                              "type": "Identifier",
                                                                              "name": "subject",
                                                                              "range": [
                                                                                5918,
                                                                                5925
                                                                              ],
                                                                              "loc": {
                                                                                "start": {
                                                                                  "line": 129,
                                                                                  "column": 97
                                                                                },
                                                                                "end": {
                                                                                  "line": 129,
                                                                                  "column": 104
                                                                                }
                                                                              }
                                                                            },
                                                                            "kind": "init",
                                                                            "method": false,
                                                                            "shorthand": false,
                                                                            "computed": false,
                                                                            "range": [
                                                                              5909,
                                                                              5925
                                                                            ],
                                                                            "loc": {
                                                                              "start": {
                                                                                "line": 129,
                                                                                "column": 88
                                                                              },
                                                                              "end": {
                                                                                "line": 129,
                                                                                "column": 104
                                                                              }
                                                                            }
                                                                          }
                                                                        ],
                                                                        "range": [
                                                                          5890,
                                                                          5927
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 129,
                                                                            "column": 69
                                                                          },
                                                                          "end": {
                                                                            "line": 129,
                                                                            "column": 106
                                                                          }
                                                                        }
                                                                      }
                                                                    ],
                                                                    "range": [
                                                                      5854,
                                                                      5928
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 129,
                                                                        "column": 33
                                                                      },
                                                                      "end": {
                                                                        "line": 129,
                                                                        "column": 107
                                                                      }
                                                                    }
                                                                  }
                                                                ],
                                                                "range": [
                                                                  5845,
                                                                  5929
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 129,
                                                                    "column": 24
                                                                  },
                                                                  "end": {
                                                                    "line": 129,
                                                                    "column": 108
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                5845,
                                                                5930
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 129,
                                                                  "column": 24
                                                                },
                                                                "end": {
                                                                  "line": 129,
                                                                  "column": 109
                                                                }
                                                              }
                                                            }
                                                          ],
                                                          "range": [
                                                            5819,
                                                            5952
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 128,
                                                              "column": 25
                                                            },
                                                            "end": {
                                                              "line": 130,
                                                              "column": 21
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          5626,
                                                          5952
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 125,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 130,
                                                            "column": 21
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "range": [
                                                      5526,
                                                      5970
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 123,
                                                        "column": 30
                                                      },
                                                      "end": {
                                                        "line": 131,
                                                        "column": 17
                                                      }
                                                    }
                                                  },
                                                  "alternate": {
                                                    "type": "BlockStatement",
                                                    "body": [
                                                      {
                                                        "type": "VariableDeclaration",
                                                        "declarations": [
                                                          {
                                                            "type": "VariableDeclarator",
                                                            "id": {
                                                              "type": "Identifier",
                                                              "name": "value",
                                                              "range": [
                                                                6018,
                                                                6023
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 133,
                                                                  "column": 24
                                                                },
                                                                "end": {
                                                                  "line": 133,
                                                                  "column": 29
                                                                }
                                                              }
                                                            },
                                                            "init": {
                                                              "type": "ConditionalExpression",
                                                              "test": {
                                                                "type": "BinaryExpression",
                                                                "operator": "===",
                                                                "left": {
                                                                  "type": "MemberExpression",
                                                                  "computed": false,
                                                                  "object": {
                                                                    "type": "Identifier",
                                                                    "name": "innerArgs",
                                                                    "range": [
                                                                      6026,
                                                                      6035
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 133,
                                                                        "column": 32
                                                                      },
                                                                      "end": {
                                                                        "line": 133,
                                                                        "column": 41
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "length",
                                                                    "range": [
                                                                      6036,
                                                                      6042
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 133,
                                                                        "column": 42
                                                                      },
                                                                      "end": {
                                                                        "line": 133,
                                                                        "column": 48
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    6026,
                                                                    6042
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 133,
                                                                      "column": 32
                                                                    },
                                                                    "end": {
                                                                      "line": 133,
                                                                      "column": 48
                                                                    }
                                                                  }
                                                                },
                                                                "right": {
                                                                  "type": "Literal",
                                                                  "value": 1,
                                                                  "raw": "1",
                                                                  "range": [
                                                                    6047,
                                                                    6048
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 133,
                                                                      "column": 53
                                                                    },
                                                                    "end": {
                                                                      "line": 133,
                                                                      "column": 54
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  6026,
                                                                  6048
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 133,
                                                                    "column": 32
                                                                  },
                                                                  "end": {
                                                                    "line": 133,
                                                                    "column": 54
                                                                  }
                                                                }
                                                              },
                                                              "consequent": {
                                                                "type": "MemberExpression",
                                                                "computed": true,
                                                                "object": {
                                                                  "type": "Identifier",
                                                                  "name": "innerArgs",
                                                                  "range": [
                                                                    6051,
                                                                    6060
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 133,
                                                                      "column": 57
                                                                    },
                                                                    "end": {
                                                                      "line": 133,
                                                                      "column": 66
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Literal",
                                                                  "value": 0,
                                                                  "raw": "0",
                                                                  "range": [
                                                                    6061,
                                                                    6062
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 133,
                                                                      "column": 67
                                                                    },
                                                                    "end": {
                                                                      "line": 133,
                                                                      "column": 68
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  6051,
                                                                  6063
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 133,
                                                                    "column": 57
                                                                  },
                                                                  "end": {
                                                                    "line": 133,
                                                                    "column": 69
                                                                  }
                                                                }
                                                              },
                                                              "alternate": {
                                                                "type": "Identifier",
                                                                "name": "innerArgs",
                                                                "range": [
                                                                  6066,
                                                                  6075
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 133,
                                                                    "column": 72
                                                                  },
                                                                  "end": {
                                                                    "line": 133,
                                                                    "column": 81
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                6026,
                                                                6075
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 133,
                                                                  "column": 32
                                                                },
                                                                "end": {
                                                                  "line": 133,
                                                                  "column": 81
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              6018,
                                                              6075
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 133,
                                                                "column": 24
                                                              },
                                                              "end": {
                                                                "line": 133,
                                                                "column": 81
                                                              }
                                                            }
                                                          }
                                                        ],
                                                        "kind": "var",
                                                        "range": [
                                                          6014,
                                                          6076
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 133,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 133,
                                                            "column": 82
                                                          }
                                                        }
                                                      },
                                                      {
                                                        "type": "ExpressionStatement",
                                                        "expression": {
                                                          "type": "CallExpression",
                                                          "callee": {
                                                            "type": "MemberExpression",
                                                            "computed": false,
                                                            "object": {
                                                              "type": "Identifier",
                                                              "name": "self",
                                                              "range": [
                                                                6097,
                                                                6101
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 134,
                                                                  "column": 20
                                                                },
                                                                "end": {
                                                                  "line": 134,
                                                                  "column": 24
                                                                }
                                                              }
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "name": "add",
                                                              "range": [
                                                                6102,
                                                                6105
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 134,
                                                                  "column": 25
                                                                },
                                                                "end": {
                                                                  "line": 134,
                                                                  "column": 28
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              6097,
                                                              6105
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 134,
                                                                "column": 20
                                                              },
                                                              "end": {
                                                                "line": 134,
                                                                "column": 28
                                                              }
                                                            }
                                                          },
                                                          "arguments": [
                                                            {
                                                              "type": "CallExpression",
                                                              "callee": {
                                                                "type": "MemberExpression",
                                                                "computed": false,
                                                                "object": {
                                                                  "type": "Identifier",
                                                                  "name": "scheduler",
                                                                  "range": [
                                                                    6106,
                                                                    6115
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 134,
                                                                      "column": 29
                                                                    },
                                                                    "end": {
                                                                      "line": 134,
                                                                      "column": 38
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "name": "schedule",
                                                                  "range": [
                                                                    6116,
                                                                    6124
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 134,
                                                                      "column": 39
                                                                    },
                                                                    "end": {
                                                                      "line": 134,
                                                                      "column": 47
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  6106,
                                                                  6124
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 134,
                                                                    "column": 29
                                                                  },
                                                                  "end": {
                                                                    "line": 134,
                                                                    "column": 47
                                                                  }
                                                                }
                                                              },
                                                              "arguments": [
                                                                {
                                                                  "type": "Identifier",
                                                                  "name": "dispatchNext",
                                                                  "range": [
                                                                    6125,
                                                                    6137
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 134,
                                                                      "column": 48
                                                                    },
                                                                    "end": {
                                                                      "line": 134,
                                                                      "column": 60
                                                                    }
                                                                  }
                                                                },
                                                                {
                                                                  "type": "Literal",
                                                                  "value": 0,
                                                                  "raw": "0",
                                                                  "range": [
                                                                    6139,
                                                                    6140
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 134,
                                                                      "column": 62
                                                                    },
                                                                    "end": {
                                                                      "line": 134,
                                                                      "column": 63
                                                                    }
                                                                  }
                                                                },
                                                                {
                                                                  "type": "ObjectExpression",
                                                                  "properties": [
                                                                    {
                                                                      "type": "Property",
                                                                      "key": {
                                                                        "type": "Identifier",
                                                                        "name": "value",
                                                                        "range": [
                                                                          6144,
                                                                          6149
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 134,
                                                                            "column": 67
                                                                          },
                                                                          "end": {
                                                                            "line": 134,
                                                                            "column": 72
                                                                          }
                                                                        }
                                                                      },
                                                                      "value": {
                                                                        "type": "Identifier",
                                                                        "name": "value",
                                                                        "range": [
                                                                          6151,
                                                                          6156
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 134,
                                                                            "column": 74
                                                                          },
                                                                          "end": {
                                                                            "line": 134,
                                                                            "column": 79
                                                                          }
                                                                        }
                                                                      },
                                                                      "kind": "init",
                                                                      "method": false,
                                                                      "shorthand": false,
                                                                      "computed": false,
                                                                      "range": [
                                                                        6144,
                                                                        6156
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 134,
                                                                          "column": 67
                                                                        },
                                                                        "end": {
                                                                          "line": 134,
                                                                          "column": 79
                                                                        }
                                                                      }
                                                                    },
                                                                    {
                                                                      "type": "Property",
                                                                      "key": {
                                                                        "type": "Identifier",
                                                                        "name": "subject",
                                                                        "range": [
                                                                          6158,
                                                                          6165
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 134,
                                                                            "column": 81
                                                                          },
                                                                          "end": {
                                                                            "line": 134,
                                                                            "column": 88
                                                                          }
                                                                        }
                                                                      },
                                                                      "value": {
                                                                        "type": "Identifier",
                                                                        "name": "subject",
                                                                        "range": [
                                                                          6167,
                                                                          6174
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 134,
                                                                            "column": 90
                                                                          },
                                                                          "end": {
                                                                            "line": 134,
                                                                            "column": 97
                                                                          }
                                                                        }
                                                                      },
                                                                      "kind": "init",
                                                                      "method": false,
                                                                      "shorthand": false,
                                                                      "computed": false,
                                                                      "range": [
                                                                        6158,
                                                                        6174
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 134,
                                                                          "column": 81
                                                                        },
                                                                        "end": {
                                                                          "line": 134,
                                                                          "column": 97
                                                                        }
                                                                      }
                                                                    }
                                                                  ],
                                                                  "range": [
                                                                    6142,
                                                                    6176
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 134,
                                                                      "column": 65
                                                                    },
                                                                    "end": {
                                                                      "line": 134,
                                                                      "column": 99
                                                                    }
                                                                  }
                                                                }
                                                              ],
                                                              "range": [
                                                                6106,
                                                                6177
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 134,
                                                                  "column": 29
                                                                },
                                                                "end": {
                                                                  "line": 134,
                                                                  "column": 100
                                                                }
                                                              }
                                                            }
                                                          ],
                                                          "range": [
                                                            6097,
                                                            6178
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 134,
                                                              "column": 20
                                                            },
                                                            "end": {
                                                              "line": 134,
                                                              "column": 101
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          6097,
                                                          6179
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 134,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 134,
                                                            "column": 102
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "range": [
                                                      5992,
                                                      6197
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 132,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 135,
                                                        "column": 17
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    5512,
                                                    6197
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 123,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 135,
                                                      "column": 17
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                5200,
                                                6211
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 116,
                                                  "column": 47
                                                },
                                                "end": {
                                                  "line": 136,
                                                  "column": 13
                                                }
                                              }
                                            },
                                            "generator": false,
                                            "expression": false,
                                            "range": [
                                              5179,
                                              6211
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 116,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 136,
                                                "column": 13
                                              }
                                            }
                                          },
                                          "range": [
                                            5169,
                                            6211
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 116,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 136,
                                              "column": 13
                                            }
                                          }
                                        }
                                      ],
                                      "kind": "var",
                                      "range": [
                                        5165,
                                        6212
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 116,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 136,
                                          "column": 14
                                        }
                                      },
                                      "trailingComments": [
                                        {
                                          "type": "Line",
                                          "value": " use named function to pass values in without closure",
                                          "range": [
                                            6225,
                                            6280
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 137,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 137,
                                              "column": 67
                                            }
                                          }
                                        }
                                      ]
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "operator": "=",
                                        "left": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "handler",
                                            "range": [
                                              6293,
                                              6300
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 138,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 138,
                                                "column": 19
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "source",
                                            "range": [
                                              6301,
                                              6307
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 138,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 138,
                                                "column": 26
                                              }
                                            }
                                          },
                                          "range": [
                                            6293,
                                            6307
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 138,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 138,
                                              "column": 26
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "Identifier",
                                          "name": "source",
                                          "range": [
                                            6310,
                                            6316
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 138,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 138,
                                              "column": 35
                                            }
                                          }
                                        },
                                        "range": [
                                          6293,
                                          6316
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 138,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 138,
                                            "column": 35
                                          }
                                        }
                                      },
                                      "range": [
                                        6293,
                                        6317
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 138,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 138,
                                          "column": 36
                                        }
                                      },
                                      "leadingComments": [
                                        {
                                          "type": "Line",
                                          "value": " use named function to pass values in without closure",
                                          "range": [
                                            6225,
                                            6280
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 137,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 137,
                                              "column": 67
                                            }
                                          }
                                        }
                                      ]
                                    },
                                    {
                                      "type": "VariableDeclaration",
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "id": {
                                            "type": "Identifier",
                                            "name": "result",
                                            "range": [
                                              6334,
                                              6340
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 139,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 139,
                                                "column": 22
                                              }
                                            }
                                          },
                                          "init": {
                                            "type": "CallExpression",
                                            "callee": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "CallExpression",
                                                "callee": {
                                                  "type": "Identifier",
                                                  "name": "tryCatch",
                                                  "range": [
                                                    6343,
                                                    6351
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 139,
                                                      "column": 25
                                                    },
                                                    "end": {
                                                      "line": 139,
                                                      "column": 33
                                                    }
                                                  }
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "name": "callbackFunc",
                                                    "range": [
                                                      6352,
                                                      6364
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 139,
                                                        "column": 34
                                                      },
                                                      "end": {
                                                        "line": 139,
                                                        "column": 46
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  6343,
                                                  6365
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 139,
                                                    "column": 25
                                                  },
                                                  "end": {
                                                    "line": 139,
                                                    "column": 47
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "apply",
                                                "range": [
                                                  6366,
                                                  6371
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 139,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 139,
                                                    "column": 53
                                                  }
                                                }
                                              },
                                              "range": [
                                                6343,
                                                6371
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 139,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 139,
                                                  "column": 53
                                                }
                                              }
                                            },
                                            "arguments": [
                                              {
                                                "type": "ThisExpression",
                                                "range": [
                                                  6372,
                                                  6376
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 139,
                                                    "column": 54
                                                  },
                                                  "end": {
                                                    "line": 139,
                                                    "column": 58
                                                  }
                                                }
                                              },
                                              {
                                                "type": "CallExpression",
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "args",
                                                    "range": [
                                                      6378,
                                                      6382
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 139,
                                                        "column": 60
                                                      },
                                                      "end": {
                                                        "line": 139,
                                                        "column": 64
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "concat",
                                                    "range": [
                                                      6383,
                                                      6389
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 139,
                                                        "column": 65
                                                      },
                                                      "end": {
                                                        "line": 139,
                                                        "column": 71
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    6378,
                                                    6389
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 139,
                                                      "column": 60
                                                    },
                                                    "end": {
                                                      "line": 139,
                                                      "column": 71
                                                    }
                                                  }
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "name": "handler",
                                                    "range": [
                                                      6390,
                                                      6397
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 139,
                                                        "column": 72
                                                      },
                                                      "end": {
                                                        "line": 139,
                                                        "column": 79
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  6378,
                                                  6398
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 139,
                                                    "column": 60
                                                  },
                                                  "end": {
                                                    "line": 139,
                                                    "column": 80
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              6343,
                                              6399
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 139,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 139,
                                                "column": 81
                                              }
                                            }
                                          },
                                          "range": [
                                            6334,
                                            6399
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 139,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 139,
                                              "column": 81
                                            }
                                          }
                                        }
                                      ],
                                      "kind": "var",
                                      "range": [
                                        6330,
                                        6400
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 139,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 139,
                                          "column": 82
                                        }
                                      }
                                    },
                                    {
                                      "type": "IfStatement",
                                      "test": {
                                        "type": "BinaryExpression",
                                        "operator": "===",
                                        "left": {
                                          "type": "Identifier",
                                          "name": "result",
                                          "range": [
                                            6417,
                                            6423
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 140,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 140,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "Identifier",
                                          "name": "errorObject",
                                          "range": [
                                            6428,
                                            6439
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 140,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 140,
                                              "column": 38
                                            }
                                          }
                                        },
                                        "range": [
                                          6417,
                                          6439
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 140,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 140,
                                            "column": 38
                                          }
                                        }
                                      },
                                      "consequent": {
                                        "type": "BlockStatement",
                                        "body": [
                                          {
                                            "type": "ExpressionStatement",
                                            "expression": {
                                              "type": "CallExpression",
                                              "callee": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "subject",
                                                  "range": [
                                                    6459,
                                                    6466
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 141,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 141,
                                                      "column": 23
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "error",
                                                  "range": [
                                                    6467,
                                                    6472
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 141,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 141,
                                                      "column": 29
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  6459,
                                                  6472
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 141,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 141,
                                                    "column": 29
                                                  }
                                                }
                                              },
                                              "arguments": [
                                                {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "errorObject",
                                                    "range": [
                                                      6473,
                                                      6484
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 141,
                                                        "column": 30
                                                      },
                                                      "end": {
                                                        "line": 141,
                                                        "column": 41
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "e",
                                                    "range": [
                                                      6485,
                                                      6486
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 141,
                                                        "column": 42
                                                      },
                                                      "end": {
                                                        "line": 141,
                                                        "column": 43
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    6473,
                                                    6486
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 141,
                                                      "column": 30
                                                    },
                                                    "end": {
                                                      "line": 141,
                                                      "column": 43
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                6459,
                                                6487
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 141,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 141,
                                                  "column": 44
                                                }
                                              }
                                            },
                                            "range": [
                                              6459,
                                              6488
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 141,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 141,
                                                "column": 45
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          6441,
                                          6502
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 140,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 142,
                                            "column": 13
                                          }
                                        }
                                      },
                                      "alternate": null,
                                      "range": [
                                        6413,
                                        6502
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 140,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 142,
                                          "column": 13
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    5092,
                                    6512
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 114,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 143,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  5078,
                                  6512
                                ],
                                "loc": {
                                  "start": {
                                    "line": 114,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 143,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "self",
                                      "range": [
                                        6521,
                                        6525
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 144,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 144,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "add",
                                      "range": [
                                        6526,
                                        6529
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 144,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 144,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "range": [
                                      6521,
                                      6529
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 144,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 144,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "subject",
                                          "range": [
                                            6530,
                                            6537
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 144,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 144,
                                              "column": 24
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "subscribe",
                                          "range": [
                                            6538,
                                            6547
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 144,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 144,
                                              "column": 34
                                            }
                                          }
                                        },
                                        "range": [
                                          6530,
                                          6547
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 144,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 144,
                                            "column": 34
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "subscriber",
                                          "range": [
                                            6548,
                                            6558
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 144,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 144,
                                              "column": 45
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        6530,
                                        6559
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 144,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 144,
                                          "column": 46
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    6521,
                                    6560
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 144,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 144,
                                      "column": 47
                                    }
                                  }
                                },
                                "range": [
                                  6521,
                                  6561
                                ],
                                "loc": {
                                  "start": {
                                    "line": 144,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 144,
                                    "column": 48
                                  }
                                }
                              }
                            ],
                            "range": [
                              4841,
                              6567
                            ],
                            "loc": {
                              "start": {
                                "line": 109,
                                "column": 56
                              },
                              "end": {
                                "line": 145,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            4824,
                            6567
                          ],
                          "loc": {
                            "start": {
                              "line": 109,
                              "column": 39
                            },
                            "end": {
                              "line": 145,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          4789,
                          6567
                        ],
                        "loc": {
                          "start": {
                            "line": 109,
                            "column": 4
                          },
                          "end": {
                            "line": 145,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        4789,
                        6568
                      ],
                      "loc": {
                        "start": {
                          "line": 109,
                          "column": 4
                        },
                        "end": {
                          "line": 145,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "argument": {
                        "type": "Identifier",
                        "name": "BoundCallbackObservable",
                        "range": [
                          6580,
                          6603
                        ],
                        "loc": {
                          "start": {
                            "line": 146,
                            "column": 11
                          },
                          "end": {
                            "line": 146,
                            "column": 34
                          }
                        }
                      },
                      "range": [
                        6573,
                        6604
                      ],
                      "loc": {
                        "start": {
                          "line": 146,
                          "column": 4
                        },
                        "end": {
                          "line": 146,
                          "column": 35
                        }
                      }
                    }
                  ],
                  "range": [
                    339,
                    6606
                  ],
                  "loc": {
                    "start": {
                      "line": 10,
                      "column": 56
                    },
                    "end": {
                      "line": 147,
                      "column": 1
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  321,
                  6606
                ],
                "loc": {
                  "start": {
                    "line": 10,
                    "column": 38
                  },
                  "end": {
                    "line": 147,
                    "column": 1
                  }
                }
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "name": "Observable",
                  "range": [
                    6607,
                    6617
                  ],
                  "loc": {
                    "start": {
                      "line": 147,
                      "column": 2
                    },
                    "end": {
                      "line": 147,
                      "column": 12
                    }
                  }
                }
              ],
              "range": [
                321,
                6618
              ],
              "loc": {
                "start": {
                  "line": 10,
                  "column": 38
                },
                "end": {
                  "line": 147,
                  "column": 13
                }
              }
            },
            "range": [
              294,
              6619
            ],
            "loc": {
              "start": {
                "line": 10,
                "column": 11
              },
              "end": {
                "line": 147,
                "column": 14
              }
            }
          }
        ],
        "kind": "var",
        "range": [
          290,
          6620
        ],
        "loc": {
          "start": {
            "line": 10,
            "column": 7
          },
          "end": {
            "line": 147,
            "column": 15
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n ",
            "range": [
              188,
              282
            ],
            "loc": {
              "start": {
                "line": 5,
                "column": 0
              },
              "end": {
                "line": 9,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "range": [
        283,
        6620
      ],
      "loc": {
        "start": {
          "line": 10,
          "column": 0
        },
        "end": {
          "line": 147,
          "column": 15
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n ",
          "range": [
            188,
            282
          ],
          "loc": {
            "start": {
              "line": 5,
              "column": 0
            },
            "end": {
              "line": 9,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "FunctionDeclaration",
      "id": {
        "type": "Identifier",
        "name": "dispatchNext",
        "range": [
          6630,
          6642
        ],
        "loc": {
          "start": {
            "line": 148,
            "column": 9
          },
          "end": {
            "line": 148,
            "column": 21
          }
        }
      },
      "params": [
        {
          "type": "Identifier",
          "name": "arg",
          "range": [
            6643,
            6646
          ],
          "loc": {
            "start": {
              "line": 148,
              "column": 22
            },
            "end": {
              "line": 148,
              "column": 25
            }
          }
        }
      ],
      "body": {
        "type": "BlockStatement",
        "body": [
          {
            "type": "VariableDeclaration",
            "declarations": [
              {
                "type": "VariableDeclarator",
                "id": {
                  "type": "Identifier",
                  "name": "value",
                  "range": [
                    6658,
                    6663
                  ],
                  "loc": {
                    "start": {
                      "line": 149,
                      "column": 8
                    },
                    "end": {
                      "line": 149,
                      "column": 13
                    }
                  }
                },
                "init": {
                  "type": "MemberExpression",
                  "computed": false,
                  "object": {
                    "type": "Identifier",
                    "name": "arg",
                    "range": [
                      6666,
                      6669
                    ],
                    "loc": {
                      "start": {
                        "line": 149,
                        "column": 16
                      },
                      "end": {
                        "line": 149,
                        "column": 19
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "name": "value",
                    "range": [
                      6670,
                      6675
                    ],
                    "loc": {
                      "start": {
                        "line": 149,
                        "column": 20
                      },
                      "end": {
                        "line": 149,
                        "column": 25
                      }
                    }
                  },
                  "range": [
                    6666,
                    6675
                  ],
                  "loc": {
                    "start": {
                      "line": 149,
                      "column": 16
                    },
                    "end": {
                      "line": 149,
                      "column": 25
                    }
                  }
                },
                "range": [
                  6658,
                  6675
                ],
                "loc": {
                  "start": {
                    "line": 149,
                    "column": 8
                  },
                  "end": {
                    "line": 149,
                    "column": 25
                  }
                }
              },
              {
                "type": "VariableDeclarator",
                "id": {
                  "type": "Identifier",
                  "name": "subject",
                  "range": [
                    6677,
                    6684
                  ],
                  "loc": {
                    "start": {
                      "line": 149,
                      "column": 27
                    },
                    "end": {
                      "line": 149,
                      "column": 34
                    }
                  }
                },
                "init": {
                  "type": "MemberExpression",
                  "computed": false,
                  "object": {
                    "type": "Identifier",
                    "name": "arg",
                    "range": [
                      6687,
                      6690
                    ],
                    "loc": {
                      "start": {
                        "line": 149,
                        "column": 37
                      },
                      "end": {
                        "line": 149,
                        "column": 40
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "name": "subject",
                    "range": [
                      6691,
                      6698
                    ],
                    "loc": {
                      "start": {
                        "line": 149,
                        "column": 41
                      },
                      "end": {
                        "line": 149,
                        "column": 48
                      }
                    }
                  },
                  "range": [
                    6687,
                    6698
                  ],
                  "loc": {
                    "start": {
                      "line": 149,
                      "column": 37
                    },
                    "end": {
                      "line": 149,
                      "column": 48
                    }
                  }
                },
                "range": [
                  6677,
                  6698
                ],
                "loc": {
                  "start": {
                    "line": 149,
                    "column": 27
                  },
                  "end": {
                    "line": 149,
                    "column": 48
                  }
                }
              }
            ],
            "kind": "var",
            "range": [
              6654,
              6699
            ],
            "loc": {
              "start": {
                "line": 149,
                "column": 4
              },
              "end": {
                "line": 149,
                "column": 49
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "expression": {
              "type": "CallExpression",
              "callee": {
                "type": "MemberExpression",
                "computed": false,
                "object": {
                  "type": "Identifier",
                  "name": "subject",
                  "range": [
                    6704,
                    6711
                  ],
                  "loc": {
                    "start": {
                      "line": 150,
                      "column": 4
                    },
                    "end": {
                      "line": 150,
                      "column": 11
                    }
                  }
                },
                "property": {
                  "type": "Identifier",
                  "name": "next",
                  "range": [
                    6712,
                    6716
                  ],
                  "loc": {
                    "start": {
                      "line": 150,
                      "column": 12
                    },
                    "end": {
                      "line": 150,
                      "column": 16
                    }
                  }
                },
                "range": [
                  6704,
                  6716
                ],
                "loc": {
                  "start": {
                    "line": 150,
                    "column": 4
                  },
                  "end": {
                    "line": 150,
                    "column": 16
                  }
                }
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "name": "value",
                  "range": [
                    6717,
                    6722
                  ],
                  "loc": {
                    "start": {
                      "line": 150,
                      "column": 17
                    },
                    "end": {
                      "line": 150,
                      "column": 22
                    }
                  }
                }
              ],
              "range": [
                6704,
                6723
              ],
              "loc": {
                "start": {
                  "line": 150,
                  "column": 4
                },
                "end": {
                  "line": 150,
                  "column": 23
                }
              }
            },
            "range": [
              6704,
              6724
            ],
            "loc": {
              "start": {
                "line": 150,
                "column": 4
              },
              "end": {
                "line": 150,
                "column": 24
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "expression": {
              "type": "CallExpression",
              "callee": {
                "type": "MemberExpression",
                "computed": false,
                "object": {
                  "type": "Identifier",
                  "name": "subject",
                  "range": [
                    6729,
                    6736
                  ],
                  "loc": {
                    "start": {
                      "line": 151,
                      "column": 4
                    },
                    "end": {
                      "line": 151,
                      "column": 11
                    }
                  }
                },
                "property": {
                  "type": "Identifier",
                  "name": "complete",
                  "range": [
                    6737,
                    6745
                  ],
                  "loc": {
                    "start": {
                      "line": 151,
                      "column": 12
                    },
                    "end": {
                      "line": 151,
                      "column": 20
                    }
                  }
                },
                "range": [
                  6729,
                  6745
                ],
                "loc": {
                  "start": {
                    "line": 151,
                    "column": 4
                  },
                  "end": {
                    "line": 151,
                    "column": 20
                  }
                }
              },
              "arguments": [],
              "range": [
                6729,
                6747
              ],
              "loc": {
                "start": {
                  "line": 151,
                  "column": 4
                },
                "end": {
                  "line": 151,
                  "column": 22
                }
              }
            },
            "range": [
              6729,
              6748
            ],
            "loc": {
              "start": {
                "line": 151,
                "column": 4
              },
              "end": {
                "line": 151,
                "column": 23
              }
            }
          }
        ],
        "range": [
          6648,
          6750
        ],
        "loc": {
          "start": {
            "line": 148,
            "column": 27
          },
          "end": {
            "line": 152,
            "column": 1
          }
        }
      },
      "generator": false,
      "expression": false,
      "range": [
        6621,
        6750
      ],
      "loc": {
        "start": {
          "line": 148,
          "column": 0
        },
        "end": {
          "line": 152,
          "column": 1
        }
      }
    },
    {
      "type": "FunctionDeclaration",
      "id": {
        "type": "Identifier",
        "name": "dispatchError",
        "range": [
          6760,
          6773
        ],
        "loc": {
          "start": {
            "line": 153,
            "column": 9
          },
          "end": {
            "line": 153,
            "column": 22
          }
        }
      },
      "params": [
        {
          "type": "Identifier",
          "name": "arg",
          "range": [
            6774,
            6777
          ],
          "loc": {
            "start": {
              "line": 153,
              "column": 23
            },
            "end": {
              "line": 153,
              "column": 26
            }
          }
        }
      ],
      "body": {
        "type": "BlockStatement",
        "body": [
          {
            "type": "VariableDeclaration",
            "declarations": [
              {
                "type": "VariableDeclarator",
                "id": {
                  "type": "Identifier",
                  "name": "err",
                  "range": [
                    6789,
                    6792
                  ],
                  "loc": {
                    "start": {
                      "line": 154,
                      "column": 8
                    },
                    "end": {
                      "line": 154,
                      "column": 11
                    }
                  }
                },
                "init": {
                  "type": "MemberExpression",
                  "computed": false,
                  "object": {
                    "type": "Identifier",
                    "name": "arg",
                    "range": [
                      6795,
                      6798
                    ],
                    "loc": {
                      "start": {
                        "line": 154,
                        "column": 14
                      },
                      "end": {
                        "line": 154,
                        "column": 17
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "name": "err",
                    "range": [
                      6799,
                      6802
                    ],
                    "loc": {
                      "start": {
                        "line": 154,
                        "column": 18
                      },
                      "end": {
                        "line": 154,
                        "column": 21
                      }
                    }
                  },
                  "range": [
                    6795,
                    6802
                  ],
                  "loc": {
                    "start": {
                      "line": 154,
                      "column": 14
                    },
                    "end": {
                      "line": 154,
                      "column": 21
                    }
                  }
                },
                "range": [
                  6789,
                  6802
                ],
                "loc": {
                  "start": {
                    "line": 154,
                    "column": 8
                  },
                  "end": {
                    "line": 154,
                    "column": 21
                  }
                }
              },
              {
                "type": "VariableDeclarator",
                "id": {
                  "type": "Identifier",
                  "name": "subject",
                  "range": [
                    6804,
                    6811
                  ],
                  "loc": {
                    "start": {
                      "line": 154,
                      "column": 23
                    },
                    "end": {
                      "line": 154,
                      "column": 30
                    }
                  }
                },
                "init": {
                  "type": "MemberExpression",
                  "computed": false,
                  "object": {
                    "type": "Identifier",
                    "name": "arg",
                    "range": [
                      6814,
                      6817
                    ],
                    "loc": {
                      "start": {
                        "line": 154,
                        "column": 33
                      },
                      "end": {
                        "line": 154,
                        "column": 36
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "name": "subject",
                    "range": [
                      6818,
                      6825
                    ],
                    "loc": {
                      "start": {
                        "line": 154,
                        "column": 37
                      },
                      "end": {
                        "line": 154,
                        "column": 44
                      }
                    }
                  },
                  "range": [
                    6814,
                    6825
                  ],
                  "loc": {
                    "start": {
                      "line": 154,
                      "column": 33
                    },
                    "end": {
                      "line": 154,
                      "column": 44
                    }
                  }
                },
                "range": [
                  6804,
                  6825
                ],
                "loc": {
                  "start": {
                    "line": 154,
                    "column": 23
                  },
                  "end": {
                    "line": 154,
                    "column": 44
                  }
                }
              }
            ],
            "kind": "var",
            "range": [
              6785,
              6826
            ],
            "loc": {
              "start": {
                "line": 154,
                "column": 4
              },
              "end": {
                "line": 154,
                "column": 45
              }
            }
          },
          {
            "type": "ExpressionStatement",
            "expression": {
              "type": "CallExpression",
              "callee": {
                "type": "MemberExpression",
                "computed": false,
                "object": {
                  "type": "Identifier",
                  "name": "subject",
                  "range": [
                    6831,
                    6838
                  ],
                  "loc": {
                    "start": {
                      "line": 155,
                      "column": 4
                    },
                    "end": {
                      "line": 155,
                      "column": 11
                    }
                  }
                },
                "property": {
                  "type": "Identifier",
                  "name": "error",
                  "range": [
                    6839,
                    6844
                  ],
                  "loc": {
                    "start": {
                      "line": 155,
                      "column": 12
                    },
                    "end": {
                      "line": 155,
                      "column": 17
                    }
                  }
                },
                "range": [
                  6831,
                  6844
                ],
                "loc": {
                  "start": {
                    "line": 155,
                    "column": 4
                  },
                  "end": {
                    "line": 155,
                    "column": 17
                  }
                }
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "name": "err",
                  "range": [
                    6845,
                    6848
                  ],
                  "loc": {
                    "start": {
                      "line": 155,
                      "column": 18
                    },
                    "end": {
                      "line": 155,
                      "column": 21
                    }
                  }
                }
              ],
              "range": [
                6831,
                6849
              ],
              "loc": {
                "start": {
                  "line": 155,
                  "column": 4
                },
                "end": {
                  "line": 155,
                  "column": 22
                }
              }
            },
            "range": [
              6831,
              6850
            ],
            "loc": {
              "start": {
                "line": 155,
                "column": 4
              },
              "end": {
                "line": 155,
                "column": 23
              }
            }
          }
        ],
        "range": [
          6779,
          6852
        ],
        "loc": {
          "start": {
            "line": 153,
            "column": 28
          },
          "end": {
            "line": 156,
            "column": 1
          }
        }
      },
      "generator": false,
      "expression": false,
      "range": [
        6751,
        6852
      ],
      "loc": {
        "start": {
          "line": 153,
          "column": 0
        },
        "end": {
          "line": 156,
          "column": 1
        }
      },
      "trailingComments": [
        {
          "type": "Line",
          "value": "# sourceMappingURL=BoundCallbackObservable.js.map",
          "range": [
            6853,
            6904
          ],
          "loc": {
            "start": {
              "line": 157,
              "column": 0
            },
            "end": {
              "line": 157,
              "column": 51
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    6852
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 156,
      "column": 1
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n ",
      "range": [
        188,
        282
      ],
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": " tslint:enable:max-line-length ",
      "range": [
        644,
        679
      ],
      "loc": {
        "start": {
          "line": 19,
          "column": 4
        },
        "end": {
          "line": 19,
          "column": 39
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * Converts a callback API to a function that returns an Observable.\n     *\n     * <span class=\"informal\">Give it a function `f` of type `f(x, callback)` and\n     * it will return a function `g` that when called as `g(x)` will output an\n     * Observable.</span>\n     *\n     * `bindCallback` is not an operator because its input and output are not\n     * Observables. The input is a function `func` with some parameters, but the\n     * last parameter must be a callback function that `func` calls when it is\n     * done. The output of `bindCallback` is a function that takes the same\n     * parameters as `func`, except the last one (the callback). When the output\n     * function is called with arguments, it will return an Observable where the\n     * results will be delivered to.\n     *\n     * @example <caption>Convert jQuery's getJSON to an Observable API</caption>\n     * // Suppose we have jQuery.getJSON('/my/url', callback)\n     * var getJSONAsObservable = Rx.Observable.bindCallback(jQuery.getJSON);\n     * var result = getJSONAsObservable('/my/url');\n     * result.subscribe(x => console.log(x), e => console.error(e));\n     *\n     * @see {@link bindNodeCallback}\n     * @see {@link from}\n     * @see {@link fromPromise}\n     *\n     * @param {function} func Function with a callback as the last parameter.\n     * @param {function} [selector] A function which takes the arguments from the\n     * callback and maps those a value to emit on the output Observable.\n     * @param {Scheduler} [scheduler] The scheduler on which to schedule the\n     * callbacks.\n     * @return {function(...params: *): Observable} A function which returns the\n     * Observable that delivers the same values the callback would deliver.\n     * @static true\n     * @name bindCallback\n     * @owner Observable\n     ",
      "range": [
        684,
        2494
      ],
      "loc": {
        "start": {
          "line": 20,
          "column": 4
        },
        "end": {
          "line": 55,
          "column": 7
        }
      }
    },
    {
      "type": "Line",
      "value": " use named function instance to avoid closure.",
      "range": [
        4272,
        4320
      ],
      "loc": {
        "start": {
          "line": 96,
          "column": 16
        },
        "end": {
          "line": 96,
          "column": 64
        }
      }
    },
    {
      "type": "Line",
      "value": " use named function to pass values in without closure",
      "range": [
        6225,
        6280
      ],
      "loc": {
        "start": {
          "line": 137,
          "column": 12
        },
        "end": {
          "line": 137,
          "column": 67
        }
      }
    },
    {
      "type": "Line",
      "value": "# sourceMappingURL=BoundCallbackObservable.js.map",
      "range": [
        6853,
        6904
      ],
      "loc": {
        "start": {
          "line": 157,
          "column": 0
        },
        "end": {
          "line": 157,
          "column": 51
        }
      }
    }
  ]
}