{
  "type": "Program",
  "body": [
    {
      "type": "ExportDefaultDeclaration",
      "declaration": {
        "type": "ObjectExpression",
        "properties": [
          {
            "type": "Property",
            "key": {
              "type": "Identifier",
              "name": "add",
              "range": [
                58,
                61
              ],
              "loc": {
                "start": {
                  "line": 6,
                  "column": 4
                },
                "end": {
                  "line": 6,
                  "column": 7
                }
              }
            },
            "value": {
              "type": "FunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "obj",
                  "range": [
                    62,
                    65
                  ],
                  "loc": {
                    "start": {
                      "line": 6,
                      "column": 8
                    },
                    "end": {
                      "line": 6,
                      "column": 11
                    }
                  }
                },
                {
                  "type": "Identifier",
                  "name": "type",
                  "range": [
                    67,
                    71
                  ],
                  "loc": {
                    "start": {
                      "line": 6,
                      "column": 13
                    },
                    "end": {
                      "line": 6,
                      "column": 17
                    }
                  }
                },
                {
                  "type": "Identifier",
                  "name": "func",
                  "range": [
                    73,
                    77
                  ],
                  "loc": {
                    "start": {
                      "line": 6,
                      "column": 19
                    },
                    "end": {
                      "line": 6,
                      "column": 23
                    }
                  }
                },
                {
                  "type": "Identifier",
                  "name": "capture",
                  "range": [
                    79,
                    86
                  ],
                  "loc": {
                    "start": {
                      "line": 6,
                      "column": 25
                    },
                    "end": {
                      "line": 6,
                      "column": 32
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "IfStatement",
                    "test": {
                      "type": "MemberExpression",
                      "computed": false,
                      "object": {
                        "type": "Identifier",
                        "name": "obj",
                        "range": [
                          101,
                          104
                        ],
                        "loc": {
                          "start": {
                            "line": 7,
                            "column": 11
                          },
                          "end": {
                            "line": 7,
                            "column": 14
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "name": "addEventListener",
                        "range": [
                          105,
                          121
                        ],
                        "loc": {
                          "start": {
                            "line": 7,
                            "column": 15
                          },
                          "end": {
                            "line": 7,
                            "column": 31
                          }
                        }
                      },
                      "range": [
                        101,
                        121
                      ],
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 11
                        },
                        "end": {
                          "line": 7,
                          "column": 31
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "obj",
                                "range": [
                                  137,
                                  140
                                ],
                                "loc": {
                                  "start": {
                                    "line": 8,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 8,
                                    "column": 15
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "addEventListener",
                                "range": [
                                  141,
                                  157
                                ],
                                "loc": {
                                  "start": {
                                    "line": 8,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 8,
                                    "column": 32
                                  }
                                }
                              },
                              "range": [
                                137,
                                157
                              ],
                              "loc": {
                                "start": {
                                  "line": 8,
                                  "column": 12
                                },
                                "end": {
                                  "line": 8,
                                  "column": 32
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "name": "type",
                                "range": [
                                  158,
                                  162
                                ],
                                "loc": {
                                  "start": {
                                    "line": 8,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 8,
                                    "column": 37
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "name": "func",
                                "range": [
                                  164,
                                  168
                                ],
                                "loc": {
                                  "start": {
                                    "line": 8,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 8,
                                    "column": 43
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "name": "capture",
                                "range": [
                                  170,
                                  177
                                ],
                                "loc": {
                                  "start": {
                                    "line": 8,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 8,
                                    "column": 52
                                  }
                                }
                              }
                            ],
                            "range": [
                              137,
                              178
                            ],
                            "loc": {
                              "start": {
                                "line": 8,
                                "column": 12
                              },
                              "end": {
                                "line": 8,
                                "column": 53
                              }
                            }
                          },
                          "range": [
                            137,
                            179
                          ],
                          "loc": {
                            "start": {
                              "line": 8,
                              "column": 12
                            },
                            "end": {
                              "line": 8,
                              "column": 54
                            }
                          }
                        }
                      ],
                      "range": [
                        122,
                        190
                      ],
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 32
                        },
                        "end": {
                          "line": 9,
                          "column": 9
                        }
                      }
                    },
                    "alternate": {
                      "type": "IfStatement",
                      "test": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "obj",
                          "range": [
                            208,
                            211
                          ],
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 16
                            },
                            "end": {
                              "line": 10,
                              "column": 19
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "attachEvent",
                          "range": [
                            212,
                            223
                          ],
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 20
                            },
                            "end": {
                              "line": 10,
                              "column": 31
                            }
                          }
                        },
                        "range": [
                          208,
                          223
                        ],
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 16
                          },
                          "end": {
                            "line": 10,
                            "column": 31
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "obj",
                                  "range": [
                                    239,
                                    242
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 11,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 11,
                                      "column": 15
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "attachEvent",
                                  "range": [
                                    243,
                                    254
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 11,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 11,
                                      "column": 27
                                    }
                                  }
                                },
                                "range": [
                                  239,
                                  254
                                ],
                                "loc": {
                                  "start": {
                                    "line": 11,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 11,
                                    "column": 27
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "BinaryExpression",
                                  "operator": "+",
                                  "left": {
                                    "type": "Literal",
                                    "value": "on",
                                    "raw": "'on'",
                                    "range": [
                                      255,
                                      259
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 11,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 11,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Identifier",
                                    "name": "type",
                                    "range": [
                                      260,
                                      264
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 11,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 11,
                                        "column": 37
                                      }
                                    }
                                  },
                                  "range": [
                                    255,
                                    264
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 11,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 11,
                                      "column": 37
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "func",
                                  "range": [
                                    266,
                                    270
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 11,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 11,
                                      "column": 43
                                    }
                                  }
                                }
                              ],
                              "range": [
                                239,
                                271
                              ],
                              "loc": {
                                "start": {
                                  "line": 11,
                                  "column": 12
                                },
                                "end": {
                                  "line": 11,
                                  "column": 44
                                }
                              }
                            },
                            "range": [
                              239,
                              272
                            ],
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 12
                              },
                              "end": {
                                "line": 11,
                                "column": 45
                              }
                            }
                          }
                        ],
                        "range": [
                          224,
                          283
                        ],
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 32
                          },
                          "end": {
                            "line": 12,
                            "column": 9
                          }
                        }
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": true,
                                "object": {
                                  "type": "Identifier",
                                  "name": "obj",
                                  "range": [
                                    304,
                                    307
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 13,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 13,
                                      "column": 15
                                    }
                                  }
                                },
                                "property": {
                                  "type": "BinaryExpression",
                                  "operator": "+",
                                  "left": {
                                    "type": "Literal",
                                    "value": "on",
                                    "raw": "'on'",
                                    "range": [
                                      308,
                                      312
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 13,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 13,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Identifier",
                                    "name": "type",
                                    "range": [
                                      313,
                                      317
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 13,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 13,
                                        "column": 25
                                      }
                                    }
                                  },
                                  "range": [
                                    308,
                                    317
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 13,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 13,
                                      "column": 25
                                    }
                                  }
                                },
                                "range": [
                                  304,
                                  318
                                ],
                                "loc": {
                                  "start": {
                                    "line": 13,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 13,
                                    "column": 26
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "func",
                                "range": [
                                  321,
                                  325
                                ],
                                "loc": {
                                  "start": {
                                    "line": 13,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 13,
                                    "column": 33
                                  }
                                }
                              },
                              "range": [
                                304,
                                325
                              ],
                              "loc": {
                                "start": {
                                  "line": 13,
                                  "column": 12
                                },
                                "end": {
                                  "line": 13,
                                  "column": 33
                                }
                              }
                            },
                            "range": [
                              304,
                              326
                            ],
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 12
                              },
                              "end": {
                                "line": 13,
                                "column": 34
                              }
                            }
                          }
                        ],
                        "range": [
                          289,
                          337
                        ],
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 15
                          },
                          "end": {
                            "line": 14,
                            "column": 9
                          }
                        }
                      },
                      "range": [
                        205,
                        337
                      ],
                      "loc": {
                        "start": {
                          "line": 10,
                          "column": 13
                        },
                        "end": {
                          "line": 14,
                          "column": 9
                        }
                      }
                    },
                    "range": [
                      98,
                      337
                    ],
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 8
                      },
                      "end": {
                        "line": 14,
                        "column": 9
                      }
                    }
                  }
                ],
                "range": [
                  87,
                  344
                ],
                "loc": {
                  "start": {
                    "line": 6,
                    "column": 33
                  },
                  "end": {
                    "line": 15,
                    "column": 5
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                61,
                344
              ],
              "loc": {
                "start": {
                  "line": 6,
                  "column": 7
                },
                "end": {
                  "line": 15,
                  "column": 5
                }
              }
            },
            "kind": "init",
            "method": true,
            "shorthand": false,
            "computed": false,
            "range": [
              58,
              344
            ],
            "loc": {
              "start": {
                "line": 6,
                "column": 4
              },
              "end": {
                "line": 15,
                "column": 5
              }
            }
          },
          {
            "type": "Property",
            "key": {
              "type": "Identifier",
              "name": "remove",
              "range": [
                351,
                357
              ],
              "loc": {
                "start": {
                  "line": 16,
                  "column": 4
                },
                "end": {
                  "line": 16,
                  "column": 10
                }
              }
            },
            "value": {
              "type": "FunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "obj",
                  "range": [
                    358,
                    361
                  ],
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 11
                    },
                    "end": {
                      "line": 16,
                      "column": 14
                    }
                  }
                },
                {
                  "type": "Identifier",
                  "name": "type",
                  "range": [
                    363,
                    367
                  ],
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 16
                    },
                    "end": {
                      "line": 16,
                      "column": 20
                    }
                  }
                },
                {
                  "type": "Identifier",
                  "name": "func",
                  "range": [
                    369,
                    373
                  ],
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 22
                    },
                    "end": {
                      "line": 16,
                      "column": 26
                    }
                  }
                },
                {
                  "type": "Identifier",
                  "name": "capture",
                  "range": [
                    375,
                    382
                  ],
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 28
                    },
                    "end": {
                      "line": 16,
                      "column": 35
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "IfStatement",
                    "test": {
                      "type": "MemberExpression",
                      "computed": false,
                      "object": {
                        "type": "Identifier",
                        "name": "obj",
                        "range": [
                          397,
                          400
                        ],
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 11
                          },
                          "end": {
                            "line": 17,
                            "column": 14
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "name": "detachEvent",
                        "range": [
                          401,
                          412
                        ],
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 15
                          },
                          "end": {
                            "line": 17,
                            "column": 26
                          }
                        }
                      },
                      "range": [
                        397,
                        412
                      ],
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 11
                        },
                        "end": {
                          "line": 17,
                          "column": 26
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "obj",
                                "range": [
                                  428,
                                  431
                                ],
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 15
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "detachEvent",
                                "range": [
                                  432,
                                  443
                                ],
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 27
                                  }
                                }
                              },
                              "range": [
                                428,
                                443
                              ],
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 12
                                },
                                "end": {
                                  "line": 18,
                                  "column": 27
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "BinaryExpression",
                                "operator": "+",
                                "left": {
                                  "type": "Literal",
                                  "value": "on",
                                  "raw": "'on'",
                                  "range": [
                                    444,
                                    448
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 18,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 18,
                                      "column": 32
                                    }
                                  }
                                },
                                "right": {
                                  "type": "Identifier",
                                  "name": "type",
                                  "range": [
                                    449,
                                    453
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 18,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 18,
                                      "column": 37
                                    }
                                  }
                                },
                                "range": [
                                  444,
                                  453
                                ],
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 37
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "name": "func",
                                "range": [
                                  454,
                                  458
                                ],
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 42
                                  }
                                }
                              }
                            ],
                            "range": [
                              428,
                              459
                            ],
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 12
                              },
                              "end": {
                                "line": 18,
                                "column": 43
                              }
                            }
                          },
                          "range": [
                            428,
                            460
                          ],
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 12
                            },
                            "end": {
                              "line": 18,
                              "column": 44
                            }
                          }
                        }
                      ],
                      "range": [
                        413,
                        471
                      ],
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 27
                        },
                        "end": {
                          "line": 19,
                          "column": 9
                        }
                      }
                    },
                    "alternate": {
                      "type": "IfStatement",
                      "test": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "obj",
                          "range": [
                            489,
                            492
                          ],
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 16
                            },
                            "end": {
                              "line": 20,
                              "column": 19
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "removeEventListener",
                          "range": [
                            493,
                            512
                          ],
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 20
                            },
                            "end": {
                              "line": 20,
                              "column": 39
                            }
                          }
                        },
                        "range": [
                          489,
                          512
                        ],
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 16
                          },
                          "end": {
                            "line": 20,
                            "column": 39
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "obj",
                                  "range": [
                                    528,
                                    531
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 21,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 21,
                                      "column": 15
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "removeEventListener",
                                  "range": [
                                    532,
                                    551
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 21,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 21,
                                      "column": 35
                                    }
                                  }
                                },
                                "range": [
                                  528,
                                  551
                                ],
                                "loc": {
                                  "start": {
                                    "line": 21,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 21,
                                    "column": 35
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "name": "type",
                                  "range": [
                                    552,
                                    556
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 21,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 21,
                                      "column": 40
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "func",
                                  "range": [
                                    558,
                                    562
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 21,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 21,
                                      "column": 46
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "capture",
                                  "range": [
                                    564,
                                    571
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 21,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 21,
                                      "column": 55
                                    }
                                  }
                                }
                              ],
                              "range": [
                                528,
                                572
                              ],
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 12
                                },
                                "end": {
                                  "line": 21,
                                  "column": 56
                                }
                              }
                            },
                            "range": [
                              528,
                              573
                            ],
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 12
                              },
                              "end": {
                                "line": 21,
                                "column": 57
                              }
                            }
                          }
                        ],
                        "range": [
                          513,
                          584
                        ],
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 40
                          },
                          "end": {
                            "line": 22,
                            "column": 9
                          }
                        }
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": true,
                                "object": {
                                  "type": "Identifier",
                                  "name": "obj",
                                  "range": [
                                    605,
                                    608
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 23,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 23,
                                      "column": 15
                                    }
                                  }
                                },
                                "property": {
                                  "type": "BinaryExpression",
                                  "operator": "+",
                                  "left": {
                                    "type": "Literal",
                                    "value": "on",
                                    "raw": "'on'",
                                    "range": [
                                      609,
                                      613
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 23,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 23,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Identifier",
                                    "name": "type",
                                    "range": [
                                      614,
                                      618
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 23,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 23,
                                        "column": 25
                                      }
                                    }
                                  },
                                  "range": [
                                    609,
                                    618
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 23,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 23,
                                      "column": 25
                                    }
                                  }
                                },
                                "range": [
                                  605,
                                  619
                                ],
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 23,
                                    "column": 26
                                  }
                                }
                              },
                              "right": {
                                "type": "Literal",
                                "value": null,
                                "raw": "null",
                                "range": [
                                  622,
                                  626
                                ],
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 23,
                                    "column": 33
                                  }
                                }
                              },
                              "range": [
                                605,
                                626
                              ],
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 12
                                },
                                "end": {
                                  "line": 23,
                                  "column": 33
                                }
                              }
                            },
                            "range": [
                              605,
                              627
                            ],
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 12
                              },
                              "end": {
                                "line": 23,
                                "column": 34
                              }
                            }
                          }
                        ],
                        "range": [
                          590,
                          638
                        ],
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 15
                          },
                          "end": {
                            "line": 24,
                            "column": 9
                          }
                        }
                      },
                      "range": [
                        486,
                        638
                      ],
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 13
                        },
                        "end": {
                          "line": 24,
                          "column": 9
                        }
                      }
                    },
                    "range": [
                      394,
                      638
                    ],
                    "loc": {
                      "start": {
                        "line": 17,
                        "column": 8
                      },
                      "end": {
                        "line": 24,
                        "column": 9
                      }
                    }
                  }
                ],
                "range": [
                  383,
                  645
                ],
                "loc": {
                  "start": {
                    "line": 16,
                    "column": 36
                  },
                  "end": {
                    "line": 25,
                    "column": 5
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                357,
                645
              ],
              "loc": {
                "start": {
                  "line": 16,
                  "column": 10
                },
                "end": {
                  "line": 25,
                  "column": 5
                }
              }
            },
            "kind": "init",
            "method": true,
            "shorthand": false,
            "computed": false,
            "range": [
              351,
              645
            ],
            "loc": {
              "start": {
                "line": 16,
                "column": 4
              },
              "end": {
                "line": 25,
                "column": 5
              }
            }
          },
          {
            "type": "Property",
            "key": {
              "type": "Identifier",
              "name": "stop",
              "range": [
                652,
                656
              ],
              "loc": {
                "start": {
                  "line": 26,
                  "column": 4
                },
                "end": {
                  "line": 26,
                  "column": 8
                }
              }
            },
            "value": {
              "type": "FunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "evt",
                  "range": [
                    657,
                    660
                  ],
                  "loc": {
                    "start": {
                      "line": 26,
                      "column": 9
                    },
                    "end": {
                      "line": 26,
                      "column": 12
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "IfStatement",
                    "test": {
                      "type": "UnaryExpression",
                      "operator": "!",
                      "argument": {
                        "type": "Identifier",
                        "name": "evt",
                        "range": [
                          676,
                          679
                        ],
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 12
                          },
                          "end": {
                            "line": 27,
                            "column": 15
                          }
                        }
                      },
                      "prefix": true,
                      "range": [
                        675,
                        679
                      ],
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 11
                        },
                        "end": {
                          "line": 27,
                          "column": 15
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "name": "evt",
                              "range": [
                                695,
                                698
                              ],
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 12
                                },
                                "end": {
                                  "line": 28,
                                  "column": 15
                                }
                              }
                            },
                            "right": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "window",
                                "range": [
                                  701,
                                  707
                                ],
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 24
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "event",
                                "range": [
                                  708,
                                  713
                                ],
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 30
                                  }
                                }
                              },
                              "range": [
                                701,
                                713
                              ],
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 18
                                },
                                "end": {
                                  "line": 28,
                                  "column": 30
                                }
                              }
                            },
                            "range": [
                              695,
                              713
                            ],
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 12
                              },
                              "end": {
                                "line": 28,
                                "column": 30
                              }
                            }
                          },
                          "range": [
                            695,
                            714
                          ],
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 12
                            },
                            "end": {
                              "line": 28,
                              "column": 31
                            }
                          }
                        }
                      ],
                      "range": [
                        680,
                        725
                      ],
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 16
                        },
                        "end": {
                          "line": 29,
                          "column": 9
                        }
                      }
                    },
                    "alternate": null,
                    "range": [
                      672,
                      725
                    ],
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 8
                      },
                      "end": {
                        "line": 29,
                        "column": 9
                      }
                    }
                  },
                  {
                    "type": "IfStatement",
                    "test": {
                      "type": "MemberExpression",
                      "computed": false,
                      "object": {
                        "type": "Identifier",
                        "name": "evt",
                        "range": [
                          738,
                          741
                        ],
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 11
                          },
                          "end": {
                            "line": 30,
                            "column": 14
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "name": "stopPropagation",
                        "range": [
                          742,
                          757
                        ],
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 15
                          },
                          "end": {
                            "line": 30,
                            "column": 30
                          }
                        }
                      },
                      "range": [
                        738,
                        757
                      ],
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 11
                        },
                        "end": {
                          "line": 30,
                          "column": 30
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "evt",
                                "range": [
                                  773,
                                  776
                                ],
                                "loc": {
                                  "start": {
                                    "line": 31,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 31,
                                    "column": 15
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "stopPropagation",
                                "range": [
                                  777,
                                  792
                                ],
                                "loc": {
                                  "start": {
                                    "line": 31,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 31,
                                    "column": 31
                                  }
                                }
                              },
                              "range": [
                                773,
                                792
                              ],
                              "loc": {
                                "start": {
                                  "line": 31,
                                  "column": 12
                                },
                                "end": {
                                  "line": 31,
                                  "column": 31
                                }
                              }
                            },
                            "arguments": [],
                            "range": [
                              773,
                              794
                            ],
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 12
                              },
                              "end": {
                                "line": 31,
                                "column": 33
                              }
                            }
                          },
                          "range": [
                            773,
                            795
                          ],
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 12
                            },
                            "end": {
                              "line": 31,
                              "column": 34
                            }
                          }
                        }
                      ],
                      "range": [
                        758,
                        806
                      ],
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 31
                        },
                        "end": {
                          "line": 32,
                          "column": 9
                        }
                      }
                    },
                    "alternate": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "evt",
                                "range": [
                                  827,
                                  830
                                ],
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 15
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "cancelBubble",
                                "range": [
                                  831,
                                  843
                                ],
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 28
                                  }
                                }
                              },
                              "range": [
                                827,
                                843
                              ],
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 12
                                },
                                "end": {
                                  "line": 33,
                                  "column": 28
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": true,
                              "raw": "true",
                              "range": [
                                846,
                                850
                              ],
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 31
                                },
                                "end": {
                                  "line": 33,
                                  "column": 35
                                }
                              }
                            },
                            "range": [
                              827,
                              850
                            ],
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 12
                              },
                              "end": {
                                "line": 33,
                                "column": 35
                              }
                            }
                          },
                          "range": [
                            827,
                            851
                          ],
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 12
                            },
                            "end": {
                              "line": 33,
                              "column": 36
                            }
                          }
                        }
                      ],
                      "range": [
                        812,
                        862
                      ],
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 15
                        },
                        "end": {
                          "line": 34,
                          "column": 9
                        }
                      }
                    },
                    "range": [
                      735,
                      862
                    ],
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 8
                      },
                      "end": {
                        "line": 34,
                        "column": 9
                      }
                    }
                  }
                ],
                "range": [
                  661,
                  869
                ],
                "loc": {
                  "start": {
                    "line": 26,
                    "column": 13
                  },
                  "end": {
                    "line": 35,
                    "column": 5
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                656,
                869
              ],
              "loc": {
                "start": {
                  "line": 26,
                  "column": 8
                },
                "end": {
                  "line": 35,
                  "column": 5
                }
              }
            },
            "kind": "init",
            "method": true,
            "shorthand": false,
            "computed": false,
            "range": [
              652,
              869
            ],
            "loc": {
              "start": {
                "line": 26,
                "column": 4
              },
              "end": {
                "line": 35,
                "column": 5
              }
            }
          },
          {
            "type": "Property",
            "key": {
              "type": "Identifier",
              "name": "cancel",
              "range": [
                876,
                882
              ],
              "loc": {
                "start": {
                  "line": 36,
                  "column": 4
                },
                "end": {
                  "line": 36,
                  "column": 10
                }
              }
            },
            "value": {
              "type": "FunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "evt",
                  "range": [
                    883,
                    886
                  ],
                  "loc": {
                    "start": {
                      "line": 36,
                      "column": 11
                    },
                    "end": {
                      "line": 36,
                      "column": 14
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "IfStatement",
                    "test": {
                      "type": "UnaryExpression",
                      "operator": "!",
                      "argument": {
                        "type": "Identifier",
                        "name": "evt",
                        "range": [
                          902,
                          905
                        ],
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 12
                          },
                          "end": {
                            "line": 37,
                            "column": 15
                          }
                        }
                      },
                      "prefix": true,
                      "range": [
                        901,
                        905
                      ],
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 11
                        },
                        "end": {
                          "line": 37,
                          "column": 15
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "name": "evt",
                              "range": [
                                921,
                                924
                              ],
                              "loc": {
                                "start": {
                                  "line": 38,
                                  "column": 12
                                },
                                "end": {
                                  "line": 38,
                                  "column": 15
                                }
                              }
                            },
                            "right": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "window",
                                "range": [
                                  927,
                                  933
                                ],
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 24
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "event",
                                "range": [
                                  934,
                                  939
                                ],
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 30
                                  }
                                }
                              },
                              "range": [
                                927,
                                939
                              ],
                              "loc": {
                                "start": {
                                  "line": 38,
                                  "column": 18
                                },
                                "end": {
                                  "line": 38,
                                  "column": 30
                                }
                              }
                            },
                            "range": [
                              921,
                              939
                            ],
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 12
                              },
                              "end": {
                                "line": 38,
                                "column": 30
                              }
                            }
                          },
                          "range": [
                            921,
                            940
                          ],
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 12
                            },
                            "end": {
                              "line": 38,
                              "column": 31
                            }
                          }
                        }
                      ],
                      "range": [
                        906,
                        951
                      ],
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 16
                        },
                        "end": {
                          "line": 39,
                          "column": 9
                        }
                      }
                    },
                    "alternate": null,
                    "range": [
                      898,
                      951
                    ],
                    "loc": {
                      "start": {
                        "line": 37,
                        "column": 8
                      },
                      "end": {
                        "line": 39,
                        "column": 9
                      }
                    }
                  },
                  {
                    "type": "IfStatement",
                    "test": {
                      "type": "MemberExpression",
                      "computed": false,
                      "object": {
                        "type": "Identifier",
                        "name": "evt",
                        "range": [
                          964,
                          967
                        ],
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 11
                          },
                          "end": {
                            "line": 40,
                            "column": 14
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "name": "preventDefault",
                        "range": [
                          968,
                          982
                        ],
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 15
                          },
                          "end": {
                            "line": 40,
                            "column": 29
                          }
                        }
                      },
                      "range": [
                        964,
                        982
                      ],
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 11
                        },
                        "end": {
                          "line": 40,
                          "column": 29
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "evt",
                                "range": [
                                  999,
                                  1002
                                ],
                                "loc": {
                                  "start": {
                                    "line": 41,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 41,
                                    "column": 15
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "preventDefault",
                                "range": [
                                  1003,
                                  1017
                                ],
                                "loc": {
                                  "start": {
                                    "line": 41,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 41,
                                    "column": 30
                                  }
                                }
                              },
                              "range": [
                                999,
                                1017
                              ],
                              "loc": {
                                "start": {
                                  "line": 41,
                                  "column": 12
                                },
                                "end": {
                                  "line": 41,
                                  "column": 30
                                }
                              }
                            },
                            "arguments": [],
                            "range": [
                              999,
                              1019
                            ],
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 12
                              },
                              "end": {
                                "line": 41,
                                "column": 32
                              }
                            }
                          },
                          "range": [
                            999,
                            1020
                          ],
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 12
                            },
                            "end": {
                              "line": 41,
                              "column": 33
                            }
                          }
                        }
                      ],
                      "range": [
                        984,
                        1031
                      ],
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 31
                        },
                        "end": {
                          "line": 42,
                          "column": 9
                        }
                      }
                    },
                    "alternate": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "evt",
                                "range": [
                                  1052,
                                  1055
                                ],
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 15
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "returnValue",
                                "range": [
                                  1056,
                                  1067
                                ],
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 27
                                  }
                                }
                              },
                              "range": [
                                1052,
                                1067
                              ],
                              "loc": {
                                "start": {
                                  "line": 43,
                                  "column": 12
                                },
                                "end": {
                                  "line": 43,
                                  "column": 27
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": false,
                              "raw": "false",
                              "range": [
                                1070,
                                1075
                              ],
                              "loc": {
                                "start": {
                                  "line": 43,
                                  "column": 30
                                },
                                "end": {
                                  "line": 43,
                                  "column": 35
                                }
                              }
                            },
                            "range": [
                              1052,
                              1075
                            ],
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 12
                              },
                              "end": {
                                "line": 43,
                                "column": 35
                              }
                            }
                          },
                          "range": [
                            1052,
                            1076
                          ],
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 12
                            },
                            "end": {
                              "line": 43,
                              "column": 36
                            }
                          }
                        }
                      ],
                      "range": [
                        1037,
                        1087
                      ],
                      "loc": {
                        "start": {
                          "line": 42,
                          "column": 15
                        },
                        "end": {
                          "line": 44,
                          "column": 9
                        }
                      }
                    },
                    "range": [
                      961,
                      1087
                    ],
                    "loc": {
                      "start": {
                        "line": 40,
                        "column": 8
                      },
                      "end": {
                        "line": 44,
                        "column": 9
                      }
                    }
                  }
                ],
                "range": [
                  887,
                  1094
                ],
                "loc": {
                  "start": {
                    "line": 36,
                    "column": 15
                  },
                  "end": {
                    "line": 45,
                    "column": 5
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                882,
                1094
              ],
              "loc": {
                "start": {
                  "line": 36,
                  "column": 10
                },
                "end": {
                  "line": 45,
                  "column": 5
                }
              }
            },
            "kind": "init",
            "method": true,
            "shorthand": false,
            "computed": false,
            "range": [
              876,
              1094
            ],
            "loc": {
              "start": {
                "line": 36,
                "column": 4
              },
              "end": {
                "line": 45,
                "column": 5
              }
            }
          },
          {
            "type": "Property",
            "key": {
              "type": "Identifier",
              "name": "target",
              "range": [
                1101,
                1107
              ],
              "loc": {
                "start": {
                  "line": 46,
                  "column": 4
                },
                "end": {
                  "line": 46,
                  "column": 10
                }
              }
            },
            "value": {
              "type": "FunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "evt",
                  "range": [
                    1108,
                    1111
                  ],
                  "loc": {
                    "start": {
                      "line": 46,
                      "column": 11
                    },
                    "end": {
                      "line": 46,
                      "column": 14
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "LogicalExpression",
                      "operator": "||",
                      "left": {
                        "type": "LogicalExpression",
                        "operator": "&&",
                        "left": {
                          "type": "Identifier",
                          "name": "evt",
                          "range": [
                            1131,
                            1134
                          ],
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 16
                            },
                            "end": {
                              "line": 47,
                              "column": 19
                            }
                          }
                        },
                        "right": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "evt",
                            "range": [
                              1138,
                              1141
                            ],
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 23
                              },
                              "end": {
                                "line": 47,
                                "column": 26
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "target",
                            "range": [
                              1142,
                              1148
                            ],
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 27
                              },
                              "end": {
                                "line": 47,
                                "column": 33
                              }
                            }
                          },
                          "range": [
                            1138,
                            1148
                          ],
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 23
                            },
                            "end": {
                              "line": 47,
                              "column": 33
                            }
                          }
                        },
                        "range": [
                          1131,
                          1148
                        ],
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 16
                          },
                          "end": {
                            "line": 47,
                            "column": 33
                          }
                        }
                      },
                      "right": {
                        "type": "LogicalExpression",
                        "operator": "&&",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "window",
                            "range": [
                              1154,
                              1160
                            ],
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 39
                              },
                              "end": {
                                "line": 47,
                                "column": 45
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "event",
                            "range": [
                              1161,
                              1166
                            ],
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 46
                              },
                              "end": {
                                "line": 47,
                                "column": 51
                              }
                            }
                          },
                          "range": [
                            1154,
                            1166
                          ],
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 39
                            },
                            "end": {
                              "line": 47,
                              "column": 51
                            }
                          }
                        },
                        "right": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "window",
                              "range": [
                                1170,
                                1176
                              ],
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 55
                                },
                                "end": {
                                  "line": 47,
                                  "column": 61
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "event",
                              "range": [
                                1177,
                                1182
                              ],
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 62
                                },
                                "end": {
                                  "line": 47,
                                  "column": 67
                                }
                              }
                            },
                            "range": [
                              1170,
                              1182
                            ],
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 55
                              },
                              "end": {
                                "line": 47,
                                "column": 67
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "srcElement",
                            "range": [
                              1183,
                              1193
                            ],
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 68
                              },
                              "end": {
                                "line": 47,
                                "column": 78
                              }
                            }
                          },
                          "range": [
                            1170,
                            1193
                          ],
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 55
                            },
                            "end": {
                              "line": 47,
                              "column": 78
                            }
                          }
                        },
                        "range": [
                          1154,
                          1193
                        ],
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 39
                          },
                          "end": {
                            "line": 47,
                            "column": 78
                          }
                        }
                      },
                      "range": [
                        1130,
                        1194
                      ],
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 15
                        },
                        "end": {
                          "line": 47,
                          "column": 79
                        }
                      }
                    },
                    "range": [
                      1123,
                      1195
                    ],
                    "loc": {
                      "start": {
                        "line": 47,
                        "column": 8
                      },
                      "end": {
                        "line": 47,
                        "column": 80
                      }
                    }
                  }
                ],
                "range": [
                  1112,
                  1202
                ],
                "loc": {
                  "start": {
                    "line": 46,
                    "column": 15
                  },
                  "end": {
                    "line": 48,
                    "column": 5
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                1107,
                1202
              ],
              "loc": {
                "start": {
                  "line": 46,
                  "column": 10
                },
                "end": {
                  "line": 48,
                  "column": 5
                }
              }
            },
            "kind": "init",
            "method": true,
            "shorthand": false,
            "computed": false,
            "range": [
              1101,
              1202
            ],
            "loc": {
              "start": {
                "line": 46,
                "column": 4
              },
              "end": {
                "line": 48,
                "column": 5
              }
            }
          },
          {
            "type": "Property",
            "key": {
              "type": "Identifier",
              "name": "keyCode",
              "range": [
                1209,
                1216
              ],
              "loc": {
                "start": {
                  "line": 49,
                  "column": 4
                },
                "end": {
                  "line": 49,
                  "column": 11
                }
              }
            },
            "value": {
              "type": "FunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "evt",
                  "range": [
                    1217,
                    1220
                  ],
                  "loc": {
                    "start": {
                      "line": 49,
                      "column": 12
                    },
                    "end": {
                      "line": 49,
                      "column": 15
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "ConditionalExpression",
                      "test": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "evt",
                          "range": [
                            1239,
                            1242
                          ],
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 15
                            },
                            "end": {
                              "line": 50,
                              "column": 18
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "charCode",
                          "range": [
                            1243,
                            1251
                          ],
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 19
                            },
                            "end": {
                              "line": 50,
                              "column": 27
                            }
                          }
                        },
                        "range": [
                          1239,
                          1251
                        ],
                        "loc": {
                          "start": {
                            "line": 50,
                            "column": 15
                          },
                          "end": {
                            "line": 50,
                            "column": 27
                          }
                        }
                      },
                      "consequent": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "evt",
                          "range": [
                            1254,
                            1257
                          ],
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 30
                            },
                            "end": {
                              "line": 50,
                              "column": 33
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "charCode",
                          "range": [
                            1258,
                            1266
                          ],
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 34
                            },
                            "end": {
                              "line": 50,
                              "column": 42
                            }
                          }
                        },
                        "range": [
                          1254,
                          1266
                        ],
                        "loc": {
                          "start": {
                            "line": 50,
                            "column": 30
                          },
                          "end": {
                            "line": 50,
                            "column": 42
                          }
                        }
                      },
                      "alternate": {
                        "type": "ConditionalExpression",
                        "test": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "evt",
                            "range": [
                              1283,
                              1286
                            ],
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 13
                              },
                              "end": {
                                "line": 51,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "keyCode",
                            "range": [
                              1287,
                              1294
                            ],
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 17
                              },
                              "end": {
                                "line": 51,
                                "column": 24
                              }
                            }
                          },
                          "range": [
                            1283,
                            1294
                          ],
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 13
                            },
                            "end": {
                              "line": 51,
                              "column": 24
                            }
                          }
                        },
                        "consequent": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "evt",
                            "range": [
                              1297,
                              1300
                            ],
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 27
                              },
                              "end": {
                                "line": 51,
                                "column": 30
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "keyCode",
                            "range": [
                              1301,
                              1308
                            ],
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 31
                              },
                              "end": {
                                "line": 51,
                                "column": 38
                              }
                            }
                          },
                          "range": [
                            1297,
                            1308
                          ],
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 27
                            },
                            "end": {
                              "line": 51,
                              "column": 38
                            }
                          }
                        },
                        "alternate": {
                          "type": "ConditionalExpression",
                          "test": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "evt",
                              "range": [
                                1311,
                                1314
                              ],
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 41
                                },
                                "end": {
                                  "line": 51,
                                  "column": 44
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "which",
                              "range": [
                                1315,
                                1320
                              ],
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 45
                                },
                                "end": {
                                  "line": 51,
                                  "column": 50
                                }
                              }
                            },
                            "range": [
                              1311,
                              1320
                            ],
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 41
                              },
                              "end": {
                                "line": 51,
                                "column": 50
                              }
                            }
                          },
                          "consequent": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "evt",
                              "range": [
                                1323,
                                1326
                              ],
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 53
                                },
                                "end": {
                                  "line": 51,
                                  "column": 56
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "which",
                              "range": [
                                1327,
                                1332
                              ],
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 57
                                },
                                "end": {
                                  "line": 51,
                                  "column": 62
                                }
                              }
                            },
                            "range": [
                              1323,
                              1332
                            ],
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 53
                              },
                              "end": {
                                "line": 51,
                                "column": 62
                              }
                            }
                          },
                          "alternate": {
                            "type": "Literal",
                            "value": 0,
                            "raw": "0",
                            "range": [
                              1335,
                              1336
                            ],
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 65
                              },
                              "end": {
                                "line": 51,
                                "column": 66
                              }
                            }
                          },
                          "range": [
                            1311,
                            1336
                          ],
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 41
                            },
                            "end": {
                              "line": 51,
                              "column": 66
                            }
                          }
                        },
                        "range": [
                          1283,
                          1337
                        ],
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 13
                          },
                          "end": {
                            "line": 51,
                            "column": 67
                          }
                        }
                      },
                      "range": [
                        1239,
                        1338
                      ],
                      "loc": {
                        "start": {
                          "line": 50,
                          "column": 15
                        },
                        "end": {
                          "line": 51,
                          "column": 68
                        }
                      }
                    },
                    "range": [
                      1232,
                      1339
                    ],
                    "loc": {
                      "start": {
                        "line": 50,
                        "column": 8
                      },
                      "end": {
                        "line": 51,
                        "column": 69
                      }
                    }
                  }
                ],
                "range": [
                  1221,
                  1346
                ],
                "loc": {
                  "start": {
                    "line": 49,
                    "column": 16
                  },
                  "end": {
                    "line": 52,
                    "column": 5
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                1216,
                1346
              ],
              "loc": {
                "start": {
                  "line": 49,
                  "column": 11
                },
                "end": {
                  "line": 52,
                  "column": 5
                }
              }
            },
            "kind": "init",
            "method": true,
            "shorthand": false,
            "computed": false,
            "range": [
              1209,
              1346
            ],
            "loc": {
              "start": {
                "line": 49,
                "column": 4
              },
              "end": {
                "line": 52,
                "column": 5
              }
            }
          }
        ],
        "range": [
          51,
          1349
        ],
        "loc": {
          "start": {
            "line": 5,
            "column": 15
          },
          "end": {
            "line": 53,
            "column": 1
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\r\n * DOM event utilities\r\n ",
            "range": [
              0,
              32
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 0
              },
              "end": {
                "line": 3,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": []
      },
      "range": [
        36,
        1350
      ],
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 53,
          "column": 2
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\r\n * DOM event utilities\r\n ",
          "range": [
            0,
            32
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 0
            },
            "end": {
              "line": 3,
              "column": 3
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    36,
    1350
  ],
  "loc": {
    "start": {
      "line": 5,
      "column": 0
    },
    "end": {
      "line": 53,
      "column": 2
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": "*\r\n * DOM event utilities\r\n ",
      "range": [
        0,
        32
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 3
        }
      }
    }
  ]
}