{
  "type": "File",
  "start": 0,
  "end": 14671,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 539,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 14671,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 539,
        "column": 0
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "VariableDeclaration",
        "start": 15,
        "end": 48,
        "loc": {
          "start": {
            "line": 3,
            "column": 0
          },
          "end": {
            "line": 3,
            "column": 33
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 21,
            "end": 47,
            "loc": {
              "start": {
                "line": 3,
                "column": 6
              },
              "end": {
                "line": 3,
                "column": 32
              }
            },
            "id": {
              "type": "Identifier",
              "start": 21,
              "end": 26,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 6
                },
                "end": {
                  "line": 3,
                  "column": 11
                },
                "identifierName": "Utils"
              },
              "name": "Utils"
            },
            "init": {
              "type": "CallExpression",
              "start": 29,
              "end": 47,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 14
                },
                "end": {
                  "line": 3,
                  "column": 32
                }
              },
              "callee": {
                "type": "Identifier",
                "start": 29,
                "end": 36,
                "loc": {
                  "start": {
                    "line": 3,
                    "column": 14
                  },
                  "end": {
                    "line": 3,
                    "column": 21
                  },
                  "identifierName": "require"
                },
                "name": "require"
              },
              "arguments": [
                {
                  "type": "StringLiteral",
                  "start": 37,
                  "end": 46,
                  "loc": {
                    "start": {
                      "line": 3,
                      "column": 22
                    },
                    "end": {
                      "line": 3,
                      "column": 31
                    }
                  },
                  "extra": {
                    "rawValue": "./utils",
                    "raw": "'./utils'"
                  },
                  "value": "./utils"
                }
              ]
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "VariableDeclaration",
        "start": 49,
        "end": 86,
        "loc": {
          "start": {
            "line": 4,
            "column": 0
          },
          "end": {
            "line": 4,
            "column": 37
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 55,
            "end": 85,
            "loc": {
              "start": {
                "line": 4,
                "column": 6
              },
              "end": {
                "line": 4,
                "column": 36
              }
            },
            "id": {
              "type": "Identifier",
              "start": 55,
              "end": 62,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 6
                },
                "end": {
                  "line": 4,
                  "column": 13
                },
                "identifierName": "Promise"
              },
              "name": "Promise"
            },
            "init": {
              "type": "CallExpression",
              "start": 65,
              "end": 85,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 16
                },
                "end": {
                  "line": 4,
                  "column": 36
                }
              },
              "callee": {
                "type": "Identifier",
                "start": 65,
                "end": 72,
                "loc": {
                  "start": {
                    "line": 4,
                    "column": 16
                  },
                  "end": {
                    "line": 4,
                    "column": 23
                  },
                  "identifierName": "require"
                },
                "name": "require"
              },
              "arguments": [
                {
                  "type": "StringLiteral",
                  "start": 73,
                  "end": 84,
                  "loc": {
                    "start": {
                      "line": 4,
                      "column": 24
                    },
                    "end": {
                      "line": 4,
                      "column": 35
                    }
                  },
                  "extra": {
                    "rawValue": "./promise",
                    "raw": "'./promise'"
                  },
                  "value": "./promise"
                }
              ]
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "VariableDeclaration",
        "start": 87,
        "end": 141,
        "loc": {
          "start": {
            "line": 5,
            "column": 0
          },
          "end": {
            "line": 5,
            "column": 54
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 93,
            "end": 140,
            "loc": {
              "start": {
                "line": 5,
                "column": 6
              },
              "end": {
                "line": 5,
                "column": 53
              }
            },
            "id": {
              "type": "Identifier",
              "start": 93,
              "end": 98,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 6
                },
                "end": {
                  "line": 5,
                  "column": 11
                },
                "identifierName": "debug"
              },
              "name": "debug"
            },
            "init": {
              "type": "CallExpression",
              "start": 101,
              "end": 140,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 14
                },
                "end": {
                  "line": 5,
                  "column": 53
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 101,
                "end": 131,
                "loc": {
                  "start": {
                    "line": 5,
                    "column": 14
                  },
                  "end": {
                    "line": 5,
                    "column": 44
                  }
                },
                "object": {
                  "type": "CallExpression",
                  "start": 101,
                  "end": 118,
                  "loc": {
                    "start": {
                      "line": 5,
                      "column": 14
                    },
                    "end": {
                      "line": 5,
                      "column": 31
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 101,
                    "end": 116,
                    "loc": {
                      "start": {
                        "line": 5,
                        "column": 14
                      },
                      "end": {
                        "line": 5,
                        "column": 29
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 101,
                      "end": 106,
                      "loc": {
                        "start": {
                          "line": 5,
                          "column": 14
                        },
                        "end": {
                          "line": 5,
                          "column": 19
                        },
                        "identifierName": "Utils"
                      },
                      "name": "Utils"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 107,
                      "end": 116,
                      "loc": {
                        "start": {
                          "line": 5,
                          "column": 20
                        },
                        "end": {
                          "line": 5,
                          "column": 29
                        },
                        "identifierName": "getLogger"
                      },
                      "name": "getLogger"
                    },
                    "computed": false
                  },
                  "arguments": []
                },
                "property": {
                  "type": "Identifier",
                  "start": 119,
                  "end": 131,
                  "loc": {
                    "start": {
                      "line": 5,
                      "column": 32
                    },
                    "end": {
                      "line": 5,
                      "column": 44
                    },
                    "identifierName": "debugContext"
                  },
                  "name": "debugContext"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "StringLiteral",
                  "start": 132,
                  "end": 139,
                  "loc": {
                    "start": {
                      "line": 5,
                      "column": 45
                    },
                    "end": {
                      "line": 5,
                      "column": 52
                    }
                  },
                  "extra": {
                    "rawValue": "hooks",
                    "raw": "'hooks'"
                  },
                  "value": "hooks"
                }
              ]
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "VariableDeclaration",
        "start": 143,
        "end": 1447,
        "loc": {
          "start": {
            "line": 7,
            "column": 0
          },
          "end": {
            "line": 46,
            "column": 2
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 149,
            "end": 1446,
            "loc": {
              "start": {
                "line": 7,
                "column": 6
              },
              "end": {
                "line": 46,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 149,
              "end": 158,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 6
                },
                "end": {
                  "line": 7,
                  "column": 15
                },
                "identifierName": "hookTypes"
              },
              "name": "hookTypes"
            },
            "init": {
              "type": "ObjectExpression",
              "start": 161,
              "end": 1446,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 18
                },
                "end": {
                  "line": 46,
                  "column": 1
                }
              },
              "properties": [
                {
                  "type": "ObjectProperty",
                  "start": 165,
                  "end": 192,
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 2
                    },
                    "end": {
                      "line": 8,
                      "column": 29
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 165,
                    "end": 179,
                    "loc": {
                      "start": {
                        "line": 8,
                        "column": 2
                      },
                      "end": {
                        "line": 8,
                        "column": 16
                      },
                      "identifierName": "beforeValidate"
                    },
                    "name": "beforeValidate"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 181,
                    "end": 192,
                    "loc": {
                      "start": {
                        "line": 8,
                        "column": 18
                      },
                      "end": {
                        "line": 8,
                        "column": 29
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 182,
                        "end": 191,
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 19
                          },
                          "end": {
                            "line": 8,
                            "column": 28
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 182,
                          "end": 188,
                          "loc": {
                            "start": {
                              "line": 8,
                              "column": 19
                            },
                            "end": {
                              "line": 8,
                              "column": 25
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 190,
                          "end": 191,
                          "loc": {
                            "start": {
                              "line": 8,
                              "column": 27
                            },
                            "end": {
                              "line": 8,
                              "column": 28
                            }
                          },
                          "extra": {
                            "rawValue": 2,
                            "raw": "2"
                          },
                          "value": 2
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 196,
                  "end": 222,
                  "loc": {
                    "start": {
                      "line": 9,
                      "column": 2
                    },
                    "end": {
                      "line": 9,
                      "column": 28
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 196,
                    "end": 209,
                    "loc": {
                      "start": {
                        "line": 9,
                        "column": 2
                      },
                      "end": {
                        "line": 9,
                        "column": 15
                      },
                      "identifierName": "afterValidate"
                    },
                    "name": "afterValidate"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 211,
                    "end": 222,
                    "loc": {
                      "start": {
                        "line": 9,
                        "column": 17
                      },
                      "end": {
                        "line": 9,
                        "column": 28
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 212,
                        "end": 221,
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 18
                          },
                          "end": {
                            "line": 9,
                            "column": 27
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 212,
                          "end": 218,
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 18
                            },
                            "end": {
                              "line": 9,
                              "column": 24
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 220,
                          "end": 221,
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 26
                            },
                            "end": {
                              "line": 9,
                              "column": 27
                            }
                          },
                          "extra": {
                            "rawValue": 2,
                            "raw": "2"
                          },
                          "value": 2
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 226,
                  "end": 255,
                  "loc": {
                    "start": {
                      "line": 10,
                      "column": 2
                    },
                    "end": {
                      "line": 10,
                      "column": 31
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 226,
                    "end": 242,
                    "loc": {
                      "start": {
                        "line": 10,
                        "column": 2
                      },
                      "end": {
                        "line": 10,
                        "column": 18
                      },
                      "identifierName": "validationFailed"
                    },
                    "name": "validationFailed"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 244,
                    "end": 255,
                    "loc": {
                      "start": {
                        "line": 10,
                        "column": 20
                      },
                      "end": {
                        "line": 10,
                        "column": 31
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 245,
                        "end": 254,
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 21
                          },
                          "end": {
                            "line": 10,
                            "column": 30
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 245,
                          "end": 251,
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 21
                            },
                            "end": {
                              "line": 10,
                              "column": 27
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 253,
                          "end": 254,
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 29
                            },
                            "end": {
                              "line": 10,
                              "column": 30
                            }
                          },
                          "extra": {
                            "rawValue": 3,
                            "raw": "3"
                          },
                          "value": 3
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 259,
                  "end": 284,
                  "loc": {
                    "start": {
                      "line": 11,
                      "column": 2
                    },
                    "end": {
                      "line": 11,
                      "column": 27
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 259,
                    "end": 271,
                    "loc": {
                      "start": {
                        "line": 11,
                        "column": 2
                      },
                      "end": {
                        "line": 11,
                        "column": 14
                      },
                      "identifierName": "beforeCreate"
                    },
                    "name": "beforeCreate"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 273,
                    "end": 284,
                    "loc": {
                      "start": {
                        "line": 11,
                        "column": 16
                      },
                      "end": {
                        "line": 11,
                        "column": 27
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 274,
                        "end": 283,
                        "loc": {
                          "start": {
                            "line": 11,
                            "column": 17
                          },
                          "end": {
                            "line": 11,
                            "column": 26
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 274,
                          "end": 280,
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 17
                            },
                            "end": {
                              "line": 11,
                              "column": 23
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 282,
                          "end": 283,
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 25
                            },
                            "end": {
                              "line": 11,
                              "column": 26
                            }
                          },
                          "extra": {
                            "rawValue": 2,
                            "raw": "2"
                          },
                          "value": 2
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 288,
                  "end": 312,
                  "loc": {
                    "start": {
                      "line": 12,
                      "column": 2
                    },
                    "end": {
                      "line": 12,
                      "column": 26
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 288,
                    "end": 299,
                    "loc": {
                      "start": {
                        "line": 12,
                        "column": 2
                      },
                      "end": {
                        "line": 12,
                        "column": 13
                      },
                      "identifierName": "afterCreate"
                    },
                    "name": "afterCreate"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 301,
                    "end": 312,
                    "loc": {
                      "start": {
                        "line": 12,
                        "column": 15
                      },
                      "end": {
                        "line": 12,
                        "column": 26
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 302,
                        "end": 311,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 16
                          },
                          "end": {
                            "line": 12,
                            "column": 25
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 302,
                          "end": 308,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 16
                            },
                            "end": {
                              "line": 12,
                              "column": 22
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 310,
                          "end": 311,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 24
                            },
                            "end": {
                              "line": 12,
                              "column": 25
                            }
                          },
                          "extra": {
                            "rawValue": 2,
                            "raw": "2"
                          },
                          "value": 2
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 316,
                  "end": 342,
                  "loc": {
                    "start": {
                      "line": 13,
                      "column": 2
                    },
                    "end": {
                      "line": 13,
                      "column": 28
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 316,
                    "end": 329,
                    "loc": {
                      "start": {
                        "line": 13,
                        "column": 2
                      },
                      "end": {
                        "line": 13,
                        "column": 15
                      },
                      "identifierName": "beforeDestroy"
                    },
                    "name": "beforeDestroy"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 331,
                    "end": 342,
                    "loc": {
                      "start": {
                        "line": 13,
                        "column": 17
                      },
                      "end": {
                        "line": 13,
                        "column": 28
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 332,
                        "end": 341,
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 18
                          },
                          "end": {
                            "line": 13,
                            "column": 27
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 332,
                          "end": 338,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 18
                            },
                            "end": {
                              "line": 13,
                              "column": 24
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 340,
                          "end": 341,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 26
                            },
                            "end": {
                              "line": 13,
                              "column": 27
                            }
                          },
                          "extra": {
                            "rawValue": 2,
                            "raw": "2"
                          },
                          "value": 2
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 346,
                  "end": 371,
                  "loc": {
                    "start": {
                      "line": 14,
                      "column": 2
                    },
                    "end": {
                      "line": 14,
                      "column": 27
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 346,
                    "end": 358,
                    "loc": {
                      "start": {
                        "line": 14,
                        "column": 2
                      },
                      "end": {
                        "line": 14,
                        "column": 14
                      },
                      "identifierName": "afterDestroy"
                    },
                    "name": "afterDestroy"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 360,
                    "end": 371,
                    "loc": {
                      "start": {
                        "line": 14,
                        "column": 16
                      },
                      "end": {
                        "line": 14,
                        "column": 27
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 361,
                        "end": 370,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 17
                          },
                          "end": {
                            "line": 14,
                            "column": 26
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 361,
                          "end": 367,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 17
                            },
                            "end": {
                              "line": 14,
                              "column": 23
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 369,
                          "end": 370,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 25
                            },
                            "end": {
                              "line": 14,
                              "column": 26
                            }
                          },
                          "extra": {
                            "rawValue": 2,
                            "raw": "2"
                          },
                          "value": 2
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 375,
                  "end": 401,
                  "loc": {
                    "start": {
                      "line": 15,
                      "column": 2
                    },
                    "end": {
                      "line": 15,
                      "column": 28
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 375,
                    "end": 388,
                    "loc": {
                      "start": {
                        "line": 15,
                        "column": 2
                      },
                      "end": {
                        "line": 15,
                        "column": 15
                      },
                      "identifierName": "beforeRestore"
                    },
                    "name": "beforeRestore"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 390,
                    "end": 401,
                    "loc": {
                      "start": {
                        "line": 15,
                        "column": 17
                      },
                      "end": {
                        "line": 15,
                        "column": 28
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 391,
                        "end": 400,
                        "loc": {
                          "start": {
                            "line": 15,
                            "column": 18
                          },
                          "end": {
                            "line": 15,
                            "column": 27
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 391,
                          "end": 397,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 18
                            },
                            "end": {
                              "line": 15,
                              "column": 24
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 399,
                          "end": 400,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 26
                            },
                            "end": {
                              "line": 15,
                              "column": 27
                            }
                          },
                          "extra": {
                            "rawValue": 2,
                            "raw": "2"
                          },
                          "value": 2
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 405,
                  "end": 430,
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 2
                    },
                    "end": {
                      "line": 16,
                      "column": 27
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 405,
                    "end": 417,
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 2
                      },
                      "end": {
                        "line": 16,
                        "column": 14
                      },
                      "identifierName": "afterRestore"
                    },
                    "name": "afterRestore"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 419,
                    "end": 430,
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 16
                      },
                      "end": {
                        "line": 16,
                        "column": 27
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 420,
                        "end": 429,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 17
                          },
                          "end": {
                            "line": 16,
                            "column": 26
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 420,
                          "end": 426,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 17
                            },
                            "end": {
                              "line": 16,
                              "column": 23
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 428,
                          "end": 429,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 25
                            },
                            "end": {
                              "line": 16,
                              "column": 26
                            }
                          },
                          "extra": {
                            "rawValue": 2,
                            "raw": "2"
                          },
                          "value": 2
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 434,
                  "end": 459,
                  "loc": {
                    "start": {
                      "line": 17,
                      "column": 2
                    },
                    "end": {
                      "line": 17,
                      "column": 27
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 434,
                    "end": 446,
                    "loc": {
                      "start": {
                        "line": 17,
                        "column": 2
                      },
                      "end": {
                        "line": 17,
                        "column": 14
                      },
                      "identifierName": "beforeUpdate"
                    },
                    "name": "beforeUpdate"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 448,
                    "end": 459,
                    "loc": {
                      "start": {
                        "line": 17,
                        "column": 16
                      },
                      "end": {
                        "line": 17,
                        "column": 27
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 449,
                        "end": 458,
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 17
                          },
                          "end": {
                            "line": 17,
                            "column": 26
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 449,
                          "end": 455,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 17
                            },
                            "end": {
                              "line": 17,
                              "column": 23
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 457,
                          "end": 458,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 25
                            },
                            "end": {
                              "line": 17,
                              "column": 26
                            }
                          },
                          "extra": {
                            "rawValue": 2,
                            "raw": "2"
                          },
                          "value": 2
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 463,
                  "end": 487,
                  "loc": {
                    "start": {
                      "line": 18,
                      "column": 2
                    },
                    "end": {
                      "line": 18,
                      "column": 26
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 463,
                    "end": 474,
                    "loc": {
                      "start": {
                        "line": 18,
                        "column": 2
                      },
                      "end": {
                        "line": 18,
                        "column": 13
                      },
                      "identifierName": "afterUpdate"
                    },
                    "name": "afterUpdate"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 476,
                    "end": 487,
                    "loc": {
                      "start": {
                        "line": 18,
                        "column": 15
                      },
                      "end": {
                        "line": 18,
                        "column": 26
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 477,
                        "end": 486,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 16
                          },
                          "end": {
                            "line": 18,
                            "column": 25
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 477,
                          "end": 483,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 16
                            },
                            "end": {
                              "line": 18,
                              "column": 22
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 485,
                          "end": 486,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 24
                            },
                            "end": {
                              "line": 18,
                              "column": 25
                            }
                          },
                          "extra": {
                            "rawValue": 2,
                            "raw": "2"
                          },
                          "value": 2
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 491,
                  "end": 557,
                  "loc": {
                    "start": {
                      "line": 19,
                      "column": 2
                    },
                    "end": {
                      "line": 19,
                      "column": 68
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 491,
                    "end": 501,
                    "loc": {
                      "start": {
                        "line": 19,
                        "column": 2
                      },
                      "end": {
                        "line": 19,
                        "column": 12
                      },
                      "identifierName": "beforeSave"
                    },
                    "name": "beforeSave"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 503,
                    "end": 557,
                    "loc": {
                      "start": {
                        "line": 19,
                        "column": 14
                      },
                      "end": {
                        "line": 19,
                        "column": 68
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 504,
                        "end": 513,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 15
                          },
                          "end": {
                            "line": 19,
                            "column": 24
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 504,
                          "end": 510,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 15
                            },
                            "end": {
                              "line": 19,
                              "column": 21
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 512,
                          "end": 513,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 23
                            },
                            "end": {
                              "line": 19,
                              "column": 24
                            }
                          },
                          "extra": {
                            "rawValue": 2,
                            "raw": "2"
                          },
                          "value": 2
                        }
                      },
                      {
                        "type": "ObjectProperty",
                        "start": 515,
                        "end": 556,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 26
                          },
                          "end": {
                            "line": 19,
                            "column": 67
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 515,
                          "end": 522,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 26
                            },
                            "end": {
                              "line": 19,
                              "column": 33
                            },
                            "identifierName": "proxies"
                          },
                          "name": "proxies"
                        },
                        "value": {
                          "type": "ArrayExpression",
                          "start": 524,
                          "end": 556,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 35
                            },
                            "end": {
                              "line": 19,
                              "column": 67
                            }
                          },
                          "elements": [
                            {
                              "type": "StringLiteral",
                              "start": 525,
                              "end": 539,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 36
                                },
                                "end": {
                                  "line": 19,
                                  "column": 50
                                }
                              },
                              "extra": {
                                "rawValue": "beforeUpdate",
                                "raw": "'beforeUpdate'"
                              },
                              "value": "beforeUpdate"
                            },
                            {
                              "type": "StringLiteral",
                              "start": 541,
                              "end": 555,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 52
                                },
                                "end": {
                                  "line": 19,
                                  "column": 66
                                }
                              },
                              "extra": {
                                "rawValue": "beforeCreate",
                                "raw": "'beforeCreate'"
                              },
                              "value": "beforeCreate"
                            }
                          ]
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 561,
                  "end": 624,
                  "loc": {
                    "start": {
                      "line": 20,
                      "column": 2
                    },
                    "end": {
                      "line": 20,
                      "column": 65
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 561,
                    "end": 570,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 2
                      },
                      "end": {
                        "line": 20,
                        "column": 11
                      },
                      "identifierName": "afterSave"
                    },
                    "name": "afterSave"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 572,
                    "end": 624,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 13
                      },
                      "end": {
                        "line": 20,
                        "column": 65
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 573,
                        "end": 582,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 14
                          },
                          "end": {
                            "line": 20,
                            "column": 23
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 573,
                          "end": 579,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 14
                            },
                            "end": {
                              "line": 20,
                              "column": 20
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 581,
                          "end": 582,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 22
                            },
                            "end": {
                              "line": 20,
                              "column": 23
                            }
                          },
                          "extra": {
                            "rawValue": 2,
                            "raw": "2"
                          },
                          "value": 2
                        }
                      },
                      {
                        "type": "ObjectProperty",
                        "start": 584,
                        "end": 623,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 25
                          },
                          "end": {
                            "line": 20,
                            "column": 64
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 584,
                          "end": 591,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 25
                            },
                            "end": {
                              "line": 20,
                              "column": 32
                            },
                            "identifierName": "proxies"
                          },
                          "name": "proxies"
                        },
                        "value": {
                          "type": "ArrayExpression",
                          "start": 593,
                          "end": 623,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 34
                            },
                            "end": {
                              "line": 20,
                              "column": 64
                            }
                          },
                          "elements": [
                            {
                              "type": "StringLiteral",
                              "start": 594,
                              "end": 607,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 35
                                },
                                "end": {
                                  "line": 20,
                                  "column": 48
                                }
                              },
                              "extra": {
                                "rawValue": "afterUpdate",
                                "raw": "'afterUpdate'"
                              },
                              "value": "afterUpdate"
                            },
                            {
                              "type": "StringLiteral",
                              "start": 609,
                              "end": 622,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 50
                                },
                                "end": {
                                  "line": 20,
                                  "column": 63
                                }
                              },
                              "extra": {
                                "rawValue": "afterCreate",
                                "raw": "'afterCreate'"
                              },
                              "value": "afterCreate"
                            }
                          ]
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 628,
                  "end": 653,
                  "loc": {
                    "start": {
                      "line": 21,
                      "column": 2
                    },
                    "end": {
                      "line": 21,
                      "column": 27
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 628,
                    "end": 640,
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 2
                      },
                      "end": {
                        "line": 21,
                        "column": 14
                      },
                      "identifierName": "beforeUpsert"
                    },
                    "name": "beforeUpsert"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 642,
                    "end": 653,
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 16
                      },
                      "end": {
                        "line": 21,
                        "column": 27
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 643,
                        "end": 652,
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 17
                          },
                          "end": {
                            "line": 21,
                            "column": 26
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 643,
                          "end": 649,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 17
                            },
                            "end": {
                              "line": 21,
                              "column": 23
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 651,
                          "end": 652,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 25
                            },
                            "end": {
                              "line": 21,
                              "column": 26
                            }
                          },
                          "extra": {
                            "rawValue": 2,
                            "raw": "2"
                          },
                          "value": 2
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 657,
                  "end": 681,
                  "loc": {
                    "start": {
                      "line": 22,
                      "column": 2
                    },
                    "end": {
                      "line": 22,
                      "column": 26
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 657,
                    "end": 668,
                    "loc": {
                      "start": {
                        "line": 22,
                        "column": 2
                      },
                      "end": {
                        "line": 22,
                        "column": 13
                      },
                      "identifierName": "afterUpsert"
                    },
                    "name": "afterUpsert"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 670,
                    "end": 681,
                    "loc": {
                      "start": {
                        "line": 22,
                        "column": 15
                      },
                      "end": {
                        "line": 22,
                        "column": 26
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 671,
                        "end": 680,
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 16
                          },
                          "end": {
                            "line": 22,
                            "column": 25
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 671,
                          "end": 677,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 16
                            },
                            "end": {
                              "line": 22,
                              "column": 22
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 679,
                          "end": 680,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 24
                            },
                            "end": {
                              "line": 22,
                              "column": 25
                            }
                          },
                          "extra": {
                            "rawValue": 2,
                            "raw": "2"
                          },
                          "value": 2
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 685,
                  "end": 714,
                  "loc": {
                    "start": {
                      "line": 23,
                      "column": 2
                    },
                    "end": {
                      "line": 23,
                      "column": 31
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 685,
                    "end": 701,
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 2
                      },
                      "end": {
                        "line": 23,
                        "column": 18
                      },
                      "identifierName": "beforeBulkCreate"
                    },
                    "name": "beforeBulkCreate"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 703,
                    "end": 714,
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 20
                      },
                      "end": {
                        "line": 23,
                        "column": 31
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 704,
                        "end": 713,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 21
                          },
                          "end": {
                            "line": 23,
                            "column": 30
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 704,
                          "end": 710,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 21
                            },
                            "end": {
                              "line": 23,
                              "column": 27
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 712,
                          "end": 713,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 29
                            },
                            "end": {
                              "line": 23,
                              "column": 30
                            }
                          },
                          "extra": {
                            "rawValue": 2,
                            "raw": "2"
                          },
                          "value": 2
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 718,
                  "end": 746,
                  "loc": {
                    "start": {
                      "line": 24,
                      "column": 2
                    },
                    "end": {
                      "line": 24,
                      "column": 30
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 718,
                    "end": 733,
                    "loc": {
                      "start": {
                        "line": 24,
                        "column": 2
                      },
                      "end": {
                        "line": 24,
                        "column": 17
                      },
                      "identifierName": "afterBulkCreate"
                    },
                    "name": "afterBulkCreate"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 735,
                    "end": 746,
                    "loc": {
                      "start": {
                        "line": 24,
                        "column": 19
                      },
                      "end": {
                        "line": 24,
                        "column": 30
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 736,
                        "end": 745,
                        "loc": {
                          "start": {
                            "line": 24,
                            "column": 20
                          },
                          "end": {
                            "line": 24,
                            "column": 29
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 736,
                          "end": 742,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 20
                            },
                            "end": {
                              "line": 24,
                              "column": 26
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 744,
                          "end": 745,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 28
                            },
                            "end": {
                              "line": 24,
                              "column": 29
                            }
                          },
                          "extra": {
                            "rawValue": 2,
                            "raw": "2"
                          },
                          "value": 2
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 750,
                  "end": 780,
                  "loc": {
                    "start": {
                      "line": 25,
                      "column": 2
                    },
                    "end": {
                      "line": 25,
                      "column": 32
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 750,
                    "end": 767,
                    "loc": {
                      "start": {
                        "line": 25,
                        "column": 2
                      },
                      "end": {
                        "line": 25,
                        "column": 19
                      },
                      "identifierName": "beforeBulkDestroy"
                    },
                    "name": "beforeBulkDestroy"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 769,
                    "end": 780,
                    "loc": {
                      "start": {
                        "line": 25,
                        "column": 21
                      },
                      "end": {
                        "line": 25,
                        "column": 32
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 770,
                        "end": 779,
                        "loc": {
                          "start": {
                            "line": 25,
                            "column": 22
                          },
                          "end": {
                            "line": 25,
                            "column": 31
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 770,
                          "end": 776,
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 22
                            },
                            "end": {
                              "line": 25,
                              "column": 28
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 778,
                          "end": 779,
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 30
                            },
                            "end": {
                              "line": 25,
                              "column": 31
                            }
                          },
                          "extra": {
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "value": 1
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 784,
                  "end": 813,
                  "loc": {
                    "start": {
                      "line": 26,
                      "column": 2
                    },
                    "end": {
                      "line": 26,
                      "column": 31
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 784,
                    "end": 800,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 2
                      },
                      "end": {
                        "line": 26,
                        "column": 18
                      },
                      "identifierName": "afterBulkDestroy"
                    },
                    "name": "afterBulkDestroy"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 802,
                    "end": 813,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 20
                      },
                      "end": {
                        "line": 26,
                        "column": 31
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 803,
                        "end": 812,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 21
                          },
                          "end": {
                            "line": 26,
                            "column": 30
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 803,
                          "end": 809,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 21
                            },
                            "end": {
                              "line": 26,
                              "column": 27
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 811,
                          "end": 812,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 29
                            },
                            "end": {
                              "line": 26,
                              "column": 30
                            }
                          },
                          "extra": {
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "value": 1
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 817,
                  "end": 847,
                  "loc": {
                    "start": {
                      "line": 27,
                      "column": 2
                    },
                    "end": {
                      "line": 27,
                      "column": 32
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 817,
                    "end": 834,
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 2
                      },
                      "end": {
                        "line": 27,
                        "column": 19
                      },
                      "identifierName": "beforeBulkRestore"
                    },
                    "name": "beforeBulkRestore"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 836,
                    "end": 847,
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 21
                      },
                      "end": {
                        "line": 27,
                        "column": 32
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 837,
                        "end": 846,
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 22
                          },
                          "end": {
                            "line": 27,
                            "column": 31
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 837,
                          "end": 843,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 22
                            },
                            "end": {
                              "line": 27,
                              "column": 28
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 845,
                          "end": 846,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 30
                            },
                            "end": {
                              "line": 27,
                              "column": 31
                            }
                          },
                          "extra": {
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "value": 1
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 851,
                  "end": 880,
                  "loc": {
                    "start": {
                      "line": 28,
                      "column": 2
                    },
                    "end": {
                      "line": 28,
                      "column": 31
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 851,
                    "end": 867,
                    "loc": {
                      "start": {
                        "line": 28,
                        "column": 2
                      },
                      "end": {
                        "line": 28,
                        "column": 18
                      },
                      "identifierName": "afterBulkRestore"
                    },
                    "name": "afterBulkRestore"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 869,
                    "end": 880,
                    "loc": {
                      "start": {
                        "line": 28,
                        "column": 20
                      },
                      "end": {
                        "line": 28,
                        "column": 31
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 870,
                        "end": 879,
                        "loc": {
                          "start": {
                            "line": 28,
                            "column": 21
                          },
                          "end": {
                            "line": 28,
                            "column": 30
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 870,
                          "end": 876,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 21
                            },
                            "end": {
                              "line": 28,
                              "column": 27
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 878,
                          "end": 879,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 29
                            },
                            "end": {
                              "line": 28,
                              "column": 30
                            }
                          },
                          "extra": {
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "value": 1
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 884,
                  "end": 913,
                  "loc": {
                    "start": {
                      "line": 29,
                      "column": 2
                    },
                    "end": {
                      "line": 29,
                      "column": 31
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 884,
                    "end": 900,
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 2
                      },
                      "end": {
                        "line": 29,
                        "column": 18
                      },
                      "identifierName": "beforeBulkUpdate"
                    },
                    "name": "beforeBulkUpdate"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 902,
                    "end": 913,
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 20
                      },
                      "end": {
                        "line": 29,
                        "column": 31
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 903,
                        "end": 912,
                        "loc": {
                          "start": {
                            "line": 29,
                            "column": 21
                          },
                          "end": {
                            "line": 29,
                            "column": 30
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 903,
                          "end": 909,
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 21
                            },
                            "end": {
                              "line": 29,
                              "column": 27
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 911,
                          "end": 912,
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 29
                            },
                            "end": {
                              "line": 29,
                              "column": 30
                            }
                          },
                          "extra": {
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "value": 1
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 917,
                  "end": 945,
                  "loc": {
                    "start": {
                      "line": 30,
                      "column": 2
                    },
                    "end": {
                      "line": 30,
                      "column": 30
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 917,
                    "end": 932,
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 2
                      },
                      "end": {
                        "line": 30,
                        "column": 17
                      },
                      "identifierName": "afterBulkUpdate"
                    },
                    "name": "afterBulkUpdate"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 934,
                    "end": 945,
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 19
                      },
                      "end": {
                        "line": 30,
                        "column": 30
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 935,
                        "end": 944,
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 20
                          },
                          "end": {
                            "line": 30,
                            "column": 29
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 935,
                          "end": 941,
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 20
                            },
                            "end": {
                              "line": 30,
                              "column": 26
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 943,
                          "end": 944,
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 28
                            },
                            "end": {
                              "line": 30,
                              "column": 29
                            }
                          },
                          "extra": {
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "value": 1
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 949,
                  "end": 972,
                  "loc": {
                    "start": {
                      "line": 31,
                      "column": 2
                    },
                    "end": {
                      "line": 31,
                      "column": 25
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 949,
                    "end": 959,
                    "loc": {
                      "start": {
                        "line": 31,
                        "column": 2
                      },
                      "end": {
                        "line": 31,
                        "column": 12
                      },
                      "identifierName": "beforeFind"
                    },
                    "name": "beforeFind"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 961,
                    "end": 972,
                    "loc": {
                      "start": {
                        "line": 31,
                        "column": 14
                      },
                      "end": {
                        "line": 31,
                        "column": 25
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 962,
                        "end": 971,
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 15
                          },
                          "end": {
                            "line": 31,
                            "column": 24
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 962,
                          "end": 968,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 15
                            },
                            "end": {
                              "line": 31,
                              "column": 21
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 970,
                          "end": 971,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 23
                            },
                            "end": {
                              "line": 31,
                              "column": 24
                            }
                          },
                          "extra": {
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "value": 1
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 976,
                  "end": 1020,
                  "loc": {
                    "start": {
                      "line": 32,
                      "column": 2
                    },
                    "end": {
                      "line": 32,
                      "column": 46
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 976,
                    "end": 1007,
                    "loc": {
                      "start": {
                        "line": 32,
                        "column": 2
                      },
                      "end": {
                        "line": 32,
                        "column": 33
                      },
                      "identifierName": "beforeFindAfterExpandIncludeAll"
                    },
                    "name": "beforeFindAfterExpandIncludeAll"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 1009,
                    "end": 1020,
                    "loc": {
                      "start": {
                        "line": 32,
                        "column": 35
                      },
                      "end": {
                        "line": 32,
                        "column": 46
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 1010,
                        "end": 1019,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 36
                          },
                          "end": {
                            "line": 32,
                            "column": 45
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 1010,
                          "end": 1016,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 36
                            },
                            "end": {
                              "line": 32,
                              "column": 42
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 1018,
                          "end": 1019,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 44
                            },
                            "end": {
                              "line": 32,
                              "column": 45
                            }
                          },
                          "extra": {
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "value": 1
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 1024,
                  "end": 1059,
                  "loc": {
                    "start": {
                      "line": 33,
                      "column": 2
                    },
                    "end": {
                      "line": 33,
                      "column": 37
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 1024,
                    "end": 1046,
                    "loc": {
                      "start": {
                        "line": 33,
                        "column": 2
                      },
                      "end": {
                        "line": 33,
                        "column": 24
                      },
                      "identifierName": "beforeFindAfterOptions"
                    },
                    "name": "beforeFindAfterOptions"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 1048,
                    "end": 1059,
                    "loc": {
                      "start": {
                        "line": 33,
                        "column": 26
                      },
                      "end": {
                        "line": 33,
                        "column": 37
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 1049,
                        "end": 1058,
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 27
                          },
                          "end": {
                            "line": 33,
                            "column": 36
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 1049,
                          "end": 1055,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 27
                            },
                            "end": {
                              "line": 33,
                              "column": 33
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 1057,
                          "end": 1058,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 35
                            },
                            "end": {
                              "line": 33,
                              "column": 36
                            }
                          },
                          "extra": {
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "value": 1
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 1063,
                  "end": 1085,
                  "loc": {
                    "start": {
                      "line": 34,
                      "column": 2
                    },
                    "end": {
                      "line": 34,
                      "column": 24
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 1063,
                    "end": 1072,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 2
                      },
                      "end": {
                        "line": 34,
                        "column": 11
                      },
                      "identifierName": "afterFind"
                    },
                    "name": "afterFind"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 1074,
                    "end": 1085,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 13
                      },
                      "end": {
                        "line": 34,
                        "column": 24
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 1075,
                        "end": 1084,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 14
                          },
                          "end": {
                            "line": 34,
                            "column": 23
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 1075,
                          "end": 1081,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 14
                            },
                            "end": {
                              "line": 34,
                              "column": 20
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 1083,
                          "end": 1084,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 22
                            },
                            "end": {
                              "line": 34,
                              "column": 23
                            }
                          },
                          "extra": {
                            "rawValue": 2,
                            "raw": "2"
                          },
                          "value": 2
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 1089,
                  "end": 1113,
                  "loc": {
                    "start": {
                      "line": 35,
                      "column": 2
                    },
                    "end": {
                      "line": 35,
                      "column": 26
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 1089,
                    "end": 1100,
                    "loc": {
                      "start": {
                        "line": 35,
                        "column": 2
                      },
                      "end": {
                        "line": 35,
                        "column": 13
                      },
                      "identifierName": "beforeCount"
                    },
                    "name": "beforeCount"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 1102,
                    "end": 1113,
                    "loc": {
                      "start": {
                        "line": 35,
                        "column": 15
                      },
                      "end": {
                        "line": 35,
                        "column": 26
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 1103,
                        "end": 1112,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 16
                          },
                          "end": {
                            "line": 35,
                            "column": 25
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 1103,
                          "end": 1109,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 16
                            },
                            "end": {
                              "line": 35,
                              "column": 22
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 1111,
                          "end": 1112,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 24
                            },
                            "end": {
                              "line": 35,
                              "column": 25
                            }
                          },
                          "extra": {
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "value": 1
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 1117,
                  "end": 1154,
                  "loc": {
                    "start": {
                      "line": 36,
                      "column": 2
                    },
                    "end": {
                      "line": 36,
                      "column": 39
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 1117,
                    "end": 1129,
                    "loc": {
                      "start": {
                        "line": 36,
                        "column": 2
                      },
                      "end": {
                        "line": 36,
                        "column": 14
                      },
                      "identifierName": "beforeDefine"
                    },
                    "name": "beforeDefine"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 1131,
                    "end": 1154,
                    "loc": {
                      "start": {
                        "line": 36,
                        "column": 16
                      },
                      "end": {
                        "line": 36,
                        "column": 39
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 1132,
                        "end": 1141,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 17
                          },
                          "end": {
                            "line": 36,
                            "column": 26
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 1132,
                          "end": 1138,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 17
                            },
                            "end": {
                              "line": 36,
                              "column": 23
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 1140,
                          "end": 1141,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 25
                            },
                            "end": {
                              "line": 36,
                              "column": 26
                            }
                          },
                          "extra": {
                            "rawValue": 2,
                            "raw": "2"
                          },
                          "value": 2
                        }
                      },
                      {
                        "type": "ObjectProperty",
                        "start": 1143,
                        "end": 1153,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 28
                          },
                          "end": {
                            "line": 36,
                            "column": 38
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 1143,
                          "end": 1147,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 28
                            },
                            "end": {
                              "line": 36,
                              "column": 32
                            },
                            "identifierName": "sync"
                          },
                          "name": "sync"
                        },
                        "value": {
                          "type": "BooleanLiteral",
                          "start": 1149,
                          "end": 1153,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 34
                            },
                            "end": {
                              "line": 36,
                              "column": 38
                            }
                          },
                          "value": true
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 1158,
                  "end": 1194,
                  "loc": {
                    "start": {
                      "line": 37,
                      "column": 2
                    },
                    "end": {
                      "line": 37,
                      "column": 38
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 1158,
                    "end": 1169,
                    "loc": {
                      "start": {
                        "line": 37,
                        "column": 2
                      },
                      "end": {
                        "line": 37,
                        "column": 13
                      },
                      "identifierName": "afterDefine"
                    },
                    "name": "afterDefine"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 1171,
                    "end": 1194,
                    "loc": {
                      "start": {
                        "line": 37,
                        "column": 15
                      },
                      "end": {
                        "line": 37,
                        "column": 38
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 1172,
                        "end": 1181,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 16
                          },
                          "end": {
                            "line": 37,
                            "column": 25
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 1172,
                          "end": 1178,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 16
                            },
                            "end": {
                              "line": 37,
                              "column": 22
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 1180,
                          "end": 1181,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 24
                            },
                            "end": {
                              "line": 37,
                              "column": 25
                            }
                          },
                          "extra": {
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "value": 1
                        }
                      },
                      {
                        "type": "ObjectProperty",
                        "start": 1183,
                        "end": 1193,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 27
                          },
                          "end": {
                            "line": 37,
                            "column": 37
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 1183,
                          "end": 1187,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 27
                            },
                            "end": {
                              "line": 37,
                              "column": 31
                            },
                            "identifierName": "sync"
                          },
                          "name": "sync"
                        },
                        "value": {
                          "type": "BooleanLiteral",
                          "start": 1189,
                          "end": 1193,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 33
                            },
                            "end": {
                              "line": 37,
                              "column": 37
                            }
                          },
                          "value": true
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 1198,
                  "end": 1233,
                  "loc": {
                    "start": {
                      "line": 38,
                      "column": 2
                    },
                    "end": {
                      "line": 38,
                      "column": 37
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 1198,
                    "end": 1208,
                    "loc": {
                      "start": {
                        "line": 38,
                        "column": 2
                      },
                      "end": {
                        "line": 38,
                        "column": 12
                      },
                      "identifierName": "beforeInit"
                    },
                    "name": "beforeInit"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 1210,
                    "end": 1233,
                    "loc": {
                      "start": {
                        "line": 38,
                        "column": 14
                      },
                      "end": {
                        "line": 38,
                        "column": 37
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 1211,
                        "end": 1220,
                        "loc": {
                          "start": {
                            "line": 38,
                            "column": 15
                          },
                          "end": {
                            "line": 38,
                            "column": 24
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 1211,
                          "end": 1217,
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 15
                            },
                            "end": {
                              "line": 38,
                              "column": 21
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 1219,
                          "end": 1220,
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 23
                            },
                            "end": {
                              "line": 38,
                              "column": 24
                            }
                          },
                          "extra": {
                            "rawValue": 2,
                            "raw": "2"
                          },
                          "value": 2
                        }
                      },
                      {
                        "type": "ObjectProperty",
                        "start": 1222,
                        "end": 1232,
                        "loc": {
                          "start": {
                            "line": 38,
                            "column": 26
                          },
                          "end": {
                            "line": 38,
                            "column": 36
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 1222,
                          "end": 1226,
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 26
                            },
                            "end": {
                              "line": 38,
                              "column": 30
                            },
                            "identifierName": "sync"
                          },
                          "name": "sync"
                        },
                        "value": {
                          "type": "BooleanLiteral",
                          "start": 1228,
                          "end": 1232,
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 32
                            },
                            "end": {
                              "line": 38,
                              "column": 36
                            }
                          },
                          "value": true
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 1237,
                  "end": 1271,
                  "loc": {
                    "start": {
                      "line": 39,
                      "column": 2
                    },
                    "end": {
                      "line": 39,
                      "column": 36
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 1237,
                    "end": 1246,
                    "loc": {
                      "start": {
                        "line": 39,
                        "column": 2
                      },
                      "end": {
                        "line": 39,
                        "column": 11
                      },
                      "identifierName": "afterInit"
                    },
                    "name": "afterInit"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 1248,
                    "end": 1271,
                    "loc": {
                      "start": {
                        "line": 39,
                        "column": 13
                      },
                      "end": {
                        "line": 39,
                        "column": 36
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 1249,
                        "end": 1258,
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 14
                          },
                          "end": {
                            "line": 39,
                            "column": 23
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 1249,
                          "end": 1255,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 14
                            },
                            "end": {
                              "line": 39,
                              "column": 20
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 1257,
                          "end": 1258,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 22
                            },
                            "end": {
                              "line": 39,
                              "column": 23
                            }
                          },
                          "extra": {
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "value": 1
                        }
                      },
                      {
                        "type": "ObjectProperty",
                        "start": 1260,
                        "end": 1270,
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 25
                          },
                          "end": {
                            "line": 39,
                            "column": 35
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 1260,
                          "end": 1264,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 25
                            },
                            "end": {
                              "line": 39,
                              "column": 29
                            },
                            "identifierName": "sync"
                          },
                          "name": "sync"
                        },
                        "value": {
                          "type": "BooleanLiteral",
                          "start": 1266,
                          "end": 1270,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 31
                            },
                            "end": {
                              "line": 39,
                              "column": 35
                            }
                          },
                          "value": true
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 1275,
                  "end": 1301,
                  "loc": {
                    "start": {
                      "line": 40,
                      "column": 2
                    },
                    "end": {
                      "line": 40,
                      "column": 28
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 1275,
                    "end": 1288,
                    "loc": {
                      "start": {
                        "line": 40,
                        "column": 2
                      },
                      "end": {
                        "line": 40,
                        "column": 15
                      },
                      "identifierName": "beforeConnect"
                    },
                    "name": "beforeConnect"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 1290,
                    "end": 1301,
                    "loc": {
                      "start": {
                        "line": 40,
                        "column": 17
                      },
                      "end": {
                        "line": 40,
                        "column": 28
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 1291,
                        "end": 1300,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 18
                          },
                          "end": {
                            "line": 40,
                            "column": 27
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 1291,
                          "end": 1297,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 18
                            },
                            "end": {
                              "line": 40,
                              "column": 24
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 1299,
                          "end": 1300,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 26
                            },
                            "end": {
                              "line": 40,
                              "column": 27
                            }
                          },
                          "extra": {
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "value": 1
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 1305,
                  "end": 1330,
                  "loc": {
                    "start": {
                      "line": 41,
                      "column": 2
                    },
                    "end": {
                      "line": 41,
                      "column": 27
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 1305,
                    "end": 1317,
                    "loc": {
                      "start": {
                        "line": 41,
                        "column": 2
                      },
                      "end": {
                        "line": 41,
                        "column": 14
                      },
                      "identifierName": "afterConnect"
                    },
                    "name": "afterConnect"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 1319,
                    "end": 1330,
                    "loc": {
                      "start": {
                        "line": 41,
                        "column": 16
                      },
                      "end": {
                        "line": 41,
                        "column": 27
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 1320,
                        "end": 1329,
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 17
                          },
                          "end": {
                            "line": 41,
                            "column": 26
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 1320,
                          "end": 1326,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 17
                            },
                            "end": {
                              "line": 41,
                              "column": 23
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 1328,
                          "end": 1329,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 25
                            },
                            "end": {
                              "line": 41,
                              "column": 26
                            }
                          },
                          "extra": {
                            "rawValue": 2,
                            "raw": "2"
                          },
                          "value": 2
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 1334,
                  "end": 1357,
                  "loc": {
                    "start": {
                      "line": 42,
                      "column": 2
                    },
                    "end": {
                      "line": 42,
                      "column": 25
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 1334,
                    "end": 1344,
                    "loc": {
                      "start": {
                        "line": 42,
                        "column": 2
                      },
                      "end": {
                        "line": 42,
                        "column": 12
                      },
                      "identifierName": "beforeSync"
                    },
                    "name": "beforeSync"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 1346,
                    "end": 1357,
                    "loc": {
                      "start": {
                        "line": 42,
                        "column": 14
                      },
                      "end": {
                        "line": 42,
                        "column": 25
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 1347,
                        "end": 1356,
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 15
                          },
                          "end": {
                            "line": 42,
                            "column": 24
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 1347,
                          "end": 1353,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 15
                            },
                            "end": {
                              "line": 42,
                              "column": 21
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 1355,
                          "end": 1356,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 23
                            },
                            "end": {
                              "line": 42,
                              "column": 24
                            }
                          },
                          "extra": {
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "value": 1
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 1361,
                  "end": 1383,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 2
                    },
                    "end": {
                      "line": 43,
                      "column": 24
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 1361,
                    "end": 1370,
                    "loc": {
                      "start": {
                        "line": 43,
                        "column": 2
                      },
                      "end": {
                        "line": 43,
                        "column": 11
                      },
                      "identifierName": "afterSync"
                    },
                    "name": "afterSync"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 1372,
                    "end": 1383,
                    "loc": {
                      "start": {
                        "line": 43,
                        "column": 13
                      },
                      "end": {
                        "line": 43,
                        "column": 24
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 1373,
                        "end": 1382,
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 14
                          },
                          "end": {
                            "line": 43,
                            "column": 23
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 1373,
                          "end": 1379,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 14
                            },
                            "end": {
                              "line": 43,
                              "column": 20
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 1381,
                          "end": 1382,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 22
                            },
                            "end": {
                              "line": 43,
                              "column": 23
                            }
                          },
                          "extra": {
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "value": 1
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 1387,
                  "end": 1414,
                  "loc": {
                    "start": {
                      "line": 44,
                      "column": 2
                    },
                    "end": {
                      "line": 44,
                      "column": 29
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 1387,
                    "end": 1401,
                    "loc": {
                      "start": {
                        "line": 44,
                        "column": 2
                      },
                      "end": {
                        "line": 44,
                        "column": 16
                      },
                      "identifierName": "beforeBulkSync"
                    },
                    "name": "beforeBulkSync"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 1403,
                    "end": 1414,
                    "loc": {
                      "start": {
                        "line": 44,
                        "column": 18
                      },
                      "end": {
                        "line": 44,
                        "column": 29
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 1404,
                        "end": 1413,
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 19
                          },
                          "end": {
                            "line": 44,
                            "column": 28
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 1404,
                          "end": 1410,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 19
                            },
                            "end": {
                              "line": 44,
                              "column": 25
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 1412,
                          "end": 1413,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 27
                            },
                            "end": {
                              "line": 44,
                              "column": 28
                            }
                          },
                          "extra": {
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "value": 1
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 1418,
                  "end": 1444,
                  "loc": {
                    "start": {
                      "line": 45,
                      "column": 2
                    },
                    "end": {
                      "line": 45,
                      "column": 28
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 1418,
                    "end": 1431,
                    "loc": {
                      "start": {
                        "line": 45,
                        "column": 2
                      },
                      "end": {
                        "line": 45,
                        "column": 15
                      },
                      "identifierName": "afterBulkSync"
                    },
                    "name": "afterBulkSync"
                  },
                  "value": {
                    "type": "ObjectExpression",
                    "start": 1433,
                    "end": 1444,
                    "loc": {
                      "start": {
                        "line": 45,
                        "column": 17
                      },
                      "end": {
                        "line": 45,
                        "column": 28
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectProperty",
                        "start": 1434,
                        "end": 1443,
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 18
                          },
                          "end": {
                            "line": 45,
                            "column": 27
                          }
                        },
                        "method": false,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 1434,
                          "end": 1440,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 18
                            },
                            "end": {
                              "line": 45,
                              "column": 24
                            },
                            "identifierName": "params"
                          },
                          "name": "params"
                        },
                        "value": {
                          "type": "NumericLiteral",
                          "start": 1442,
                          "end": 1443,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 26
                            },
                            "end": {
                              "line": 45,
                              "column": 27
                            }
                          },
                          "extra": {
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "value": 1
                        }
                      }
                    ]
                  }
                }
              ]
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "ExpressionStatement",
        "start": 1448,
        "end": 1474,
        "loc": {
          "start": {
            "line": 47,
            "column": 0
          },
          "end": {
            "line": 47,
            "column": 26
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 1448,
          "end": 1473,
          "loc": {
            "start": {
              "line": 47,
              "column": 0
            },
            "end": {
              "line": 47,
              "column": 25
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 1448,
            "end": 1461,
            "loc": {
              "start": {
                "line": 47,
                "column": 0
              },
              "end": {
                "line": 47,
                "column": 13
              }
            },
            "object": {
              "type": "Identifier",
              "start": 1448,
              "end": 1455,
              "loc": {
                "start": {
                  "line": 47,
                  "column": 0
                },
                "end": {
                  "line": 47,
                  "column": 7
                },
                "identifierName": "exports"
              },
              "name": "exports"
            },
            "property": {
              "type": "Identifier",
              "start": 1456,
              "end": 1461,
              "loc": {
                "start": {
                  "line": 47,
                  "column": 8
                },
                "end": {
                  "line": 47,
                  "column": 13
                },
                "identifierName": "hooks"
              },
              "name": "hooks"
            },
            "computed": false
          },
          "right": {
            "type": "Identifier",
            "start": 1464,
            "end": 1473,
            "loc": {
              "start": {
                "line": 47,
                "column": 16
              },
              "end": {
                "line": 47,
                "column": 25
              },
              "identifierName": "hookTypes"
            },
            "name": "hookTypes"
          }
        }
      },
      {
        "type": "VariableDeclaration",
        "start": 1476,
        "end": 1680,
        "loc": {
          "start": {
            "line": 49,
            "column": 0
          },
          "end": {
            "line": 55,
            "column": 2
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 1482,
            "end": 1679,
            "loc": {
              "start": {
                "line": 49,
                "column": 6
              },
              "end": {
                "line": 55,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 1482,
              "end": 1493,
              "loc": {
                "start": {
                  "line": 49,
                  "column": 6
                },
                "end": {
                  "line": 49,
                  "column": 17
                },
                "identifierName": "hookAliases"
              },
              "name": "hookAliases"
            },
            "init": {
              "type": "ObjectExpression",
              "start": 1496,
              "end": 1679,
              "loc": {
                "start": {
                  "line": 49,
                  "column": 20
                },
                "end": {
                  "line": 55,
                  "column": 1
                }
              },
              "properties": [
                {
                  "type": "ObjectProperty",
                  "start": 1500,
                  "end": 1529,
                  "loc": {
                    "start": {
                      "line": 50,
                      "column": 2
                    },
                    "end": {
                      "line": 50,
                      "column": 31
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 1500,
                    "end": 1512,
                    "loc": {
                      "start": {
                        "line": 50,
                        "column": 2
                      },
                      "end": {
                        "line": 50,
                        "column": 14
                      },
                      "identifierName": "beforeDelete"
                    },
                    "name": "beforeDelete"
                  },
                  "value": {
                    "type": "StringLiteral",
                    "start": 1514,
                    "end": 1529,
                    "loc": {
                      "start": {
                        "line": 50,
                        "column": 16
                      },
                      "end": {
                        "line": 50,
                        "column": 31
                      }
                    },
                    "extra": {
                      "rawValue": "beforeDestroy",
                      "raw": "'beforeDestroy'"
                    },
                    "value": "beforeDestroy"
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 1533,
                  "end": 1560,
                  "loc": {
                    "start": {
                      "line": 51,
                      "column": 2
                    },
                    "end": {
                      "line": 51,
                      "column": 29
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 1533,
                    "end": 1544,
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 2
                      },
                      "end": {
                        "line": 51,
                        "column": 13
                      },
                      "identifierName": "afterDelete"
                    },
                    "name": "afterDelete"
                  },
                  "value": {
                    "type": "StringLiteral",
                    "start": 1546,
                    "end": 1560,
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 15
                      },
                      "end": {
                        "line": 51,
                        "column": 29
                      }
                    },
                    "extra": {
                      "rawValue": "afterDestroy",
                      "raw": "'afterDestroy'"
                    },
                    "value": "afterDestroy"
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 1564,
                  "end": 1601,
                  "loc": {
                    "start": {
                      "line": 52,
                      "column": 2
                    },
                    "end": {
                      "line": 52,
                      "column": 39
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 1564,
                    "end": 1580,
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 2
                      },
                      "end": {
                        "line": 52,
                        "column": 18
                      },
                      "identifierName": "beforeBulkDelete"
                    },
                    "name": "beforeBulkDelete"
                  },
                  "value": {
                    "type": "StringLiteral",
                    "start": 1582,
                    "end": 1601,
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 20
                      },
                      "end": {
                        "line": 52,
                        "column": 39
                      }
                    },
                    "extra": {
                      "rawValue": "beforeBulkDestroy",
                      "raw": "'beforeBulkDestroy'"
                    },
                    "value": "beforeBulkDestroy"
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 1605,
                  "end": 1640,
                  "loc": {
                    "start": {
                      "line": 53,
                      "column": 2
                    },
                    "end": {
                      "line": 53,
                      "column": 37
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 1605,
                    "end": 1620,
                    "loc": {
                      "start": {
                        "line": 53,
                        "column": 2
                      },
                      "end": {
                        "line": 53,
                        "column": 17
                      },
                      "identifierName": "afterBulkDelete"
                    },
                    "name": "afterBulkDelete"
                  },
                  "value": {
                    "type": "StringLiteral",
                    "start": 1622,
                    "end": 1640,
                    "loc": {
                      "start": {
                        "line": 53,
                        "column": 19
                      },
                      "end": {
                        "line": 53,
                        "column": 37
                      }
                    },
                    "extra": {
                      "rawValue": "afterBulkDestroy",
                      "raw": "'afterBulkDestroy'"
                    },
                    "value": "afterBulkDestroy"
                  }
                },
                {
                  "type": "ObjectProperty",
                  "start": 1644,
                  "end": 1677,
                  "loc": {
                    "start": {
                      "line": 54,
                      "column": 2
                    },
                    "end": {
                      "line": 54,
                      "column": 35
                    }
                  },
                  "method": false,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 1644,
                    "end": 1660,
                    "loc": {
                      "start": {
                        "line": 54,
                        "column": 2
                      },
                      "end": {
                        "line": 54,
                        "column": 18
                      },
                      "identifierName": "beforeConnection"
                    },
                    "name": "beforeConnection"
                  },
                  "value": {
                    "type": "StringLiteral",
                    "start": 1662,
                    "end": 1677,
                    "loc": {
                      "start": {
                        "line": 54,
                        "column": 20
                      },
                      "end": {
                        "line": 54,
                        "column": 35
                      }
                    },
                    "extra": {
                      "rawValue": "beforeConnect",
                      "raw": "'beforeConnect'"
                    },
                    "value": "beforeConnect"
                  }
                }
              ]
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "ExpressionStatement",
        "start": 1681,
        "end": 1715,
        "loc": {
          "start": {
            "line": 56,
            "column": 0
          },
          "end": {
            "line": 56,
            "column": 34
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 1681,
          "end": 1714,
          "loc": {
            "start": {
              "line": 56,
              "column": 0
            },
            "end": {
              "line": 56,
              "column": 33
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 1681,
            "end": 1700,
            "loc": {
              "start": {
                "line": 56,
                "column": 0
              },
              "end": {
                "line": 56,
                "column": 19
              }
            },
            "object": {
              "type": "Identifier",
              "start": 1681,
              "end": 1688,
              "loc": {
                "start": {
                  "line": 56,
                  "column": 0
                },
                "end": {
                  "line": 56,
                  "column": 7
                },
                "identifierName": "exports"
              },
              "name": "exports"
            },
            "property": {
              "type": "Identifier",
              "start": 1689,
              "end": 1700,
              "loc": {
                "start": {
                  "line": 56,
                  "column": 8
                },
                "end": {
                  "line": 56,
                  "column": 19
                },
                "identifierName": "hookAliases"
              },
              "name": "hookAliases"
            },
            "computed": false
          },
          "right": {
            "type": "Identifier",
            "start": 1703,
            "end": 1714,
            "loc": {
              "start": {
                "line": 56,
                "column": 22
              },
              "end": {
                "line": 56,
                "column": 33
              },
              "identifierName": "hookAliases"
            },
            "name": "hookAliases"
          }
        },
        "trailingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * get array of current hook and its proxied hooks combined\n * @private\n ",
            "start": 1717,
            "end": 1796,
            "loc": {
              "start": {
                "line": 58,
                "column": 0
              },
              "end": {
                "line": 61,
                "column": 3
              }
            }
          }
        ]
      },
      {
        "type": "VariableDeclaration",
        "start": 1797,
        "end": 1937,
        "loc": {
          "start": {
            "line": 62,
            "column": 0
          },
          "end": {
            "line": 66,
            "column": 2
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 1803,
            "end": 1936,
            "loc": {
              "start": {
                "line": 62,
                "column": 6
              },
              "end": {
                "line": 66,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 1803,
              "end": 1818,
              "loc": {
                "start": {
                  "line": 62,
                  "column": 6
                },
                "end": {
                  "line": 62,
                  "column": 21
                },
                "identifierName": "getProxiedHooks"
              },
              "name": "getProxiedHooks",
              "leadingComments": null
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "start": 1821,
              "end": 1936,
              "loc": {
                "start": {
                  "line": 62,
                  "column": 24
                },
                "end": {
                  "line": 66,
                  "column": 1
                }
              },
              "id": {
                "type": "Identifier",
                "start": 1803,
                "end": 1818,
                "loc": {
                  "start": {
                    "line": 62,
                    "column": 6
                  },
                  "end": {
                    "line": 62,
                    "column": 21
                  },
                  "identifierName": "getProxiedHooks"
                },
                "name": "getProxiedHooks",
                "leadingComments": null
              },
              "generator": false,
              "expression": true,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 1822,
                  "end": 1830,
                  "loc": {
                    "start": {
                      "line": 62,
                      "column": 25
                    },
                    "end": {
                      "line": 62,
                      "column": 33
                    },
                    "identifierName": "hookType"
                  },
                  "name": "hookType"
                }
              ],
              "body": {
                "type": "ConditionalExpression",
                "start": 1839,
                "end": 1934,
                "loc": {
                  "start": {
                    "line": 63,
                    "column": 2
                  },
                  "end": {
                    "line": 65,
                    "column": 16
                  }
                },
                "test": {
                  "type": "MemberExpression",
                  "start": 1839,
                  "end": 1866,
                  "loc": {
                    "start": {
                      "line": 63,
                      "column": 2
                    },
                    "end": {
                      "line": 63,
                      "column": 29
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 1839,
                    "end": 1858,
                    "loc": {
                      "start": {
                        "line": 63,
                        "column": 2
                      },
                      "end": {
                        "line": 63,
                        "column": 21
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 1839,
                      "end": 1848,
                      "loc": {
                        "start": {
                          "line": 63,
                          "column": 2
                        },
                        "end": {
                          "line": 63,
                          "column": 11
                        },
                        "identifierName": "hookTypes"
                      },
                      "name": "hookTypes"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 1849,
                      "end": 1857,
                      "loc": {
                        "start": {
                          "line": 63,
                          "column": 12
                        },
                        "end": {
                          "line": 63,
                          "column": 20
                        },
                        "identifierName": "hookType"
                      },
                      "name": "hookType"
                    },
                    "computed": true
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 1859,
                    "end": 1866,
                    "loc": {
                      "start": {
                        "line": 63,
                        "column": 22
                      },
                      "end": {
                        "line": 63,
                        "column": 29
                      },
                      "identifierName": "proxies"
                    },
                    "name": "proxies"
                  },
                  "computed": false
                },
                "consequent": {
                  "type": "CallExpression",
                  "start": 1873,
                  "end": 1917,
                  "loc": {
                    "start": {
                      "line": 64,
                      "column": 6
                    },
                    "end": {
                      "line": 64,
                      "column": 50
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 1873,
                    "end": 1907,
                    "loc": {
                      "start": {
                        "line": 64,
                        "column": 6
                      },
                      "end": {
                        "line": 64,
                        "column": 40
                      }
                    },
                    "object": {
                      "type": "MemberExpression",
                      "start": 1873,
                      "end": 1900,
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 6
                        },
                        "end": {
                          "line": 64,
                          "column": 33
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 1873,
                        "end": 1892,
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 6
                          },
                          "end": {
                            "line": 64,
                            "column": 25
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 1873,
                          "end": 1882,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 6
                            },
                            "end": {
                              "line": 64,
                              "column": 15
                            },
                            "identifierName": "hookTypes"
                          },
                          "name": "hookTypes"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1883,
                          "end": 1891,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 16
                            },
                            "end": {
                              "line": 64,
                              "column": 24
                            },
                            "identifierName": "hookType"
                          },
                          "name": "hookType"
                        },
                        "computed": true
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1893,
                        "end": 1900,
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 26
                          },
                          "end": {
                            "line": 64,
                            "column": 33
                          },
                          "identifierName": "proxies"
                        },
                        "name": "proxies"
                      },
                      "computed": false
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 1901,
                      "end": 1907,
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 34
                        },
                        "end": {
                          "line": 64,
                          "column": 40
                        },
                        "identifierName": "concat"
                      },
                      "name": "concat"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "Identifier",
                      "start": 1908,
                      "end": 1916,
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 41
                        },
                        "end": {
                          "line": 64,
                          "column": 49
                        },
                        "identifierName": "hookType"
                      },
                      "name": "hookType"
                    }
                  ]
                },
                "alternate": {
                  "type": "ArrayExpression",
                  "start": 1924,
                  "end": 1934,
                  "loc": {
                    "start": {
                      "line": 65,
                      "column": 6
                    },
                    "end": {
                      "line": 65,
                      "column": 16
                    }
                  },
                  "elements": [
                    {
                      "type": "Identifier",
                      "start": 1925,
                      "end": 1933,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 7
                        },
                        "end": {
                          "line": 65,
                          "column": 15
                        },
                        "identifierName": "hookType"
                      },
                      "name": "hookType"
                    }
                  ]
                },
                "extra": {
                  "parenthesized": true,
                  "parenStart": 1835
                }
              }
            },
            "leadingComments": null
          }
        ],
        "kind": "const",
        "leadingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * get array of current hook and its proxied hooks combined\n * @private\n ",
            "start": 1717,
            "end": 1796,
            "loc": {
              "start": {
                "line": 58,
                "column": 0
              },
              "end": {
                "line": 61,
                "column": 3
              }
            }
          }
        ]
      },
      {
        "type": "VariableDeclaration",
        "start": 1939,
        "end": 5476,
        "loc": {
          "start": {
            "line": 68,
            "column": 0
          },
          "end": {
            "line": 207,
            "column": 2
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 1945,
            "end": 5475,
            "loc": {
              "start": {
                "line": 68,
                "column": 6
              },
              "end": {
                "line": 207,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 1945,
              "end": 1950,
              "loc": {
                "start": {
                  "line": 68,
                  "column": 6
                },
                "end": {
                  "line": 68,
                  "column": 11
                },
                "identifierName": "Hooks"
              },
              "name": "Hooks"
            },
            "init": {
              "type": "ObjectExpression",
              "start": 1953,
              "end": 5475,
              "loc": {
                "start": {
                  "line": 68,
                  "column": 14
                },
                "end": {
                  "line": 207,
                  "column": 1
                }
              },
              "properties": [
                {
                  "type": "ObjectMethod",
                  "start": 1957,
                  "end": 2368,
                  "loc": {
                    "start": {
                      "line": 69,
                      "column": 2
                    },
                    "end": {
                      "line": 84,
                      "column": 3
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 1957,
                    "end": 1975,
                    "loc": {
                      "start": {
                        "line": 69,
                        "column": 2
                      },
                      "end": {
                        "line": 69,
                        "column": 20
                      },
                      "identifierName": "replaceHookAliases"
                    },
                    "name": "replaceHookAliases"
                  },
                  "kind": "method",
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 1976,
                      "end": 1981,
                      "loc": {
                        "start": {
                          "line": 69,
                          "column": 21
                        },
                        "end": {
                          "line": 69,
                          "column": 26
                        },
                        "identifierName": "hooks"
                      },
                      "name": "hooks"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 1983,
                    "end": 2368,
                    "loc": {
                      "start": {
                        "line": 69,
                        "column": 28
                      },
                      "end": {
                        "line": 84,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "VariableDeclaration",
                        "start": 1989,
                        "end": 2006,
                        "loc": {
                          "start": {
                            "line": 70,
                            "column": 4
                          },
                          "end": {
                            "line": 70,
                            "column": 21
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 1993,
                            "end": 2005,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 8
                              },
                              "end": {
                                "line": 70,
                                "column": 20
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 1993,
                              "end": 2005,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 8
                                },
                                "end": {
                                  "line": 70,
                                  "column": 20
                                },
                                "identifierName": "realHookName"
                              },
                              "name": "realHookName"
                            },
                            "init": null
                          }
                        ],
                        "kind": "let"
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 2012,
                        "end": 2345,
                        "loc": {
                          "start": {
                            "line": 72,
                            "column": 4
                          },
                          "end": {
                            "line": 81,
                            "column": 7
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 2012,
                          "end": 2344,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 4
                            },
                            "end": {
                              "line": 81,
                              "column": 6
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2012,
                            "end": 2024,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 4
                              },
                              "end": {
                                "line": 72,
                                "column": 16
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 2012,
                              "end": 2019,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 4
                                },
                                "end": {
                                  "line": 72,
                                  "column": 11
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2012,
                                "end": 2017,
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 4
                                  },
                                  "end": {
                                    "line": 72,
                                    "column": 9
                                  },
                                  "identifierName": "Utils"
                                },
                                "name": "Utils"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2018,
                                "end": 2019,
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 72,
                                    "column": 11
                                  },
                                  "identifierName": "_"
                                },
                                "name": "_"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2020,
                              "end": 2024,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 12
                                },
                                "end": {
                                  "line": 72,
                                  "column": 16
                                },
                                "identifierName": "each"
                              },
                              "name": "each"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 2025,
                              "end": 2030,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 17
                                },
                                "end": {
                                  "line": 72,
                                  "column": 22
                                },
                                "identifierName": "hooks"
                              },
                              "name": "hooks"
                            },
                            {
                              "type": "ArrowFunctionExpression",
                              "start": 2032,
                              "end": 2343,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 24
                                },
                                "end": {
                                  "line": 81,
                                  "column": 5
                                }
                              },
                              "id": null,
                              "generator": false,
                              "expression": false,
                              "async": false,
                              "params": [
                                {
                                  "type": "Identifier",
                                  "start": 2033,
                                  "end": 2043,
                                  "loc": {
                                    "start": {
                                      "line": 72,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 72,
                                      "column": 35
                                    },
                                    "identifierName": "hooksArray"
                                  },
                                  "name": "hooksArray"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 2045,
                                  "end": 2049,
                                  "loc": {
                                    "start": {
                                      "line": 72,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 72,
                                      "column": 41
                                    },
                                    "identifierName": "name"
                                  },
                                  "name": "name"
                                }
                              ],
                              "body": {
                                "type": "BlockStatement",
                                "start": 2054,
                                "end": 2343,
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 81,
                                    "column": 5
                                  }
                                },
                                "body": [
                                  {
                                    "type": "IfStatement",
                                    "start": 2111,
                                    "end": 2337,
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 7
                                      }
                                    },
                                    "test": {
                                      "type": "AssignmentExpression",
                                      "start": 2115,
                                      "end": 2147,
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 10
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 42
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "start": 2115,
                                        "end": 2127,
                                        "loc": {
                                          "start": {
                                            "line": 74,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 74,
                                            "column": 22
                                          },
                                          "identifierName": "realHookName"
                                        },
                                        "name": "realHookName",
                                        "leadingComments": null
                                      },
                                      "right": {
                                        "type": "MemberExpression",
                                        "start": 2130,
                                        "end": 2147,
                                        "loc": {
                                          "start": {
                                            "line": 74,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 74,
                                            "column": 42
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 2130,
                                          "end": 2141,
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 36
                                            },
                                            "identifierName": "hookAliases"
                                          },
                                          "name": "hookAliases"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2142,
                                          "end": 2146,
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 41
                                            },
                                            "identifierName": "name"
                                          },
                                          "name": "name"
                                        },
                                        "computed": true
                                      },
                                      "leadingComments": null
                                    },
                                    "consequent": {
                                      "type": "BlockStatement",
                                      "start": 2149,
                                      "end": 2337,
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 80,
                                          "column": 7
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 2203,
                                          "end": 2272,
                                          "loc": {
                                            "start": {
                                              "line": 76,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 76,
                                              "column": 77
                                            }
                                          },
                                          "expression": {
                                            "type": "AssignmentExpression",
                                            "start": 2203,
                                            "end": 2271,
                                            "loc": {
                                              "start": {
                                                "line": 76,
                                                "column": 8
                                              },
                                              "end": {
                                                "line": 76,
                                                "column": 76
                                              }
                                            },
                                            "operator": "=",
                                            "left": {
                                              "type": "MemberExpression",
                                              "start": 2203,
                                              "end": 2222,
                                              "loc": {
                                                "start": {
                                                  "line": 76,
                                                  "column": 8
                                                },
                                                "end": {
                                                  "line": 76,
                                                  "column": 27
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 2203,
                                                "end": 2208,
                                                "loc": {
                                                  "start": {
                                                    "line": 76,
                                                    "column": 8
                                                  },
                                                  "end": {
                                                    "line": 76,
                                                    "column": 13
                                                  },
                                                  "identifierName": "hooks"
                                                },
                                                "name": "hooks",
                                                "leadingComments": null
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2209,
                                                "end": 2221,
                                                "loc": {
                                                  "start": {
                                                    "line": 76,
                                                    "column": 14
                                                  },
                                                  "end": {
                                                    "line": 76,
                                                    "column": 26
                                                  },
                                                  "identifierName": "realHookName"
                                                },
                                                "name": "realHookName"
                                              },
                                              "computed": true,
                                              "leadingComments": null
                                            },
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 2225,
                                              "end": 2271,
                                              "loc": {
                                                "start": {
                                                  "line": 76,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 76,
                                                  "column": 76
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 2225,
                                                "end": 2259,
                                                "loc": {
                                                  "start": {
                                                    "line": 76,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 76,
                                                    "column": 64
                                                  }
                                                },
                                                "object": {
                                                  "type": "LogicalExpression",
                                                  "start": 2226,
                                                  "end": 2251,
                                                  "loc": {
                                                    "start": {
                                                      "line": 76,
                                                      "column": 31
                                                    },
                                                    "end": {
                                                      "line": 76,
                                                      "column": 56
                                                    }
                                                  },
                                                  "left": {
                                                    "type": "MemberExpression",
                                                    "start": 2226,
                                                    "end": 2245,
                                                    "loc": {
                                                      "start": {
                                                        "line": 76,
                                                        "column": 31
                                                      },
                                                      "end": {
                                                        "line": 76,
                                                        "column": 50
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 2226,
                                                      "end": 2231,
                                                      "loc": {
                                                        "start": {
                                                          "line": 76,
                                                          "column": 31
                                                        },
                                                        "end": {
                                                          "line": 76,
                                                          "column": 36
                                                        },
                                                        "identifierName": "hooks"
                                                      },
                                                      "name": "hooks"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 2232,
                                                      "end": 2244,
                                                      "loc": {
                                                        "start": {
                                                          "line": 76,
                                                          "column": 37
                                                        },
                                                        "end": {
                                                          "line": 76,
                                                          "column": 49
                                                        },
                                                        "identifierName": "realHookName"
                                                      },
                                                      "name": "realHookName"
                                                    },
                                                    "computed": true
                                                  },
                                                  "operator": "||",
                                                  "right": {
                                                    "type": "ArrayExpression",
                                                    "start": 2249,
                                                    "end": 2251,
                                                    "loc": {
                                                      "start": {
                                                        "line": 76,
                                                        "column": 54
                                                      },
                                                      "end": {
                                                        "line": 76,
                                                        "column": 56
                                                      }
                                                    },
                                                    "elements": []
                                                  },
                                                  "extra": {
                                                    "parenthesized": true,
                                                    "parenStart": 2225
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 2253,
                                                  "end": 2259,
                                                  "loc": {
                                                    "start": {
                                                      "line": 76,
                                                      "column": 58
                                                    },
                                                    "end": {
                                                      "line": 76,
                                                      "column": 64
                                                    },
                                                    "identifierName": "concat"
                                                  },
                                                  "name": "concat"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 2260,
                                                  "end": 2270,
                                                  "loc": {
                                                    "start": {
                                                      "line": 76,
                                                      "column": 65
                                                    },
                                                    "end": {
                                                      "line": 76,
                                                      "column": 75
                                                    },
                                                    "identifierName": "hooksArray"
                                                  },
                                                  "name": "hooksArray"
                                                }
                                              ]
                                            },
                                            "leadingComments": null
                                          },
                                          "leadingComments": [
                                            {
                                              "type": "CommentLine",
                                              "value": " Add the hooks to the actual hook",
                                              "start": 2159,
                                              "end": 2194,
                                              "loc": {
                                                "start": {
                                                  "line": 75,
                                                  "column": 8
                                                },
                                                "end": {
                                                  "line": 75,
                                                  "column": 43
                                                }
                                              }
                                            }
                                          ],
                                          "trailingComments": [
                                            {
                                              "type": "CommentLine",
                                              "value": " Delete the alias",
                                              "start": 2282,
                                              "end": 2301,
                                              "loc": {
                                                "start": {
                                                  "line": 78,
                                                  "column": 8
                                                },
                                                "end": {
                                                  "line": 78,
                                                  "column": 27
                                                }
                                              }
                                            }
                                          ]
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 2310,
                                          "end": 2329,
                                          "loc": {
                                            "start": {
                                              "line": 79,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 79,
                                              "column": 27
                                            }
                                          },
                                          "expression": {
                                            "type": "UnaryExpression",
                                            "start": 2310,
                                            "end": 2328,
                                            "loc": {
                                              "start": {
                                                "line": 79,
                                                "column": 8
                                              },
                                              "end": {
                                                "line": 79,
                                                "column": 26
                                              }
                                            },
                                            "operator": "delete",
                                            "prefix": true,
                                            "argument": {
                                              "type": "MemberExpression",
                                              "start": 2317,
                                              "end": 2328,
                                              "loc": {
                                                "start": {
                                                  "line": 79,
                                                  "column": 15
                                                },
                                                "end": {
                                                  "line": 79,
                                                  "column": 26
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 2317,
                                                "end": 2322,
                                                "loc": {
                                                  "start": {
                                                    "line": 79,
                                                    "column": 15
                                                  },
                                                  "end": {
                                                    "line": 79,
                                                    "column": 20
                                                  },
                                                  "identifierName": "hooks"
                                                },
                                                "name": "hooks",
                                                "leadingComments": null
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2323,
                                                "end": 2327,
                                                "loc": {
                                                  "start": {
                                                    "line": 79,
                                                    "column": 21
                                                  },
                                                  "end": {
                                                    "line": 79,
                                                    "column": 25
                                                  },
                                                  "identifierName": "name"
                                                },
                                                "name": "name"
                                              },
                                              "computed": true,
                                              "leadingComments": null
                                            },
                                            "extra": {
                                              "parenthesizedArgument": false
                                            },
                                            "leadingComments": null
                                          },
                                          "leadingComments": [
                                            {
                                              "type": "CommentLine",
                                              "value": " Delete the alias",
                                              "start": 2282,
                                              "end": 2301,
                                              "loc": {
                                                "start": {
                                                  "line": 78,
                                                  "column": 8
                                                },
                                                "end": {
                                                  "line": 78,
                                                  "column": 27
                                                }
                                              }
                                            }
                                          ]
                                        }
                                      ],
                                      "directives": []
                                    },
                                    "alternate": null,
                                    "leadingComments": [
                                      {
                                        "type": "CommentLine",
                                        "value": " Does an alias for this hook name exist?",
                                        "start": 2062,
                                        "end": 2104,
                                        "loc": {
                                          "start": {
                                            "line": 73,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 73,
                                            "column": 48
                                          }
                                        }
                                      }
                                    ]
                                  }
                                ],
                                "directives": []
                              }
                            }
                          ]
                        }
                      },
                      {
                        "type": "ReturnStatement",
                        "start": 2351,
                        "end": 2364,
                        "loc": {
                          "start": {
                            "line": 83,
                            "column": 4
                          },
                          "end": {
                            "line": 83,
                            "column": 17
                          }
                        },
                        "argument": {
                          "type": "Identifier",
                          "start": 2358,
                          "end": 2363,
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 11
                            },
                            "end": {
                              "line": 83,
                              "column": 16
                            },
                            "identifierName": "hooks"
                          },
                          "name": "hooks"
                        }
                      }
                    ],
                    "directives": []
                  }
                },
                {
                  "type": "ObjectMethod",
                  "start": 2373,
                  "end": 3385,
                  "loc": {
                    "start": {
                      "line": 86,
                      "column": 2
                    },
                    "end": {
                      "line": 124,
                      "column": 3
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 2373,
                    "end": 2381,
                    "loc": {
                      "start": {
                        "line": 86,
                        "column": 2
                      },
                      "end": {
                        "line": 86,
                        "column": 10
                      },
                      "identifierName": "runHooks"
                    },
                    "name": "runHooks"
                  },
                  "kind": "method",
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 2382,
                      "end": 2387,
                      "loc": {
                        "start": {
                          "line": 86,
                          "column": 11
                        },
                        "end": {
                          "line": 86,
                          "column": 16
                        },
                        "identifierName": "hooks"
                      },
                      "name": "hooks"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 2389,
                    "end": 3385,
                    "loc": {
                      "start": {
                        "line": 86,
                        "column": 18
                      },
                      "end": {
                        "line": 124,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "IfStatement",
                        "start": 2395,
                        "end": 2463,
                        "loc": {
                          "start": {
                            "line": 87,
                            "column": 4
                          },
                          "end": {
                            "line": 87,
                            "column": 72
                          }
                        },
                        "test": {
                          "type": "UnaryExpression",
                          "start": 2399,
                          "end": 2405,
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 8
                            },
                            "end": {
                              "line": 87,
                              "column": 14
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "Identifier",
                            "start": 2400,
                            "end": 2405,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 9
                              },
                              "end": {
                                "line": 87,
                                "column": 14
                              },
                              "identifierName": "hooks"
                            },
                            "name": "hooks"
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        },
                        "consequent": {
                          "type": "ThrowStatement",
                          "start": 2407,
                          "end": 2463,
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 16
                            },
                            "end": {
                              "line": 87,
                              "column": 72
                            }
                          },
                          "argument": {
                            "type": "NewExpression",
                            "start": 2413,
                            "end": 2462,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 22
                              },
                              "end": {
                                "line": 87,
                                "column": 71
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 2417,
                              "end": 2422,
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 26
                                },
                                "end": {
                                  "line": 87,
                                  "column": 31
                                },
                                "identifierName": "Error"
                              },
                              "name": "Error"
                            },
                            "arguments": [
                              {
                                "type": "StringLiteral",
                                "start": 2423,
                                "end": 2461,
                                "loc": {
                                  "start": {
                                    "line": 87,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 87,
                                    "column": 70
                                  }
                                },
                                "extra": {
                                  "rawValue": "runHooks requires atleast 1 argument",
                                  "raw": "'runHooks requires atleast 1 argument'"
                                },
                                "value": "runHooks requires atleast 1 argument"
                              }
                            ]
                          }
                        },
                        "alternate": null
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 2469,
                        "end": 2516,
                        "loc": {
                          "start": {
                            "line": 89,
                            "column": 4
                          },
                          "end": {
                            "line": 89,
                            "column": 51
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 2475,
                            "end": 2515,
                            "loc": {
                              "start": {
                                "line": 89,
                                "column": 10
                              },
                              "end": {
                                "line": 89,
                                "column": 50
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 2475,
                              "end": 2483,
                              "loc": {
                                "start": {
                                  "line": 89,
                                  "column": 10
                                },
                                "end": {
                                  "line": 89,
                                  "column": 18
                                },
                                "identifierName": "hookArgs"
                              },
                              "name": "hookArgs"
                            },
                            "init": {
                              "type": "CallExpression",
                              "start": 2486,
                              "end": 2515,
                              "loc": {
                                "start": {
                                  "line": 89,
                                  "column": 21
                                },
                                "end": {
                                  "line": 89,
                                  "column": 50
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 2486,
                                "end": 2501,
                                "loc": {
                                  "start": {
                                    "line": 89,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 89,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2486,
                                  "end": 2491,
                                  "loc": {
                                    "start": {
                                      "line": 89,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 89,
                                      "column": 26
                                    },
                                    "identifierName": "Utils"
                                  },
                                  "name": "Utils"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2492,
                                  "end": 2501,
                                  "loc": {
                                    "start": {
                                      "line": 89,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 89,
                                      "column": 36
                                    },
                                    "identifierName": "sliceArgs"
                                  },
                                  "name": "sliceArgs"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 2502,
                                  "end": 2511,
                                  "loc": {
                                    "start": {
                                      "line": 89,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 89,
                                      "column": 46
                                    },
                                    "identifierName": "arguments"
                                  },
                                  "name": "arguments"
                                },
                                {
                                  "type": "NumericLiteral",
                                  "start": 2513,
                                  "end": 2514,
                                  "loc": {
                                    "start": {
                                      "line": 89,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 89,
                                      "column": 49
                                    }
                                  },
                                  "extra": {
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  "value": 1
                                }
                              ]
                            }
                          }
                        ],
                        "kind": "const"
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 2521,
                        "end": 2534,
                        "loc": {
                          "start": {
                            "line": 90,
                            "column": 4
                          },
                          "end": {
                            "line": 90,
                            "column": 17
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 2525,
                            "end": 2533,
                            "loc": {
                              "start": {
                                "line": 90,
                                "column": 8
                              },
                              "end": {
                                "line": 90,
                                "column": 16
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 2525,
                              "end": 2533,
                              "loc": {
                                "start": {
                                  "line": 90,
                                  "column": 8
                                },
                                "end": {
                                  "line": 90,
                                  "column": 16
                                },
                                "identifierName": "hookType"
                              },
                              "name": "hookType"
                            },
                            "init": null
                          }
                        ],
                        "kind": "let"
                      },
                      {
                        "type": "IfStatement",
                        "start": 2540,
                        "end": 2746,
                        "loc": {
                          "start": {
                            "line": 92,
                            "column": 4
                          },
                          "end": {
                            "line": 96,
                            "column": 5
                          }
                        },
                        "test": {
                          "type": "BinaryExpression",
                          "start": 2544,
                          "end": 2569,
                          "loc": {
                            "start": {
                              "line": 92,
                              "column": 8
                            },
                            "end": {
                              "line": 92,
                              "column": 33
                            }
                          },
                          "left": {
                            "type": "UnaryExpression",
                            "start": 2544,
                            "end": 2556,
                            "loc": {
                              "start": {
                                "line": 92,
                                "column": 8
                              },
                              "end": {
                                "line": 92,
                                "column": 20
                              }
                            },
                            "operator": "typeof",
                            "prefix": true,
                            "argument": {
                              "type": "Identifier",
                              "start": 2551,
                              "end": 2556,
                              "loc": {
                                "start": {
                                  "line": 92,
                                  "column": 15
                                },
                                "end": {
                                  "line": 92,
                                  "column": 20
                                },
                                "identifierName": "hooks"
                              },
                              "name": "hooks"
                            },
                            "extra": {
                              "parenthesizedArgument": false
                            }
                          },
                          "operator": "===",
                          "right": {
                            "type": "StringLiteral",
                            "start": 2561,
                            "end": 2569,
                            "loc": {
                              "start": {
                                "line": 92,
                                "column": 25
                              },
                              "end": {
                                "line": 92,
                                "column": 33
                              }
                            },
                            "extra": {
                              "rawValue": "string",
                              "raw": "'string'"
                            },
                            "value": "string"
                          }
                        },
                        "consequent": {
                          "type": "BlockStatement",
                          "start": 2571,
                          "end": 2746,
                          "loc": {
                            "start": {
                              "line": 92,
                              "column": 35
                            },
                            "end": {
                              "line": 96,
                              "column": 5
                            }
                          },
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "start": 2579,
                              "end": 2596,
                              "loc": {
                                "start": {
                                  "line": 93,
                                  "column": 6
                                },
                                "end": {
                                  "line": 93,
                                  "column": 23
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 2579,
                                "end": 2595,
                                "loc": {
                                  "start": {
                                    "line": 93,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 93,
                                    "column": 22
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 2579,
                                  "end": 2587,
                                  "loc": {
                                    "start": {
                                      "line": 93,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 93,
                                      "column": 14
                                    },
                                    "identifierName": "hookType"
                                  },
                                  "name": "hookType"
                                },
                                "right": {
                                  "type": "Identifier",
                                  "start": 2590,
                                  "end": 2595,
                                  "loc": {
                                    "start": {
                                      "line": 93,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 93,
                                      "column": 22
                                    },
                                    "identifierName": "hooks"
                                  },
                                  "name": "hooks"
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 2603,
                              "end": 2646,
                              "loc": {
                                "start": {
                                  "line": 94,
                                  "column": 6
                                },
                                "end": {
                                  "line": 94,
                                  "column": 49
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 2603,
                                "end": 2645,
                                "loc": {
                                  "start": {
                                    "line": 94,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 94,
                                    "column": 48
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 2603,
                                  "end": 2608,
                                  "loc": {
                                    "start": {
                                      "line": 94,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 94,
                                      "column": 11
                                    },
                                    "identifierName": "hooks"
                                  },
                                  "name": "hooks"
                                },
                                "right": {
                                  "type": "LogicalExpression",
                                  "start": 2611,
                                  "end": 2645,
                                  "loc": {
                                    "start": {
                                      "line": 94,
                                      "column": 14
                                    },
                                    "end": {
                                      "line": 94,
                                      "column": 48
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 2611,
                                    "end": 2639,
                                    "loc": {
                                      "start": {
                                        "line": 94,
                                        "column": 14
                                      },
                                      "end": {
                                        "line": 94,
                                        "column": 42
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 2611,
                                      "end": 2629,
                                      "loc": {
                                        "start": {
                                          "line": 94,
                                          "column": 14
                                        },
                                        "end": {
                                          "line": 94,
                                          "column": 32
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 2611,
                                        "end": 2623,
                                        "loc": {
                                          "start": {
                                            "line": 94,
                                            "column": 14
                                          },
                                          "end": {
                                            "line": 94,
                                            "column": 26
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 2611,
                                          "end": 2615,
                                          "loc": {
                                            "start": {
                                              "line": 94,
                                              "column": 14
                                            },
                                            "end": {
                                              "line": 94,
                                              "column": 18
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2616,
                                          "end": 2623,
                                          "loc": {
                                            "start": {
                                              "line": 94,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 94,
                                              "column": 26
                                            },
                                            "identifierName": "options"
                                          },
                                          "name": "options"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2624,
                                        "end": 2629,
                                        "loc": {
                                          "start": {
                                            "line": 94,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 94,
                                            "column": 32
                                          },
                                          "identifierName": "hooks"
                                        },
                                        "name": "hooks"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2630,
                                      "end": 2638,
                                      "loc": {
                                        "start": {
                                          "line": 94,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 94,
                                          "column": 41
                                        },
                                        "identifierName": "hookType"
                                      },
                                      "name": "hookType"
                                    },
                                    "computed": true
                                  },
                                  "operator": "||",
                                  "right": {
                                    "type": "ArrayExpression",
                                    "start": 2643,
                                    "end": 2645,
                                    "loc": {
                                      "start": {
                                        "line": 94,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 94,
                                        "column": 48
                                      }
                                    },
                                    "elements": []
                                  }
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "start": 2653,
                              "end": 2740,
                              "loc": {
                                "start": {
                                  "line": 95,
                                  "column": 6
                                },
                                "end": {
                                  "line": 95,
                                  "column": 93
                                }
                              },
                              "test": {
                                "type": "MemberExpression",
                                "start": 2657,
                                "end": 2671,
                                "loc": {
                                  "start": {
                                    "line": 95,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 95,
                                    "column": 24
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 2657,
                                  "end": 2661,
                                  "loc": {
                                    "start": {
                                      "line": 95,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 95,
                                      "column": 14
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2662,
                                  "end": 2671,
                                  "loc": {
                                    "start": {
                                      "line": 95,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 95,
                                      "column": 24
                                    },
                                    "identifierName": "sequelize"
                                  },
                                  "name": "sequelize"
                                },
                                "computed": false
                              },
                              "consequent": {
                                "type": "ExpressionStatement",
                                "start": 2673,
                                "end": 2740,
                                "loc": {
                                  "start": {
                                    "line": 95,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 95,
                                    "column": 93
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 2673,
                                  "end": 2739,
                                  "loc": {
                                    "start": {
                                      "line": 95,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 95,
                                      "column": 92
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "Identifier",
                                    "start": 2673,
                                    "end": 2678,
                                    "loc": {
                                      "start": {
                                        "line": 95,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 95,
                                        "column": 31
                                      },
                                      "identifierName": "hooks"
                                    },
                                    "name": "hooks"
                                  },
                                  "right": {
                                    "type": "CallExpression",
                                    "start": 2681,
                                    "end": 2739,
                                    "loc": {
                                      "start": {
                                        "line": 95,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 95,
                                        "column": 92
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 2681,
                                      "end": 2693,
                                      "loc": {
                                        "start": {
                                          "line": 95,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 95,
                                          "column": 46
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 2681,
                                        "end": 2686,
                                        "loc": {
                                          "start": {
                                            "line": 95,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 95,
                                            "column": 39
                                          },
                                          "identifierName": "hooks"
                                        },
                                        "name": "hooks"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2687,
                                        "end": 2693,
                                        "loc": {
                                          "start": {
                                            "line": 95,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 95,
                                            "column": 46
                                          },
                                          "identifierName": "concat"
                                        },
                                        "name": "concat"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "LogicalExpression",
                                        "start": 2694,
                                        "end": 2738,
                                        "loc": {
                                          "start": {
                                            "line": 95,
                                            "column": 47
                                          },
                                          "end": {
                                            "line": 95,
                                            "column": 91
                                          }
                                        },
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 2694,
                                          "end": 2732,
                                          "loc": {
                                            "start": {
                                              "line": 95,
                                              "column": 47
                                            },
                                            "end": {
                                              "line": 95,
                                              "column": 85
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 2694,
                                            "end": 2722,
                                            "loc": {
                                              "start": {
                                                "line": 95,
                                                "column": 47
                                              },
                                              "end": {
                                                "line": 95,
                                                "column": 75
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 2694,
                                              "end": 2716,
                                              "loc": {
                                                "start": {
                                                  "line": 95,
                                                  "column": 47
                                                },
                                                "end": {
                                                  "line": 95,
                                                  "column": 69
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 2694,
                                                "end": 2708,
                                                "loc": {
                                                  "start": {
                                                    "line": 95,
                                                    "column": 47
                                                  },
                                                  "end": {
                                                    "line": 95,
                                                    "column": 61
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 2694,
                                                  "end": 2698,
                                                  "loc": {
                                                    "start": {
                                                      "line": 95,
                                                      "column": 47
                                                    },
                                                    "end": {
                                                      "line": 95,
                                                      "column": 51
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 2699,
                                                  "end": 2708,
                                                  "loc": {
                                                    "start": {
                                                      "line": 95,
                                                      "column": 52
                                                    },
                                                    "end": {
                                                      "line": 95,
                                                      "column": 61
                                                    },
                                                    "identifierName": "sequelize"
                                                  },
                                                  "name": "sequelize"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2709,
                                                "end": 2716,
                                                "loc": {
                                                  "start": {
                                                    "line": 95,
                                                    "column": 62
                                                  },
                                                  "end": {
                                                    "line": 95,
                                                    "column": 69
                                                  },
                                                  "identifierName": "options"
                                                },
                                                "name": "options"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2717,
                                              "end": 2722,
                                              "loc": {
                                                "start": {
                                                  "line": 95,
                                                  "column": 70
                                                },
                                                "end": {
                                                  "line": 95,
                                                  "column": 75
                                                },
                                                "identifierName": "hooks"
                                              },
                                              "name": "hooks"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2723,
                                            "end": 2731,
                                            "loc": {
                                              "start": {
                                                "line": 95,
                                                "column": 76
                                              },
                                              "end": {
                                                "line": 95,
                                                "column": 84
                                              },
                                              "identifierName": "hookType"
                                            },
                                            "name": "hookType"
                                          },
                                          "computed": true
                                        },
                                        "operator": "||",
                                        "right": {
                                          "type": "ArrayExpression",
                                          "start": 2736,
                                          "end": 2738,
                                          "loc": {
                                            "start": {
                                              "line": 95,
                                              "column": 89
                                            },
                                            "end": {
                                              "line": 95,
                                              "column": 91
                                            }
                                          },
                                          "elements": []
                                        }
                                      }
                                    ]
                                  }
                                }
                              },
                              "alternate": null
                            }
                          ],
                          "directives": []
                        },
                        "alternate": null
                      },
                      {
                        "type": "IfStatement",
                        "start": 2752,
                        "end": 2809,
                        "loc": {
                          "start": {
                            "line": 98,
                            "column": 4
                          },
                          "end": {
                            "line": 100,
                            "column": 5
                          }
                        },
                        "test": {
                          "type": "UnaryExpression",
                          "start": 2756,
                          "end": 2777,
                          "loc": {
                            "start": {
                              "line": 98,
                              "column": 8
                            },
                            "end": {
                              "line": 98,
                              "column": 29
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "CallExpression",
                            "start": 2757,
                            "end": 2777,
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 9
                              },
                              "end": {
                                "line": 98,
                                "column": 29
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 2757,
                              "end": 2770,
                              "loc": {
                                "start": {
                                  "line": 98,
                                  "column": 9
                                },
                                "end": {
                                  "line": 98,
                                  "column": 22
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2757,
                                "end": 2762,
                                "loc": {
                                  "start": {
                                    "line": 98,
                                    "column": 9
                                  },
                                  "end": {
                                    "line": 98,
                                    "column": 14
                                  },
                                  "identifierName": "Array"
                                },
                                "name": "Array"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2763,
                                "end": 2770,
                                "loc": {
                                  "start": {
                                    "line": 98,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 98,
                                    "column": 22
                                  },
                                  "identifierName": "isArray"
                                },
                                "name": "isArray"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 2771,
                                "end": 2776,
                                "loc": {
                                  "start": {
                                    "line": 98,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 98,
                                    "column": 28
                                  },
                                  "identifierName": "hooks"
                                },
                                "name": "hooks"
                              }
                            ]
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        },
                        "consequent": {
                          "type": "BlockStatement",
                          "start": 2779,
                          "end": 2809,
                          "loc": {
                            "start": {
                              "line": 98,
                              "column": 31
                            },
                            "end": {
                              "line": 100,
                              "column": 5
                            }
                          },
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "start": 2787,
                              "end": 2803,
                              "loc": {
                                "start": {
                                  "line": 99,
                                  "column": 6
                                },
                                "end": {
                                  "line": 99,
                                  "column": 22
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 2787,
                                "end": 2802,
                                "loc": {
                                  "start": {
                                    "line": 99,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 99,
                                    "column": 21
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 2787,
                                  "end": 2792,
                                  "loc": {
                                    "start": {
                                      "line": 99,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 99,
                                      "column": 11
                                    },
                                    "identifierName": "hooks"
                                  },
                                  "name": "hooks"
                                },
                                "right": {
                                  "type": "ArrayExpression",
                                  "start": 2795,
                                  "end": 2802,
                                  "loc": {
                                    "start": {
                                      "line": 99,
                                      "column": 14
                                    },
                                    "end": {
                                      "line": 99,
                                      "column": 21
                                    }
                                  },
                                  "elements": [
                                    {
                                      "type": "Identifier",
                                      "start": 2796,
                                      "end": 2801,
                                      "loc": {
                                        "start": {
                                          "line": 99,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 99,
                                          "column": 20
                                        },
                                        "identifierName": "hooks"
                                      },
                                      "name": "hooks"
                                    }
                                  ]
                                }
                              }
                            }
                          ],
                          "directives": [],
                          "trailingComments": null
                        },
                        "alternate": null,
                        "trailingComments": [
                          {
                            "type": "CommentLine",
                            "value": " synchronous hooks",
                            "start": 2815,
                            "end": 2835,
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 4
                              },
                              "end": {
                                "line": 102,
                                "column": 24
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "IfStatement",
                        "start": 2840,
                        "end": 3116,
                        "loc": {
                          "start": {
                            "line": 103,
                            "column": 4
                          },
                          "end": {
                            "line": 113,
                            "column": 5
                          }
                        },
                        "test": {
                          "type": "LogicalExpression",
                          "start": 2844,
                          "end": 2891,
                          "loc": {
                            "start": {
                              "line": 103,
                              "column": 8
                            },
                            "end": {
                              "line": 103,
                              "column": 55
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 2844,
                            "end": 2863,
                            "loc": {
                              "start": {
                                "line": 103,
                                "column": 8
                              },
                              "end": {
                                "line": 103,
                                "column": 27
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2844,
                              "end": 2853,
                              "loc": {
                                "start": {
                                  "line": 103,
                                  "column": 8
                                },
                                "end": {
                                  "line": 103,
                                  "column": 17
                                },
                                "identifierName": "hookTypes"
                              },
                              "name": "hookTypes",
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2854,
                              "end": 2862,
                              "loc": {
                                "start": {
                                  "line": 103,
                                  "column": 18
                                },
                                "end": {
                                  "line": 103,
                                  "column": 26
                                },
                                "identifierName": "hookType"
                              },
                              "name": "hookType"
                            },
                            "computed": true,
                            "leadingComments": null
                          },
                          "operator": "&&",
                          "right": {
                            "type": "MemberExpression",
                            "start": 2867,
                            "end": 2891,
                            "loc": {
                              "start": {
                                "line": 103,
                                "column": 31
                              },
                              "end": {
                                "line": 103,
                                "column": 55
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 2867,
                              "end": 2886,
                              "loc": {
                                "start": {
                                  "line": 103,
                                  "column": 31
                                },
                                "end": {
                                  "line": 103,
                                  "column": 50
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2867,
                                "end": 2876,
                                "loc": {
                                  "start": {
                                    "line": 103,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 103,
                                    "column": 40
                                  },
                                  "identifierName": "hookTypes"
                                },
                                "name": "hookTypes"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2877,
                                "end": 2885,
                                "loc": {
                                  "start": {
                                    "line": 103,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 103,
                                    "column": 49
                                  },
                                  "identifierName": "hookType"
                                },
                                "name": "hookType"
                              },
                              "computed": true
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2887,
                              "end": 2891,
                              "loc": {
                                "start": {
                                  "line": 103,
                                  "column": 51
                                },
                                "end": {
                                  "line": 103,
                                  "column": 55
                                },
                                "identifierName": "sync"
                              },
                              "name": "sync"
                            },
                            "computed": false
                          },
                          "leadingComments": null
                        },
                        "consequent": {
                          "type": "BlockStatement",
                          "start": 2893,
                          "end": 3116,
                          "loc": {
                            "start": {
                              "line": 103,
                              "column": 57
                            },
                            "end": {
                              "line": 113,
                              "column": 5
                            }
                          },
                          "body": [
                            {
                              "type": "ForOfStatement",
                              "start": 2901,
                              "end": 3096,
                              "loc": {
                                "start": {
                                  "line": 104,
                                  "column": 6
                                },
                                "end": {
                                  "line": 111,
                                  "column": 7
                                }
                              },
                              "left": {
                                "type": "VariableDeclaration",
                                "start": 2906,
                                "end": 2914,
                                "loc": {
                                  "start": {
                                    "line": 104,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 104,
                                    "column": 19
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 2910,
                                    "end": 2914,
                                    "loc": {
                                      "start": {
                                        "line": 104,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 104,
                                        "column": 19
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 2910,
                                      "end": 2914,
                                      "loc": {
                                        "start": {
                                          "line": 104,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 104,
                                          "column": 19
                                        },
                                        "identifierName": "hook"
                                      },
                                      "name": "hook"
                                    },
                                    "init": null
                                  }
                                ],
                                "kind": "let"
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 2918,
                                "end": 2923,
                                "loc": {
                                  "start": {
                                    "line": 104,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 104,
                                    "column": 28
                                  },
                                  "identifierName": "hooks"
                                },
                                "name": "hooks"
                              },
                              "body": {
                                "type": "BlockStatement",
                                "start": 2925,
                                "end": 3096,
                                "loc": {
                                  "start": {
                                    "line": 104,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 111,
                                    "column": 7
                                  }
                                },
                                "body": [
                                  {
                                    "type": "IfStatement",
                                    "start": 2935,
                                    "end": 3002,
                                    "loc": {
                                      "start": {
                                        "line": 105,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 9
                                      }
                                    },
                                    "test": {
                                      "type": "BinaryExpression",
                                      "start": 2939,
                                      "end": 2963,
                                      "loc": {
                                        "start": {
                                          "line": 105,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 105,
                                          "column": 36
                                        }
                                      },
                                      "left": {
                                        "type": "UnaryExpression",
                                        "start": 2939,
                                        "end": 2950,
                                        "loc": {
                                          "start": {
                                            "line": 105,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 105,
                                            "column": 23
                                          }
                                        },
                                        "operator": "typeof",
                                        "prefix": true,
                                        "argument": {
                                          "type": "Identifier",
                                          "start": 2946,
                                          "end": 2950,
                                          "loc": {
                                            "start": {
                                              "line": 105,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 105,
                                              "column": 23
                                            },
                                            "identifierName": "hook"
                                          },
                                          "name": "hook"
                                        },
                                        "extra": {
                                          "parenthesizedArgument": false
                                        }
                                      },
                                      "operator": "===",
                                      "right": {
                                        "type": "StringLiteral",
                                        "start": 2955,
                                        "end": 2963,
                                        "loc": {
                                          "start": {
                                            "line": 105,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 105,
                                            "column": 36
                                          }
                                        },
                                        "extra": {
                                          "rawValue": "object",
                                          "raw": "'object'"
                                        },
                                        "value": "object"
                                      }
                                    },
                                    "consequent": {
                                      "type": "BlockStatement",
                                      "start": 2965,
                                      "end": 3002,
                                      "loc": {
                                        "start": {
                                          "line": 105,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 107,
                                          "column": 9
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 2977,
                                          "end": 2992,
                                          "loc": {
                                            "start": {
                                              "line": 106,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 106,
                                              "column": 25
                                            }
                                          },
                                          "expression": {
                                            "type": "AssignmentExpression",
                                            "start": 2977,
                                            "end": 2991,
                                            "loc": {
                                              "start": {
                                                "line": 106,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 106,
                                                "column": 24
                                              }
                                            },
                                            "operator": "=",
                                            "left": {
                                              "type": "Identifier",
                                              "start": 2977,
                                              "end": 2981,
                                              "loc": {
                                                "start": {
                                                  "line": 106,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 106,
                                                  "column": 14
                                                },
                                                "identifierName": "hook"
                                              },
                                              "name": "hook"
                                            },
                                            "right": {
                                              "type": "MemberExpression",
                                              "start": 2984,
                                              "end": 2991,
                                              "loc": {
                                                "start": {
                                                  "line": 106,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 106,
                                                  "column": 24
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 2984,
                                                "end": 2988,
                                                "loc": {
                                                  "start": {
                                                    "line": 106,
                                                    "column": 17
                                                  },
                                                  "end": {
                                                    "line": 106,
                                                    "column": 21
                                                  },
                                                  "identifierName": "hook"
                                                },
                                                "name": "hook"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2989,
                                                "end": 2991,
                                                "loc": {
                                                  "start": {
                                                    "line": 106,
                                                    "column": 22
                                                  },
                                                  "end": {
                                                    "line": 106,
                                                    "column": 24
                                                  },
                                                  "identifierName": "fn"
                                                },
                                                "name": "fn"
                                              },
                                              "computed": false
                                            }
                                          }
                                        }
                                      ],
                                      "directives": []
                                    },
                                    "alternate": null
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 3012,
                                    "end": 3052,
                                    "loc": {
                                      "start": {
                                        "line": 109,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 109,
                                        "column": 48
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 3012,
                                      "end": 3051,
                                      "loc": {
                                        "start": {
                                          "line": 109,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 109,
                                          "column": 47
                                        }
                                      },
                                      "callee": {
                                        "type": "Identifier",
                                        "start": 3012,
                                        "end": 3017,
                                        "loc": {
                                          "start": {
                                            "line": 109,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 109,
                                            "column": 13
                                          },
                                          "identifierName": "debug"
                                        },
                                        "name": "debug"
                                      },
                                      "arguments": [
                                        {
                                          "type": "TemplateLiteral",
                                          "start": 3018,
                                          "end": 3050,
                                          "loc": {
                                            "start": {
                                              "line": 109,
                                              "column": 14
                                            },
                                            "end": {
                                              "line": 109,
                                              "column": 46
                                            }
                                          },
                                          "expressions": [
                                            {
                                              "type": "Identifier",
                                              "start": 3040,
                                              "end": 3048,
                                              "loc": {
                                                "start": {
                                                  "line": 109,
                                                  "column": 36
                                                },
                                                "end": {
                                                  "line": 109,
                                                  "column": 44
                                                },
                                                "identifierName": "hookType"
                                              },
                                              "name": "hookType"
                                            }
                                          ],
                                          "quasis": [
                                            {
                                              "type": "TemplateElement",
                                              "start": 3019,
                                              "end": 3038,
                                              "loc": {
                                                "start": {
                                                  "line": 109,
                                                  "column": 15
                                                },
                                                "end": {
                                                  "line": 109,
                                                  "column": 34
                                                }
                                              },
                                              "value": {
                                                "raw": "running hook(sync) ",
                                                "cooked": "running hook(sync) "
                                              },
                                              "tail": false
                                            },
                                            {
                                              "type": "TemplateElement",
                                              "start": 3049,
                                              "end": 3049,
                                              "loc": {
                                                "start": {
                                                  "line": 109,
                                                  "column": 45
                                                },
                                                "end": {
                                                  "line": 109,
                                                  "column": 45
                                                }
                                              },
                                              "value": {
                                                "raw": "",
                                                "cooked": ""
                                              },
                                              "tail": true
                                            }
                                          ]
                                        }
                                      ]
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 3061,
                                    "end": 3088,
                                    "loc": {
                                      "start": {
                                        "line": 110,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 110,
                                        "column": 35
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 3061,
                                      "end": 3087,
                                      "loc": {
                                        "start": {
                                          "line": 110,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 110,
                                          "column": 34
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 3061,
                                        "end": 3071,
                                        "loc": {
                                          "start": {
                                            "line": 110,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 110,
                                            "column": 18
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 3061,
                                          "end": 3065,
                                          "loc": {
                                            "start": {
                                              "line": 110,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 110,
                                              "column": 12
                                            },
                                            "identifierName": "hook"
                                          },
                                          "name": "hook"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 3066,
                                          "end": 3071,
                                          "loc": {
                                            "start": {
                                              "line": 110,
                                              "column": 13
                                            },
                                            "end": {
                                              "line": 110,
                                              "column": 18
                                            },
                                            "identifierName": "apply"
                                          },
                                          "name": "apply"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "ThisExpression",
                                          "start": 3072,
                                          "end": 3076,
                                          "loc": {
                                            "start": {
                                              "line": 110,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 110,
                                              "column": 23
                                            }
                                          }
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 3078,
                                          "end": 3086,
                                          "loc": {
                                            "start": {
                                              "line": 110,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 110,
                                              "column": 33
                                            },
                                            "identifierName": "hookArgs"
                                          },
                                          "name": "hookArgs"
                                        }
                                      ]
                                    }
                                  }
                                ],
                                "directives": []
                              }
                            },
                            {
                              "type": "ReturnStatement",
                              "start": 3103,
                              "end": 3110,
                              "loc": {
                                "start": {
                                  "line": 112,
                                  "column": 6
                                },
                                "end": {
                                  "line": 112,
                                  "column": 13
                                }
                              },
                              "argument": null
                            }
                          ],
                          "directives": [],
                          "trailingComments": null
                        },
                        "alternate": null,
                        "leadingComments": [
                          {
                            "type": "CommentLine",
                            "value": " synchronous hooks",
                            "start": 2815,
                            "end": 2835,
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 4
                              },
                              "end": {
                                "line": 102,
                                "column": 24
                              }
                            }
                          }
                        ],
                        "trailingComments": [
                          {
                            "type": "CommentLine",
                            "value": " asynchronous hooks (default)",
                            "start": 3122,
                            "end": 3153,
                            "loc": {
                              "start": {
                                "line": 115,
                                "column": 4
                              },
                              "end": {
                                "line": 115,
                                "column": 35
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "ReturnStatement",
                        "start": 3158,
                        "end": 3381,
                        "loc": {
                          "start": {
                            "line": 116,
                            "column": 4
                          },
                          "end": {
                            "line": 123,
                            "column": 16
                          }
                        },
                        "argument": {
                          "type": "CallExpression",
                          "start": 3165,
                          "end": 3380,
                          "loc": {
                            "start": {
                              "line": 116,
                              "column": 11
                            },
                            "end": {
                              "line": 123,
                              "column": 15
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 3165,
                            "end": 3378,
                            "loc": {
                              "start": {
                                "line": 116,
                                "column": 11
                              },
                              "end": {
                                "line": 123,
                                "column": 13
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 3165,
                              "end": 3371,
                              "loc": {
                                "start": {
                                  "line": 116,
                                  "column": 11
                                },
                                "end": {
                                  "line": 123,
                                  "column": 6
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 3165,
                                "end": 3177,
                                "loc": {
                                  "start": {
                                    "line": 116,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 116,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3165,
                                  "end": 3172,
                                  "loc": {
                                    "start": {
                                      "line": 116,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 116,
                                      "column": 18
                                    },
                                    "identifierName": "Promise"
                                  },
                                  "name": "Promise",
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3173,
                                  "end": 3177,
                                  "loc": {
                                    "start": {
                                      "line": 116,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 116,
                                      "column": 23
                                    },
                                    "identifierName": "each"
                                  },
                                  "name": "each"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 3178,
                                  "end": 3183,
                                  "loc": {
                                    "start": {
                                      "line": 116,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 116,
                                      "column": 29
                                    },
                                    "identifierName": "hooks"
                                  },
                                  "name": "hooks"
                                },
                                {
                                  "type": "ArrowFunctionExpression",
                                  "start": 3185,
                                  "end": 3370,
                                  "loc": {
                                    "start": {
                                      "line": 116,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 123,
                                      "column": 5
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 3185,
                                      "end": 3189,
                                      "loc": {
                                        "start": {
                                          "line": 116,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 116,
                                          "column": 35
                                        },
                                        "identifierName": "hook"
                                      },
                                      "name": "hook"
                                    }
                                  ],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 3193,
                                    "end": 3370,
                                    "loc": {
                                      "start": {
                                        "line": 116,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 123,
                                        "column": 5
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "IfStatement",
                                        "start": 3201,
                                        "end": 3264,
                                        "loc": {
                                          "start": {
                                            "line": 117,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 119,
                                            "column": 7
                                          }
                                        },
                                        "test": {
                                          "type": "BinaryExpression",
                                          "start": 3205,
                                          "end": 3229,
                                          "loc": {
                                            "start": {
                                              "line": 117,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 117,
                                              "column": 34
                                            }
                                          },
                                          "left": {
                                            "type": "UnaryExpression",
                                            "start": 3205,
                                            "end": 3216,
                                            "loc": {
                                              "start": {
                                                "line": 117,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 117,
                                                "column": 21
                                              }
                                            },
                                            "operator": "typeof",
                                            "prefix": true,
                                            "argument": {
                                              "type": "Identifier",
                                              "start": 3212,
                                              "end": 3216,
                                              "loc": {
                                                "start": {
                                                  "line": 117,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 117,
                                                  "column": 21
                                                },
                                                "identifierName": "hook"
                                              },
                                              "name": "hook"
                                            },
                                            "extra": {
                                              "parenthesizedArgument": false
                                            }
                                          },
                                          "operator": "===",
                                          "right": {
                                            "type": "StringLiteral",
                                            "start": 3221,
                                            "end": 3229,
                                            "loc": {
                                              "start": {
                                                "line": 117,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 117,
                                                "column": 34
                                              }
                                            },
                                            "extra": {
                                              "rawValue": "object",
                                              "raw": "'object'"
                                            },
                                            "value": "object"
                                          }
                                        },
                                        "consequent": {
                                          "type": "BlockStatement",
                                          "start": 3231,
                                          "end": 3264,
                                          "loc": {
                                            "start": {
                                              "line": 117,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 119,
                                              "column": 7
                                            }
                                          },
                                          "body": [
                                            {
                                              "type": "ExpressionStatement",
                                              "start": 3241,
                                              "end": 3256,
                                              "loc": {
                                                "start": {
                                                  "line": 118,
                                                  "column": 8
                                                },
                                                "end": {
                                                  "line": 118,
                                                  "column": 23
                                                }
                                              },
                                              "expression": {
                                                "type": "AssignmentExpression",
                                                "start": 3241,
                                                "end": 3255,
                                                "loc": {
                                                  "start": {
                                                    "line": 118,
                                                    "column": 8
                                                  },
                                                  "end": {
                                                    "line": 118,
                                                    "column": 22
                                                  }
                                                },
                                                "operator": "=",
                                                "left": {
                                                  "type": "Identifier",
                                                  "start": 3241,
                                                  "end": 3245,
                                                  "loc": {
                                                    "start": {
                                                      "line": 118,
                                                      "column": 8
                                                    },
                                                    "end": {
                                                      "line": 118,
                                                      "column": 12
                                                    },
                                                    "identifierName": "hook"
                                                  },
                                                  "name": "hook"
                                                },
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 3248,
                                                  "end": 3255,
                                                  "loc": {
                                                    "start": {
                                                      "line": 118,
                                                      "column": 15
                                                    },
                                                    "end": {
                                                      "line": 118,
                                                      "column": 22
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 3248,
                                                    "end": 3252,
                                                    "loc": {
                                                      "start": {
                                                        "line": 118,
                                                        "column": 15
                                                      },
                                                      "end": {
                                                        "line": 118,
                                                        "column": 19
                                                      },
                                                      "identifierName": "hook"
                                                    },
                                                    "name": "hook"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3253,
                                                    "end": 3255,
                                                    "loc": {
                                                      "start": {
                                                        "line": 118,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 118,
                                                        "column": 22
                                                      },
                                                      "identifierName": "fn"
                                                    },
                                                    "name": "fn"
                                                  },
                                                  "computed": false
                                                }
                                              }
                                            }
                                          ],
                                          "directives": []
                                        },
                                        "alternate": null
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 3272,
                                        "end": 3306,
                                        "loc": {
                                          "start": {
                                            "line": 121,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 121,
                                            "column": 40
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 3272,
                                          "end": 3305,
                                          "loc": {
                                            "start": {
                                              "line": 121,
                                              "column": 6
                                            },
                                            "end": {
                                              "line": 121,
                                              "column": 39
                                            }
                                          },
                                          "callee": {
                                            "type": "Identifier",
                                            "start": 3272,
                                            "end": 3277,
                                            "loc": {
                                              "start": {
                                                "line": 121,
                                                "column": 6
                                              },
                                              "end": {
                                                "line": 121,
                                                "column": 11
                                              },
                                              "identifierName": "debug"
                                            },
                                            "name": "debug"
                                          },
                                          "arguments": [
                                            {
                                              "type": "TemplateLiteral",
                                              "start": 3278,
                                              "end": 3304,
                                              "loc": {
                                                "start": {
                                                  "line": 121,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 121,
                                                  "column": 38
                                                }
                                              },
                                              "expressions": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 3294,
                                                  "end": 3302,
                                                  "loc": {
                                                    "start": {
                                                      "line": 121,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 121,
                                                      "column": 36
                                                    },
                                                    "identifierName": "hookType"
                                                  },
                                                  "name": "hookType"
                                                }
                                              ],
                                              "quasis": [
                                                {
                                                  "type": "TemplateElement",
                                                  "start": 3279,
                                                  "end": 3292,
                                                  "loc": {
                                                    "start": {
                                                      "line": 121,
                                                      "column": 13
                                                    },
                                                    "end": {
                                                      "line": 121,
                                                      "column": 26
                                                    }
                                                  },
                                                  "value": {
                                                    "raw": "running hook ",
                                                    "cooked": "running hook "
                                                  },
                                                  "tail": false
                                                },
                                                {
                                                  "type": "TemplateElement",
                                                  "start": 3303,
                                                  "end": 3303,
                                                  "loc": {
                                                    "start": {
                                                      "line": 121,
                                                      "column": 37
                                                    },
                                                    "end": {
                                                      "line": 121,
                                                      "column": 37
                                                    }
                                                  },
                                                  "value": {
                                                    "raw": "",
                                                    "cooked": ""
                                                  },
                                                  "tail": true
                                                }
                                              ]
                                            }
                                          ]
                                        }
                                      },
                                      {
                                        "type": "ReturnStatement",
                                        "start": 3313,
                                        "end": 3364,
                                        "loc": {
                                          "start": {
                                            "line": 122,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 122,
                                            "column": 57
                                          }
                                        },
                                        "argument": {
                                          "type": "CallExpression",
                                          "start": 3320,
                                          "end": 3363,
                                          "loc": {
                                            "start": {
                                              "line": 122,
                                              "column": 13
                                            },
                                            "end": {
                                              "line": 122,
                                              "column": 56
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 3320,
                                            "end": 3335,
                                            "loc": {
                                              "start": {
                                                "line": 122,
                                                "column": 13
                                              },
                                              "end": {
                                                "line": 122,
                                                "column": 28
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 3320,
                                              "end": 3327,
                                              "loc": {
                                                "start": {
                                                  "line": 122,
                                                  "column": 13
                                                },
                                                "end": {
                                                  "line": 122,
                                                  "column": 20
                                                },
                                                "identifierName": "Promise"
                                              },
                                              "name": "Promise"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 3328,
                                              "end": 3335,
                                              "loc": {
                                                "start": {
                                                  "line": 122,
                                                  "column": 21
                                                },
                                                "end": {
                                                  "line": 122,
                                                  "column": 28
                                                },
                                                "identifierName": "resolve"
                                              },
                                              "name": "resolve"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "CallExpression",
                                              "start": 3336,
                                              "end": 3362,
                                              "loc": {
                                                "start": {
                                                  "line": 122,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 122,
                                                  "column": 55
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 3336,
                                                "end": 3346,
                                                "loc": {
                                                  "start": {
                                                    "line": 122,
                                                    "column": 29
                                                  },
                                                  "end": {
                                                    "line": 122,
                                                    "column": 39
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 3336,
                                                  "end": 3340,
                                                  "loc": {
                                                    "start": {
                                                      "line": 122,
                                                      "column": 29
                                                    },
                                                    "end": {
                                                      "line": 122,
                                                      "column": 33
                                                    },
                                                    "identifierName": "hook"
                                                  },
                                                  "name": "hook"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3341,
                                                  "end": 3346,
                                                  "loc": {
                                                    "start": {
                                                      "line": 122,
                                                      "column": 34
                                                    },
                                                    "end": {
                                                      "line": 122,
                                                      "column": 39
                                                    },
                                                    "identifierName": "apply"
                                                  },
                                                  "name": "apply"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "ThisExpression",
                                                  "start": 3347,
                                                  "end": 3351,
                                                  "loc": {
                                                    "start": {
                                                      "line": 122,
                                                      "column": 40
                                                    },
                                                    "end": {
                                                      "line": 122,
                                                      "column": 44
                                                    }
                                                  }
                                                },
                                                {
                                                  "type": "Identifier",
                                                  "start": 3353,
                                                  "end": 3361,
                                                  "loc": {
                                                    "start": {
                                                      "line": 122,
                                                      "column": 46
                                                    },
                                                    "end": {
                                                      "line": 122,
                                                      "column": 54
                                                    },
                                                    "identifierName": "hookArgs"
                                                  },
                                                  "name": "hookArgs"
                                                }
                                              ]
                                            }
                                          ]
                                        }
                                      }
                                    ],
                                    "directives": []
                                  }
                                }
                              ],
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3372,
                              "end": 3378,
                              "loc": {
                                "start": {
                                  "line": 123,
                                  "column": 7
                                },
                                "end": {
                                  "line": 123,
                                  "column": 13
                                },
                                "identifierName": "return"
                              },
                              "name": "return"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "arguments": [],
                          "leadingComments": null
                        },
                        "leadingComments": [
                          {
                            "type": "CommentLine",
                            "value": " asynchronous hooks (default)",
                            "start": 3122,
                            "end": 3153,
                            "loc": {
                              "start": {
                                "line": 115,
                                "column": 4
                              },
                              "end": {
                                "line": 115,
                                "column": 35
                              }
                            }
                          }
                        ]
                      }
                    ],
                    "directives": []
                  }
                },
                {
                  "type": "ObjectMethod",
                  "start": 3390,
                  "end": 3451,
                  "loc": {
                    "start": {
                      "line": 126,
                      "column": 2
                    },
                    "end": {
                      "line": 128,
                      "column": 3
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 3390,
                    "end": 3394,
                    "loc": {
                      "start": {
                        "line": 126,
                        "column": 2
                      },
                      "end": {
                        "line": 126,
                        "column": 6
                      },
                      "identifierName": "hook"
                    },
                    "name": "hook"
                  },
                  "kind": "method",
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [],
                  "body": {
                    "type": "BlockStatement",
                    "start": 3397,
                    "end": 3451,
                    "loc": {
                      "start": {
                        "line": 126,
                        "column": 9
                      },
                      "end": {
                        "line": 128,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "ReturnStatement",
                        "start": 3403,
                        "end": 3447,
                        "loc": {
                          "start": {
                            "line": 127,
                            "column": 4
                          },
                          "end": {
                            "line": 127,
                            "column": 48
                          }
                        },
                        "argument": {
                          "type": "CallExpression",
                          "start": 3410,
                          "end": 3446,
                          "loc": {
                            "start": {
                              "line": 127,
                              "column": 11
                            },
                            "end": {
                              "line": 127,
                              "column": 47
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 3410,
                            "end": 3429,
                            "loc": {
                              "start": {
                                "line": 127,
                                "column": 11
                              },
                              "end": {
                                "line": 127,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 3410,
                              "end": 3423,
                              "loc": {
                                "start": {
                                  "line": 127,
                                  "column": 11
                                },
                                "end": {
                                  "line": 127,
                                  "column": 24
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3410,
                                "end": 3415,
                                "loc": {
                                  "start": {
                                    "line": 127,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 127,
                                    "column": 16
                                  },
                                  "identifierName": "Hooks"
                                },
                                "name": "Hooks"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3416,
                                "end": 3423,
                                "loc": {
                                  "start": {
                                    "line": 127,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 127,
                                    "column": 24
                                  },
                                  "identifierName": "addHook"
                                },
                                "name": "addHook"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3424,
                              "end": 3429,
                              "loc": {
                                "start": {
                                  "line": 127,
                                  "column": 25
                                },
                                "end": {
                                  "line": 127,
                                  "column": 30
                                },
                                "identifierName": "apply"
                              },
                              "name": "apply"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 3430,
                              "end": 3434,
                              "loc": {
                                "start": {
                                  "line": 127,
                                  "column": 31
                                },
                                "end": {
                                  "line": 127,
                                  "column": 35
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "start": 3436,
                              "end": 3445,
                              "loc": {
                                "start": {
                                  "line": 127,
                                  "column": 37
                                },
                                "end": {
                                  "line": 127,
                                  "column": 46
                                },
                                "identifierName": "arguments"
                              },
                              "name": "arguments"
                            }
                          ]
                        }
                      }
                    ],
                    "directives": []
                  }
                },
                {
                  "type": "ObjectMethod",
                  "start": 3831,
                  "end": 4309,
                  "loc": {
                    "start": {
                      "line": 140,
                      "column": 2
                    },
                    "end": {
                      "line": 158,
                      "column": 3
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 3831,
                    "end": 3838,
                    "loc": {
                      "start": {
                        "line": 140,
                        "column": 2
                      },
                      "end": {
                        "line": 140,
                        "column": 9
                      },
                      "identifierName": "addHook"
                    },
                    "name": "addHook",
                    "leadingComments": null
                  },
                  "kind": "method",
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 3839,
                      "end": 3847,
                      "loc": {
                        "start": {
                          "line": 140,
                          "column": 10
                        },
                        "end": {
                          "line": 140,
                          "column": 18
                        },
                        "identifierName": "hookType"
                      },
                      "name": "hookType"
                    },
                    {
                      "type": "Identifier",
                      "start": 3849,
                      "end": 3853,
                      "loc": {
                        "start": {
                          "line": 140,
                          "column": 20
                        },
                        "end": {
                          "line": 140,
                          "column": 24
                        },
                        "identifierName": "name"
                      },
                      "name": "name"
                    },
                    {
                      "type": "Identifier",
                      "start": 3855,
                      "end": 3857,
                      "loc": {
                        "start": {
                          "line": 140,
                          "column": 26
                        },
                        "end": {
                          "line": 140,
                          "column": 28
                        },
                        "identifierName": "fn"
                      },
                      "name": "fn"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 3859,
                    "end": 4309,
                    "loc": {
                      "start": {
                        "line": 140,
                        "column": 30
                      },
                      "end": {
                        "line": 158,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "IfStatement",
                        "start": 3865,
                        "end": 3940,
                        "loc": {
                          "start": {
                            "line": 141,
                            "column": 4
                          },
                          "end": {
                            "line": 144,
                            "column": 5
                          }
                        },
                        "test": {
                          "type": "BinaryExpression",
                          "start": 3869,
                          "end": 3895,
                          "loc": {
                            "start": {
                              "line": 141,
                              "column": 8
                            },
                            "end": {
                              "line": 141,
                              "column": 34
                            }
                          },
                          "left": {
                            "type": "UnaryExpression",
                            "start": 3869,
                            "end": 3880,
                            "loc": {
                              "start": {
                                "line": 141,
                                "column": 8
                              },
                              "end": {
                                "line": 141,
                                "column": 19
                              }
                            },
                            "operator": "typeof",
                            "prefix": true,
                            "argument": {
                              "type": "Identifier",
                              "start": 3876,
                              "end": 3880,
                              "loc": {
                                "start": {
                                  "line": 141,
                                  "column": 15
                                },
                                "end": {
                                  "line": 141,
                                  "column": 19
                                },
                                "identifierName": "name"
                              },
                              "name": "name"
                            },
                            "extra": {
                              "parenthesizedArgument": false
                            }
                          },
                          "operator": "===",
                          "right": {
                            "type": "StringLiteral",
                            "start": 3885,
                            "end": 3895,
                            "loc": {
                              "start": {
                                "line": 141,
                                "column": 24
                              },
                              "end": {
                                "line": 141,
                                "column": 34
                              }
                            },
                            "extra": {
                              "rawValue": "function",
                              "raw": "'function'"
                            },
                            "value": "function"
                          }
                        },
                        "consequent": {
                          "type": "BlockStatement",
                          "start": 3897,
                          "end": 3940,
                          "loc": {
                            "start": {
                              "line": 141,
                              "column": 36
                            },
                            "end": {
                              "line": 144,
                              "column": 5
                            }
                          },
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "start": 3905,
                              "end": 3915,
                              "loc": {
                                "start": {
                                  "line": 142,
                                  "column": 6
                                },
                                "end": {
                                  "line": 142,
                                  "column": 16
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 3905,
                                "end": 3914,
                                "loc": {
                                  "start": {
                                    "line": 142,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 142,
                                    "column": 15
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 3905,
                                  "end": 3907,
                                  "loc": {
                                    "start": {
                                      "line": 142,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 142,
                                      "column": 8
                                    },
                                    "identifierName": "fn"
                                  },
                                  "name": "fn"
                                },
                                "right": {
                                  "type": "Identifier",
                                  "start": 3910,
                                  "end": 3914,
                                  "loc": {
                                    "start": {
                                      "line": 142,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 142,
                                      "column": 15
                                    },
                                    "identifierName": "name"
                                  },
                                  "name": "name"
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 3922,
                              "end": 3934,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 6
                                },
                                "end": {
                                  "line": 143,
                                  "column": 18
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 3922,
                                "end": 3933,
                                "loc": {
                                  "start": {
                                    "line": 143,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 143,
                                    "column": 17
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 3922,
                                  "end": 3926,
                                  "loc": {
                                    "start": {
                                      "line": 143,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 143,
                                      "column": 10
                                    },
                                    "identifierName": "name"
                                  },
                                  "name": "name"
                                },
                                "right": {
                                  "type": "NullLiteral",
                                  "start": 3929,
                                  "end": 3933,
                                  "loc": {
                                    "start": {
                                      "line": 143,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 143,
                                      "column": 17
                                    }
                                  }
                                }
                              }
                            }
                          ],
                          "directives": []
                        },
                        "alternate": null
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 3946,
                        "end": 3979,
                        "loc": {
                          "start": {
                            "line": 146,
                            "column": 4
                          },
                          "end": {
                            "line": 146,
                            "column": 37
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 3946,
                          "end": 3978,
                          "loc": {
                            "start": {
                              "line": 146,
                              "column": 4
                            },
                            "end": {
                              "line": 146,
                              "column": 36
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 3946,
                            "end": 3951,
                            "loc": {
                              "start": {
                                "line": 146,
                                "column": 4
                              },
                              "end": {
                                "line": 146,
                                "column": 9
                              },
                              "identifierName": "debug"
                            },
                            "name": "debug"
                          },
                          "arguments": [
                            {
                              "type": "TemplateLiteral",
                              "start": 3952,
                              "end": 3977,
                              "loc": {
                                "start": {
                                  "line": 146,
                                  "column": 10
                                },
                                "end": {
                                  "line": 146,
                                  "column": 35
                                }
                              },
                              "expressions": [
                                {
                                  "type": "Identifier",
                                  "start": 3967,
                                  "end": 3975,
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 33
                                    },
                                    "identifierName": "hookType"
                                  },
                                  "name": "hookType"
                                }
                              ],
                              "quasis": [
                                {
                                  "type": "TemplateElement",
                                  "start": 3953,
                                  "end": 3965,
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 23
                                    }
                                  },
                                  "value": {
                                    "raw": "adding hook ",
                                    "cooked": "adding hook "
                                  },
                                  "tail": false
                                },
                                {
                                  "type": "TemplateElement",
                                  "start": 3976,
                                  "end": 3976,
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 34
                                    }
                                  },
                                  "value": {
                                    "raw": "",
                                    "cooked": ""
                                  },
                                  "tail": true
                                }
                              ]
                            }
                          ]
                        }
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 3984,
                        "end": 4029,
                        "loc": {
                          "start": {
                            "line": 147,
                            "column": 4
                          },
                          "end": {
                            "line": 147,
                            "column": 49
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 3984,
                          "end": 4028,
                          "loc": {
                            "start": {
                              "line": 147,
                              "column": 4
                            },
                            "end": {
                              "line": 147,
                              "column": 48
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 3984,
                            "end": 3992,
                            "loc": {
                              "start": {
                                "line": 147,
                                "column": 4
                              },
                              "end": {
                                "line": 147,
                                "column": 12
                              },
                              "identifierName": "hookType"
                            },
                            "name": "hookType"
                          },
                          "right": {
                            "type": "LogicalExpression",
                            "start": 3995,
                            "end": 4028,
                            "loc": {
                              "start": {
                                "line": 147,
                                "column": 15
                              },
                              "end": {
                                "line": 147,
                                "column": 48
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 3995,
                              "end": 4016,
                              "loc": {
                                "start": {
                                  "line": 147,
                                  "column": 15
                                },
                                "end": {
                                  "line": 147,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3995,
                                "end": 4006,
                                "loc": {
                                  "start": {
                                    "line": 147,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 147,
                                    "column": 26
                                  },
                                  "identifierName": "hookAliases"
                                },
                                "name": "hookAliases"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4007,
                                "end": 4015,
                                "loc": {
                                  "start": {
                                    "line": 147,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 147,
                                    "column": 35
                                  },
                                  "identifierName": "hookType"
                                },
                                "name": "hookType"
                              },
                              "computed": true
                            },
                            "operator": "||",
                            "right": {
                              "type": "Identifier",
                              "start": 4020,
                              "end": 4028,
                              "loc": {
                                "start": {
                                  "line": 147,
                                  "column": 40
                                },
                                "end": {
                                  "line": 147,
                                  "column": 48
                                },
                                "identifierName": "hookType"
                              },
                              "name": "hookType"
                            }
                          }
                        },
                        "trailingComments": [
                          {
                            "type": "CommentLine",
                            "value": " check for proxies, add them too",
                            "start": 4035,
                            "end": 4069,
                            "loc": {
                              "start": {
                                "line": 149,
                                "column": 4
                              },
                              "end": {
                                "line": 149,
                                "column": 38
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 4074,
                        "end": 4111,
                        "loc": {
                          "start": {
                            "line": 150,
                            "column": 4
                          },
                          "end": {
                            "line": 150,
                            "column": 41
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 4074,
                          "end": 4110,
                          "loc": {
                            "start": {
                              "line": 150,
                              "column": 4
                            },
                            "end": {
                              "line": 150,
                              "column": 40
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 4074,
                            "end": 4082,
                            "loc": {
                              "start": {
                                "line": 150,
                                "column": 4
                              },
                              "end": {
                                "line": 150,
                                "column": 12
                              },
                              "identifierName": "hookType"
                            },
                            "name": "hookType",
                            "leadingComments": null
                          },
                          "right": {
                            "type": "CallExpression",
                            "start": 4085,
                            "end": 4110,
                            "loc": {
                              "start": {
                                "line": 150,
                                "column": 15
                              },
                              "end": {
                                "line": 150,
                                "column": 40
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 4085,
                              "end": 4100,
                              "loc": {
                                "start": {
                                  "line": 150,
                                  "column": 15
                                },
                                "end": {
                                  "line": 150,
                                  "column": 30
                                },
                                "identifierName": "getProxiedHooks"
                              },
                              "name": "getProxiedHooks"
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 4101,
                                "end": 4109,
                                "loc": {
                                  "start": {
                                    "line": 150,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 150,
                                    "column": 39
                                  },
                                  "identifierName": "hookType"
                                },
                                "name": "hookType"
                              }
                            ]
                          },
                          "leadingComments": null
                        },
                        "leadingComments": [
                          {
                            "type": "CommentLine",
                            "value": " check for proxies, add them too",
                            "start": 4035,
                            "end": 4069,
                            "loc": {
                              "start": {
                                "line": 149,
                                "column": 4
                              },
                              "end": {
                                "line": 149,
                                "column": 38
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 4117,
                        "end": 4287,
                        "loc": {
                          "start": {
                            "line": 152,
                            "column": 4
                          },
                          "end": {
                            "line": 155,
                            "column": 7
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 4117,
                          "end": 4286,
                          "loc": {
                            "start": {
                              "line": 152,
                              "column": 4
                            },
                            "end": {
                              "line": 155,
                              "column": 6
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 4117,
                            "end": 4129,
                            "loc": {
                              "start": {
                                "line": 152,
                                "column": 4
                              },
                              "end": {
                                "line": 152,
                                "column": 16
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 4117,
                              "end": 4124,
                              "loc": {
                                "start": {
                                  "line": 152,
                                  "column": 4
                                },
                                "end": {
                                  "line": 152,
                                  "column": 11
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 4117,
                                "end": 4122,
                                "loc": {
                                  "start": {
                                    "line": 152,
                                    "column": 4
                                  },
                                  "end": {
                                    "line": 152,
                                    "column": 9
                                  },
                                  "identifierName": "Utils"
                                },
                                "name": "Utils"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4123,
                                "end": 4124,
                                "loc": {
                                  "start": {
                                    "line": 152,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 152,
                                    "column": 11
                                  },
                                  "identifierName": "_"
                                },
                                "name": "_"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4125,
                              "end": 4129,
                              "loc": {
                                "start": {
                                  "line": 152,
                                  "column": 12
                                },
                                "end": {
                                  "line": 152,
                                  "column": 16
                                },
                                "identifierName": "each"
                              },
                              "name": "each"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 4130,
                              "end": 4138,
                              "loc": {
                                "start": {
                                  "line": 152,
                                  "column": 17
                                },
                                "end": {
                                  "line": 152,
                                  "column": 25
                                },
                                "identifierName": "hookType"
                              },
                              "name": "hookType"
                            },
                            {
                              "type": "ArrowFunctionExpression",
                              "start": 4140,
                              "end": 4285,
                              "loc": {
                                "start": {
                                  "line": 152,
                                  "column": 27
                                },
                                "end": {
                                  "line": 155,
                                  "column": 5
                                }
                              },
                              "id": null,
                              "generator": false,
                              "expression": false,
                              "async": false,
                              "params": [
                                {
                                  "type": "Identifier",
                                  "start": 4141,
                                  "end": 4145,
                                  "loc": {
                                    "start": {
                                      "line": 152,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 152,
                                      "column": 32
                                    },
                                    "identifierName": "type"
                                  },
                                  "name": "type"
                                }
                              ],
                              "body": {
                                "type": "BlockStatement",
                                "start": 4150,
                                "end": 4285,
                                "loc": {
                                  "start": {
                                    "line": 152,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 155,
                                    "column": 5
                                  }
                                },
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 4158,
                                    "end": 4216,
                                    "loc": {
                                      "start": {
                                        "line": 153,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 153,
                                        "column": 64
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 4158,
                                      "end": 4215,
                                      "loc": {
                                        "start": {
                                          "line": 153,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 153,
                                          "column": 63
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 4158,
                                        "end": 4182,
                                        "loc": {
                                          "start": {
                                            "line": 153,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 153,
                                            "column": 30
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 4158,
                                          "end": 4176,
                                          "loc": {
                                            "start": {
                                              "line": 153,
                                              "column": 6
                                            },
                                            "end": {
                                              "line": 153,
                                              "column": 24
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 4158,
                                            "end": 4170,
                                            "loc": {
                                              "start": {
                                                "line": 153,
                                                "column": 6
                                              },
                                              "end": {
                                                "line": 153,
                                                "column": 18
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 4158,
                                              "end": 4162,
                                              "loc": {
                                                "start": {
                                                  "line": 153,
                                                  "column": 6
                                                },
                                                "end": {
                                                  "line": 153,
                                                  "column": 10
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 4163,
                                              "end": 4170,
                                              "loc": {
                                                "start": {
                                                  "line": 153,
                                                  "column": 11
                                                },
                                                "end": {
                                                  "line": 153,
                                                  "column": 18
                                                },
                                                "identifierName": "options"
                                              },
                                              "name": "options"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 4171,
                                            "end": 4176,
                                            "loc": {
                                              "start": {
                                                "line": 153,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 153,
                                                "column": 24
                                              },
                                              "identifierName": "hooks"
                                            },
                                            "name": "hooks"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4177,
                                          "end": 4181,
                                          "loc": {
                                            "start": {
                                              "line": 153,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 153,
                                              "column": 29
                                            },
                                            "identifierName": "type"
                                          },
                                          "name": "type"
                                        },
                                        "computed": true
                                      },
                                      "right": {
                                        "type": "LogicalExpression",
                                        "start": 4185,
                                        "end": 4215,
                                        "loc": {
                                          "start": {
                                            "line": 153,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 153,
                                            "column": 63
                                          }
                                        },
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 4185,
                                          "end": 4209,
                                          "loc": {
                                            "start": {
                                              "line": 153,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 153,
                                              "column": 57
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 4185,
                                            "end": 4203,
                                            "loc": {
                                              "start": {
                                                "line": 153,
                                                "column": 33
                                              },
                                              "end": {
                                                "line": 153,
                                                "column": 51
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 4185,
                                              "end": 4197,
                                              "loc": {
                                                "start": {
                                                  "line": 153,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 153,
                                                  "column": 45
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 4185,
                                                "end": 4189,
                                                "loc": {
                                                  "start": {
                                                    "line": 153,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 153,
                                                    "column": 37
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4190,
                                                "end": 4197,
                                                "loc": {
                                                  "start": {
                                                    "line": 153,
                                                    "column": 38
                                                  },
                                                  "end": {
                                                    "line": 153,
                                                    "column": 45
                                                  },
                                                  "identifierName": "options"
                                                },
                                                "name": "options"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 4198,
                                              "end": 4203,
                                              "loc": {
                                                "start": {
                                                  "line": 153,
                                                  "column": 46
                                                },
                                                "end": {
                                                  "line": 153,
                                                  "column": 51
                                                },
                                                "identifierName": "hooks"
                                              },
                                              "name": "hooks"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 4204,
                                            "end": 4208,
                                            "loc": {
                                              "start": {
                                                "line": 153,
                                                "column": 52
                                              },
                                              "end": {
                                                "line": 153,
                                                "column": 56
                                              },
                                              "identifierName": "type"
                                            },
                                            "name": "type"
                                          },
                                          "computed": true
                                        },
                                        "operator": "||",
                                        "right": {
                                          "type": "ArrayExpression",
                                          "start": 4213,
                                          "end": 4215,
                                          "loc": {
                                            "start": {
                                              "line": 153,
                                              "column": 61
                                            },
                                            "end": {
                                              "line": 153,
                                              "column": 63
                                            }
                                          },
                                          "elements": []
                                        }
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 4223,
                                    "end": 4279,
                                    "loc": {
                                      "start": {
                                        "line": 154,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 154,
                                        "column": 62
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 4223,
                                      "end": 4278,
                                      "loc": {
                                        "start": {
                                          "line": 154,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 154,
                                          "column": 61
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 4223,
                                        "end": 4252,
                                        "loc": {
                                          "start": {
                                            "line": 154,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 154,
                                            "column": 35
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 4223,
                                          "end": 4247,
                                          "loc": {
                                            "start": {
                                              "line": 154,
                                              "column": 6
                                            },
                                            "end": {
                                              "line": 154,
                                              "column": 30
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 4223,
                                            "end": 4241,
                                            "loc": {
                                              "start": {
                                                "line": 154,
                                                "column": 6
                                              },
                                              "end": {
                                                "line": 154,
                                                "column": 24
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 4223,
                                              "end": 4235,
                                              "loc": {
                                                "start": {
                                                  "line": 154,
                                                  "column": 6
                                                },
                                                "end": {
                                                  "line": 154,
                                                  "column": 18
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 4223,
                                                "end": 4227,
                                                "loc": {
                                                  "start": {
                                                    "line": 154,
                                                    "column": 6
                                                  },
                                                  "end": {
                                                    "line": 154,
                                                    "column": 10
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4228,
                                                "end": 4235,
                                                "loc": {
                                                  "start": {
                                                    "line": 154,
                                                    "column": 11
                                                  },
                                                  "end": {
                                                    "line": 154,
                                                    "column": 18
                                                  },
                                                  "identifierName": "options"
                                                },
                                                "name": "options"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 4236,
                                              "end": 4241,
                                              "loc": {
                                                "start": {
                                                  "line": 154,
                                                  "column": 19
                                                },
                                                "end": {
                                                  "line": 154,
                                                  "column": 24
                                                },
                                                "identifierName": "hooks"
                                              },
                                              "name": "hooks"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 4242,
                                            "end": 4246,
                                            "loc": {
                                              "start": {
                                                "line": 154,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 154,
                                                "column": 29
                                              },
                                              "identifierName": "type"
                                            },
                                            "name": "type"
                                          },
                                          "computed": true
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4248,
                                          "end": 4252,
                                          "loc": {
                                            "start": {
                                              "line": 154,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 154,
                                              "column": 35
                                            },
                                            "identifierName": "push"
                                          },
                                          "name": "push"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "ConditionalExpression",
                                          "start": 4253,
                                          "end": 4277,
                                          "loc": {
                                            "start": {
                                              "line": 154,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 154,
                                              "column": 60
                                            }
                                          },
                                          "test": {
                                            "type": "UnaryExpression",
                                            "start": 4253,
                                            "end": 4259,
                                            "loc": {
                                              "start": {
                                                "line": 154,
                                                "column": 36
                                              },
                                              "end": {
                                                "line": 154,
                                                "column": 42
                                              }
                                            },
                                            "operator": "!",
                                            "prefix": true,
                                            "argument": {
                                              "type": "UnaryExpression",
                                              "start": 4254,
                                              "end": 4259,
                                              "loc": {
                                                "start": {
                                                  "line": 154,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 154,
                                                  "column": 42
                                                }
                                              },
                                              "operator": "!",
                                              "prefix": true,
                                              "argument": {
                                                "type": "Identifier",
                                                "start": 4255,
                                                "end": 4259,
                                                "loc": {
                                                  "start": {
                                                    "line": 154,
                                                    "column": 38
                                                  },
                                                  "end": {
                                                    "line": 154,
                                                    "column": 42
                                                  },
                                                  "identifierName": "name"
                                                },
                                                "name": "name"
                                              },
                                              "extra": {
                                                "parenthesizedArgument": false
                                              }
                                            },
                                            "extra": {
                                              "parenthesizedArgument": false
                                            }
                                          },
                                          "consequent": {
                                            "type": "ObjectExpression",
                                            "start": 4262,
                                            "end": 4272,
                                            "loc": {
                                              "start": {
                                                "line": 154,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 154,
                                                "column": 55
                                              }
                                            },
                                            "properties": [
                                              {
                                                "type": "ObjectProperty",
                                                "start": 4263,
                                                "end": 4267,
                                                "loc": {
                                                  "start": {
                                                    "line": 154,
                                                    "column": 46
                                                  },
                                                  "end": {
                                                    "line": 154,
                                                    "column": 50
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": true,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 4263,
                                                  "end": 4267,
                                                  "loc": {
                                                    "start": {
                                                      "line": 154,
                                                      "column": 46
                                                    },
                                                    "end": {
                                                      "line": 154,
                                                      "column": 50
                                                    },
                                                    "identifierName": "name"
                                                  },
                                                  "name": "name"
                                                },
                                                "value": {
                                                  "type": "Identifier",
                                                  "start": 4263,
                                                  "end": 4267,
                                                  "loc": {
                                                    "start": {
                                                      "line": 154,
                                                      "column": 46
                                                    },
                                                    "end": {
                                                      "line": 154,
                                                      "column": 50
                                                    },
                                                    "identifierName": "name"
                                                  },
                                                  "name": "name"
                                                },
                                                "extra": {
                                                  "shorthand": true
                                                }
                                              },
                                              {
                                                "type": "ObjectProperty",
                                                "start": 4269,
                                                "end": 4271,
                                                "loc": {
                                                  "start": {
                                                    "line": 154,
                                                    "column": 52
                                                  },
                                                  "end": {
                                                    "line": 154,
                                                    "column": 54
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": true,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 4269,
                                                  "end": 4271,
                                                  "loc": {
                                                    "start": {
                                                      "line": 154,
                                                      "column": 52
                                                    },
                                                    "end": {
                                                      "line": 154,
                                                      "column": 54
                                                    },
                                                    "identifierName": "fn"
                                                  },
                                                  "name": "fn"
                                                },
                                                "value": {
                                                  "type": "Identifier",
                                                  "start": 4269,
                                                  "end": 4271,
                                                  "loc": {
                                                    "start": {
                                                      "line": 154,
                                                      "column": 52
                                                    },
                                                    "end": {
                                                      "line": 154,
                                                      "column": 54
                                                    },
                                                    "identifierName": "fn"
                                                  },
                                                  "name": "fn"
                                                },
                                                "extra": {
                                                  "shorthand": true
                                                }
                                              }
                                            ]
                                          },
                                          "alternate": {
                                            "type": "Identifier",
                                            "start": 4275,
                                            "end": 4277,
                                            "loc": {
                                              "start": {
                                                "line": 154,
                                                "column": 58
                                              },
                                              "end": {
                                                "line": 154,
                                                "column": 60
                                              },
                                              "identifierName": "fn"
                                            },
                                            "name": "fn"
                                          }
                                        }
                                      ]
                                    }
                                  }
                                ],
                                "directives": []
                              }
                            }
                          ]
                        }
                      },
                      {
                        "type": "ReturnStatement",
                        "start": 4293,
                        "end": 4305,
                        "loc": {
                          "start": {
                            "line": 157,
                            "column": 4
                          },
                          "end": {
                            "line": 157,
                            "column": 16
                          }
                        },
                        "argument": {
                          "type": "ThisExpression",
                          "start": 4300,
                          "end": 4304,
                          "loc": {
                            "start": {
                              "line": 157,
                              "column": 11
                            },
                            "end": {
                              "line": 157,
                              "column": 15
                            }
                          }
                        }
                      }
                    ],
                    "directives": []
                  },
                  "leadingComments": [
                    {
                      "type": "CommentBlock",
                      "value": "*\n   * Add a hook to the model\n   *\n   * @param {String}    hookType\n   * @param {String}    [name]    Provide a name for the hook function. It can be used to remove the hook later or to order hooks based on some sort of priority system in the future.\n   * @param {Function}  fn        The hook function\n   *\n   * @memberOf Sequelize\n   * @memberOf Sequelize.Model\n   ",
                      "start": 3456,
                      "end": 3828,
                      "loc": {
                        "start": {
                          "line": 130,
                          "column": 2
                        },
                        "end": {
                          "line": 139,
                          "column": 5
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "ObjectMethod",
                  "start": 4489,
                  "end": 5178,
                  "loc": {
                    "start": {
                      "line": 169,
                      "column": 2
                    },
                    "end": {
                      "line": 193,
                      "column": 3
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 4489,
                    "end": 4499,
                    "loc": {
                      "start": {
                        "line": 169,
                        "column": 2
                      },
                      "end": {
                        "line": 169,
                        "column": 12
                      },
                      "identifierName": "removeHook"
                    },
                    "name": "removeHook",
                    "leadingComments": null
                  },
                  "kind": "method",
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 4500,
                      "end": 4508,
                      "loc": {
                        "start": {
                          "line": 169,
                          "column": 13
                        },
                        "end": {
                          "line": 169,
                          "column": 21
                        },
                        "identifierName": "hookType"
                      },
                      "name": "hookType"
                    },
                    {
                      "type": "Identifier",
                      "start": 4510,
                      "end": 4514,
                      "loc": {
                        "start": {
                          "line": 169,
                          "column": 23
                        },
                        "end": {
                          "line": 169,
                          "column": 27
                        },
                        "identifierName": "name"
                      },
                      "name": "name"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 4516,
                    "end": 5178,
                    "loc": {
                      "start": {
                        "line": 169,
                        "column": 29
                      },
                      "end": {
                        "line": 193,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "ExpressionStatement",
                        "start": 4522,
                        "end": 4567,
                        "loc": {
                          "start": {
                            "line": 170,
                            "column": 4
                          },
                          "end": {
                            "line": 170,
                            "column": 49
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 4522,
                          "end": 4566,
                          "loc": {
                            "start": {
                              "line": 170,
                              "column": 4
                            },
                            "end": {
                              "line": 170,
                              "column": 48
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 4522,
                            "end": 4530,
                            "loc": {
                              "start": {
                                "line": 170,
                                "column": 4
                              },
                              "end": {
                                "line": 170,
                                "column": 12
                              },
                              "identifierName": "hookType"
                            },
                            "name": "hookType"
                          },
                          "right": {
                            "type": "LogicalExpression",
                            "start": 4533,
                            "end": 4566,
                            "loc": {
                              "start": {
                                "line": 170,
                                "column": 15
                              },
                              "end": {
                                "line": 170,
                                "column": 48
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 4533,
                              "end": 4554,
                              "loc": {
                                "start": {
                                  "line": 170,
                                  "column": 15
                                },
                                "end": {
                                  "line": 170,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 4533,
                                "end": 4544,
                                "loc": {
                                  "start": {
                                    "line": 170,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 170,
                                    "column": 26
                                  },
                                  "identifierName": "hookAliases"
                                },
                                "name": "hookAliases"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4545,
                                "end": 4553,
                                "loc": {
                                  "start": {
                                    "line": 170,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 170,
                                    "column": 35
                                  },
                                  "identifierName": "hookType"
                                },
                                "name": "hookType"
                              },
                              "computed": true
                            },
                            "operator": "||",
                            "right": {
                              "type": "Identifier",
                              "start": 4558,
                              "end": 4566,
                              "loc": {
                                "start": {
                                  "line": 170,
                                  "column": 40
                                },
                                "end": {
                                  "line": 170,
                                  "column": 48
                                },
                                "identifierName": "hookType"
                              },
                              "name": "hookType"
                            }
                          }
                        }
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 4572,
                        "end": 4634,
                        "loc": {
                          "start": {
                            "line": 171,
                            "column": 4
                          },
                          "end": {
                            "line": 171,
                            "column": 66
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 4578,
                            "end": 4633,
                            "loc": {
                              "start": {
                                "line": 171,
                                "column": 10
                              },
                              "end": {
                                "line": 171,
                                "column": 65
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 4578,
                              "end": 4589,
                              "loc": {
                                "start": {
                                  "line": 171,
                                  "column": 10
                                },
                                "end": {
                                  "line": 171,
                                  "column": 21
                                },
                                "identifierName": "isReference"
                              },
                              "name": "isReference"
                            },
                            "init": {
                              "type": "ConditionalExpression",
                              "start": 4592,
                              "end": 4633,
                              "loc": {
                                "start": {
                                  "line": 171,
                                  "column": 24
                                },
                                "end": {
                                  "line": 171,
                                  "column": 65
                                }
                              },
                              "test": {
                                "type": "BinaryExpression",
                                "start": 4592,
                                "end": 4618,
                                "loc": {
                                  "start": {
                                    "line": 171,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 171,
                                    "column": 50
                                  }
                                },
                                "left": {
                                  "type": "UnaryExpression",
                                  "start": 4592,
                                  "end": 4603,
                                  "loc": {
                                    "start": {
                                      "line": 171,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 171,
                                      "column": 35
                                    }
                                  },
                                  "operator": "typeof",
                                  "prefix": true,
                                  "argument": {
                                    "type": "Identifier",
                                    "start": 4599,
                                    "end": 4603,
                                    "loc": {
                                      "start": {
                                        "line": 171,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 171,
                                        "column": 35
                                      },
                                      "identifierName": "name"
                                    },
                                    "name": "name"
                                  },
                                  "extra": {
                                    "parenthesizedArgument": false
                                  }
                                },
                                "operator": "===",
                                "right": {
                                  "type": "StringLiteral",
                                  "start": 4608,
                                  "end": 4618,
                                  "loc": {
                                    "start": {
                                      "line": 171,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 171,
                                      "column": 50
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "function",
                                    "raw": "'function'"
                                  },
                                  "value": "function"
                                }
                              },
                              "consequent": {
                                "type": "BooleanLiteral",
                                "start": 4621,
                                "end": 4625,
                                "loc": {
                                  "start": {
                                    "line": 171,
                                    "column": 53
                                  },
                                  "end": {
                                    "line": 171,
                                    "column": 57
                                  }
                                },
                                "value": true
                              },
                              "alternate": {
                                "type": "BooleanLiteral",
                                "start": 4628,
                                "end": 4633,
                                "loc": {
                                  "start": {
                                    "line": 171,
                                    "column": 60
                                  },
                                  "end": {
                                    "line": 171,
                                    "column": 65
                                  }
                                },
                                "value": false
                              }
                            }
                          }
                        ],
                        "kind": "const"
                      },
                      {
                        "type": "IfStatement",
                        "start": 4640,
                        "end": 4695,
                        "loc": {
                          "start": {
                            "line": 173,
                            "column": 4
                          },
                          "end": {
                            "line": 175,
                            "column": 5
                          }
                        },
                        "test": {
                          "type": "UnaryExpression",
                          "start": 4644,
                          "end": 4667,
                          "loc": {
                            "start": {
                              "line": 173,
                              "column": 8
                            },
                            "end": {
                              "line": 173,
                              "column": 31
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "CallExpression",
                            "start": 4645,
                            "end": 4667,
                            "loc": {
                              "start": {
                                "line": 173,
                                "column": 9
                              },
                              "end": {
                                "line": 173,
                                "column": 31
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 4645,
                              "end": 4657,
                              "loc": {
                                "start": {
                                  "line": 173,
                                  "column": 9
                                },
                                "end": {
                                  "line": 173,
                                  "column": 21
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 4645,
                                "end": 4649,
                                "loc": {
                                  "start": {
                                    "line": 173,
                                    "column": 9
                                  },
                                  "end": {
                                    "line": 173,
                                    "column": 13
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4650,
                                "end": 4657,
                                "loc": {
                                  "start": {
                                    "line": 173,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 173,
                                    "column": 21
                                  },
                                  "identifierName": "hasHook"
                                },
                                "name": "hasHook"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 4658,
                                "end": 4666,
                                "loc": {
                                  "start": {
                                    "line": 173,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 173,
                                    "column": 30
                                  },
                                  "identifierName": "hookType"
                                },
                                "name": "hookType"
                              }
                            ]
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        },
                        "consequent": {
                          "type": "BlockStatement",
                          "start": 4669,
                          "end": 4695,
                          "loc": {
                            "start": {
                              "line": 173,
                              "column": 33
                            },
                            "end": {
                              "line": 175,
                              "column": 5
                            }
                          },
                          "body": [
                            {
                              "type": "ReturnStatement",
                              "start": 4677,
                              "end": 4689,
                              "loc": {
                                "start": {
                                  "line": 174,
                                  "column": 6
                                },
                                "end": {
                                  "line": 174,
                                  "column": 18
                                }
                              },
                              "argument": {
                                "type": "ThisExpression",
                                "start": 4684,
                                "end": 4688,
                                "loc": {
                                  "start": {
                                    "line": 174,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 174,
                                    "column": 17
                                  }
                                }
                              }
                            }
                          ],
                          "directives": []
                        },
                        "alternate": null
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 4701,
                        "end": 4742,
                        "loc": {
                          "start": {
                            "line": 177,
                            "column": 4
                          },
                          "end": {
                            "line": 177,
                            "column": 45
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 4701,
                          "end": 4741,
                          "loc": {
                            "start": {
                              "line": 177,
                              "column": 4
                            },
                            "end": {
                              "line": 177,
                              "column": 44
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 4701,
                            "end": 4712,
                            "loc": {
                              "start": {
                                "line": 177,
                                "column": 4
                              },
                              "end": {
                                "line": 177,
                                "column": 15
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 4701,
                              "end": 4706,
                              "loc": {
                                "start": {
                                  "line": 177,
                                  "column": 4
                                },
                                "end": {
                                  "line": 177,
                                  "column": 9
                                },
                                "identifierName": "Utils"
                              },
                              "name": "Utils"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4707,
                              "end": 4712,
                              "loc": {
                                "start": {
                                  "line": 177,
                                  "column": 10
                                },
                                "end": {
                                  "line": 177,
                                  "column": 15
                                },
                                "identifierName": "debug"
                              },
                              "name": "debug"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "TemplateLiteral",
                              "start": 4713,
                              "end": 4740,
                              "loc": {
                                "start": {
                                  "line": 177,
                                  "column": 16
                                },
                                "end": {
                                  "line": 177,
                                  "column": 43
                                }
                              },
                              "expressions": [
                                {
                                  "type": "Identifier",
                                  "start": 4730,
                                  "end": 4738,
                                  "loc": {
                                    "start": {
                                      "line": 177,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 177,
                                      "column": 41
                                    },
                                    "identifierName": "hookType"
                                  },
                                  "name": "hookType"
                                }
                              ],
                              "quasis": [
                                {
                                  "type": "TemplateElement",
                                  "start": 4714,
                                  "end": 4728,
                                  "loc": {
                                    "start": {
                                      "line": 177,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 177,
                                      "column": 31
                                    }
                                  },
                                  "value": {
                                    "raw": "removing hook ",
                                    "cooked": "removing hook "
                                  },
                                  "tail": false
                                },
                                {
                                  "type": "TemplateElement",
                                  "start": 4739,
                                  "end": 4739,
                                  "loc": {
                                    "start": {
                                      "line": 177,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 177,
                                      "column": 42
                                    }
                                  },
                                  "value": {
                                    "raw": "",
                                    "cooked": ""
                                  },
                                  "tail": true
                                }
                              ]
                            }
                          ]
                        },
                        "trailingComments": [
                          {
                            "type": "CommentLine",
                            "value": " check for proxies, add them too",
                            "start": 4748,
                            "end": 4782,
                            "loc": {
                              "start": {
                                "line": 179,
                                "column": 4
                              },
                              "end": {
                                "line": 179,
                                "column": 38
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 4787,
                        "end": 4824,
                        "loc": {
                          "start": {
                            "line": 180,
                            "column": 4
                          },
                          "end": {
                            "line": 180,
                            "column": 41
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 4787,
                          "end": 4823,
                          "loc": {
                            "start": {
                              "line": 180,
                              "column": 4
                            },
                            "end": {
                              "line": 180,
                              "column": 40
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 4787,
                            "end": 4795,
                            "loc": {
                              "start": {
                                "line": 180,
                                "column": 4
                              },
                              "end": {
                                "line": 180,
                                "column": 12
                              },
                              "identifierName": "hookType"
                            },
                            "name": "hookType",
                            "leadingComments": null
                          },
                          "right": {
                            "type": "CallExpression",
                            "start": 4798,
                            "end": 4823,
                            "loc": {
                              "start": {
                                "line": 180,
                                "column": 15
                              },
                              "end": {
                                "line": 180,
                                "column": 40
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 4798,
                              "end": 4813,
                              "loc": {
                                "start": {
                                  "line": 180,
                                  "column": 15
                                },
                                "end": {
                                  "line": 180,
                                  "column": 30
                                },
                                "identifierName": "getProxiedHooks"
                              },
                              "name": "getProxiedHooks"
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 4814,
                                "end": 4822,
                                "loc": {
                                  "start": {
                                    "line": 180,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 180,
                                    "column": 39
                                  },
                                  "identifierName": "hookType"
                                },
                                "name": "hookType"
                              }
                            ]
                          },
                          "leadingComments": null
                        },
                        "leadingComments": [
                          {
                            "type": "CommentLine",
                            "value": " check for proxies, add them too",
                            "start": 4748,
                            "end": 4782,
                            "loc": {
                              "start": {
                                "line": 179,
                                "column": 4
                              },
                              "end": {
                                "line": 179,
                                "column": 38
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "ForOfStatement",
                        "start": 4830,
                        "end": 5156,
                        "loc": {
                          "start": {
                            "line": 182,
                            "column": 4
                          },
                          "end": {
                            "line": 190,
                            "column": 5
                          }
                        },
                        "left": {
                          "type": "VariableDeclaration",
                          "start": 4835,
                          "end": 4845,
                          "loc": {
                            "start": {
                              "line": 182,
                              "column": 9
                            },
                            "end": {
                              "line": 182,
                              "column": 19
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 4841,
                              "end": 4845,
                              "loc": {
                                "start": {
                                  "line": 182,
                                  "column": 15
                                },
                                "end": {
                                  "line": 182,
                                  "column": 19
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 4841,
                                "end": 4845,
                                "loc": {
                                  "start": {
                                    "line": 182,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 182,
                                    "column": 19
                                  },
                                  "identifierName": "type"
                                },
                                "name": "type"
                              },
                              "init": null
                            }
                          ],
                          "kind": "const"
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 4849,
                          "end": 4857,
                          "loc": {
                            "start": {
                              "line": 182,
                              "column": 23
                            },
                            "end": {
                              "line": 182,
                              "column": 31
                            },
                            "identifierName": "hookType"
                          },
                          "name": "hookType"
                        },
                        "body": {
                          "type": "BlockStatement",
                          "start": 4859,
                          "end": 5156,
                          "loc": {
                            "start": {
                              "line": 182,
                              "column": 33
                            },
                            "end": {
                              "line": 190,
                              "column": 5
                            }
                          },
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "start": 4867,
                              "end": 5150,
                              "loc": {
                                "start": {
                                  "line": 183,
                                  "column": 6
                                },
                                "end": {
                                  "line": 189,
                                  "column": 9
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 4867,
                                "end": 5149,
                                "loc": {
                                  "start": {
                                    "line": 183,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 189,
                                    "column": 8
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 4867,
                                  "end": 4891,
                                  "loc": {
                                    "start": {
                                      "line": 183,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 183,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4867,
                                    "end": 4885,
                                    "loc": {
                                      "start": {
                                        "line": 183,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 183,
                                        "column": 24
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 4867,
                                      "end": 4879,
                                      "loc": {
                                        "start": {
                                          "line": 183,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 183,
                                          "column": 18
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 4867,
                                        "end": 4871,
                                        "loc": {
                                          "start": {
                                            "line": 183,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 183,
                                            "column": 10
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4872,
                                        "end": 4879,
                                        "loc": {
                                          "start": {
                                            "line": 183,
                                            "column": 11
                                          },
                                          "end": {
                                            "line": 183,
                                            "column": 18
                                          },
                                          "identifierName": "options"
                                        },
                                        "name": "options"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4880,
                                      "end": 4885,
                                      "loc": {
                                        "start": {
                                          "line": 183,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 183,
                                          "column": 24
                                        },
                                        "identifierName": "hooks"
                                      },
                                      "name": "hooks"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4886,
                                    "end": 4890,
                                    "loc": {
                                      "start": {
                                        "line": 183,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 183,
                                        "column": 29
                                      },
                                      "identifierName": "type"
                                    },
                                    "name": "type"
                                  },
                                  "computed": true
                                },
                                "right": {
                                  "type": "CallExpression",
                                  "start": 4894,
                                  "end": 5149,
                                  "loc": {
                                    "start": {
                                      "line": 183,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 189,
                                      "column": 8
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 4894,
                                    "end": 4925,
                                    "loc": {
                                      "start": {
                                        "line": 183,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 183,
                                        "column": 64
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 4894,
                                      "end": 4918,
                                      "loc": {
                                        "start": {
                                          "line": 183,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 183,
                                          "column": 57
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 4894,
                                        "end": 4912,
                                        "loc": {
                                          "start": {
                                            "line": 183,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 183,
                                            "column": 51
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 4894,
                                          "end": 4906,
                                          "loc": {
                                            "start": {
                                              "line": 183,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 183,
                                              "column": 45
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 4894,
                                            "end": 4898,
                                            "loc": {
                                              "start": {
                                                "line": 183,
                                                "column": 33
                                              },
                                              "end": {
                                                "line": 183,
                                                "column": 37
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 4899,
                                            "end": 4906,
                                            "loc": {
                                              "start": {
                                                "line": 183,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 183,
                                                "column": 45
                                              },
                                              "identifierName": "options"
                                            },
                                            "name": "options"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4907,
                                          "end": 4912,
                                          "loc": {
                                            "start": {
                                              "line": 183,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 183,
                                              "column": 51
                                            },
                                            "identifierName": "hooks"
                                          },
                                          "name": "hooks"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4913,
                                        "end": 4917,
                                        "loc": {
                                          "start": {
                                            "line": 183,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 183,
                                            "column": 56
                                          },
                                          "identifierName": "type"
                                        },
                                        "name": "type"
                                      },
                                      "computed": true
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4919,
                                      "end": 4925,
                                      "loc": {
                                        "start": {
                                          "line": 183,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 183,
                                          "column": 64
                                        },
                                        "identifierName": "filter"
                                      },
                                      "name": "filter"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "ArrowFunctionExpression",
                                      "start": 4926,
                                      "end": 5148,
                                      "loc": {
                                        "start": {
                                          "line": 183,
                                          "column": 65
                                        },
                                        "end": {
                                          "line": 189,
                                          "column": 7
                                        }
                                      },
                                      "id": null,
                                      "generator": false,
                                      "expression": false,
                                      "async": false,
                                      "params": [
                                        {
                                          "type": "Identifier",
                                          "start": 4926,
                                          "end": 4930,
                                          "loc": {
                                            "start": {
                                              "line": 183,
                                              "column": 65
                                            },
                                            "end": {
                                              "line": 183,
                                              "column": 69
                                            },
                                            "identifierName": "hook"
                                          },
                                          "name": "hook"
                                        }
                                      ],
                                      "body": {
                                        "type": "BlockStatement",
                                        "start": 4934,
                                        "end": 5148,
                                        "loc": {
                                          "start": {
                                            "line": 183,
                                            "column": 73
                                          },
                                          "end": {
                                            "line": 189,
                                            "column": 7
                                          }
                                        },
                                        "body": [
                                          {
                                            "type": "IfStatement",
                                            "start": 4944,
                                            "end": 5140,
                                            "loc": {
                                              "start": {
                                                "line": 184,
                                                "column": 8
                                              },
                                              "end": {
                                                "line": 188,
                                                "column": 9
                                              }
                                            },
                                            "test": {
                                              "type": "LogicalExpression",
                                              "start": 4948,
                                              "end": 4989,
                                              "loc": {
                                                "start": {
                                                  "line": 184,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 184,
                                                  "column": 53
                                                }
                                              },
                                              "left": {
                                                "type": "Identifier",
                                                "start": 4948,
                                                "end": 4959,
                                                "loc": {
                                                  "start": {
                                                    "line": 184,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 184,
                                                    "column": 23
                                                  },
                                                  "identifierName": "isReference"
                                                },
                                                "name": "isReference"
                                              },
                                              "operator": "&&",
                                              "right": {
                                                "type": "BinaryExpression",
                                                "start": 4963,
                                                "end": 4989,
                                                "loc": {
                                                  "start": {
                                                    "line": 184,
                                                    "column": 27
                                                  },
                                                  "end": {
                                                    "line": 184,
                                                    "column": 53
                                                  }
                                                },
                                                "left": {
                                                  "type": "UnaryExpression",
                                                  "start": 4963,
                                                  "end": 4974,
                                                  "loc": {
                                                    "start": {
                                                      "line": 184,
                                                      "column": 27
                                                    },
                                                    "end": {
                                                      "line": 184,
                                                      "column": 38
                                                    }
                                                  },
                                                  "operator": "typeof",
                                                  "prefix": true,
                                                  "argument": {
                                                    "type": "Identifier",
                                                    "start": 4970,
                                                    "end": 4974,
                                                    "loc": {
                                                      "start": {
                                                        "line": 184,
                                                        "column": 34
                                                      },
                                                      "end": {
                                                        "line": 184,
                                                        "column": 38
                                                      },
                                                      "identifierName": "hook"
                                                    },
                                                    "name": "hook"
                                                  },
                                                  "extra": {
                                                    "parenthesizedArgument": false
                                                  }
                                                },
                                                "operator": "===",
                                                "right": {
                                                  "type": "StringLiteral",
                                                  "start": 4979,
                                                  "end": 4989,
                                                  "loc": {
                                                    "start": {
                                                      "line": 184,
                                                      "column": 43
                                                    },
                                                    "end": {
                                                      "line": 184,
                                                      "column": 53
                                                    }
                                                  },
                                                  "extra": {
                                                    "rawValue": "function",
                                                    "raw": "'function'"
                                                  },
                                                  "value": "function"
                                                }
                                              }
                                            },
                                            "consequent": {
                                              "type": "BlockStatement",
                                              "start": 4991,
                                              "end": 5058,
                                              "loc": {
                                                "start": {
                                                  "line": 184,
                                                  "column": 55
                                                },
                                                "end": {
                                                  "line": 186,
                                                  "column": 9
                                                }
                                              },
                                              "body": [
                                                {
                                                  "type": "ReturnStatement",
                                                  "start": 5003,
                                                  "end": 5024,
                                                  "loc": {
                                                    "start": {
                                                      "line": 185,
                                                      "column": 10
                                                    },
                                                    "end": {
                                                      "line": 185,
                                                      "column": 31
                                                    }
                                                  },
                                                  "argument": {
                                                    "type": "BinaryExpression",
                                                    "start": 5010,
                                                    "end": 5023,
                                                    "loc": {
                                                      "start": {
                                                        "line": 185,
                                                        "column": 17
                                                      },
                                                      "end": {
                                                        "line": 185,
                                                        "column": 30
                                                      }
                                                    },
                                                    "left": {
                                                      "type": "Identifier",
                                                      "start": 5010,
                                                      "end": 5014,
                                                      "loc": {
                                                        "start": {
                                                          "line": 185,
                                                          "column": 17
                                                        },
                                                        "end": {
                                                          "line": 185,
                                                          "column": 21
                                                        },
                                                        "identifierName": "hook"
                                                      },
                                                      "name": "hook"
                                                    },
                                                    "operator": "!==",
                                                    "right": {
                                                      "type": "Identifier",
                                                      "start": 5019,
                                                      "end": 5023,
                                                      "loc": {
                                                        "start": {
                                                          "line": 185,
                                                          "column": 26
                                                        },
                                                        "end": {
                                                          "line": 185,
                                                          "column": 30
                                                        },
                                                        "identifierName": "name"
                                                      },
                                                      "name": "name"
                                                    }
                                                  },
                                                  "trailingComments": [
                                                    {
                                                      "type": "CommentLine",
                                                      "value": " check if same method",
                                                      "start": 5025,
                                                      "end": 5048,
                                                      "loc": {
                                                        "start": {
                                                          "line": 185,
                                                          "column": 32
                                                        },
                                                        "end": {
                                                          "line": 185,
                                                          "column": 55
                                                        }
                                                      }
                                                    }
                                                  ]
                                                }
                                              ],
                                              "directives": []
                                            },
                                            "alternate": {
                                              "type": "BlockStatement",
                                              "start": 5064,
                                              "end": 5140,
                                              "loc": {
                                                "start": {
                                                  "line": 186,
                                                  "column": 15
                                                },
                                                "end": {
                                                  "line": 188,
                                                  "column": 9
                                                }
                                              },
                                              "body": [
                                                {
                                                  "type": "ReturnStatement",
                                                  "start": 5076,
                                                  "end": 5130,
                                                  "loc": {
                                                    "start": {
                                                      "line": 187,
                                                      "column": 10
                                                    },
                                                    "end": {
                                                      "line": 187,
                                                      "column": 64
                                                    }
                                                  },
                                                  "argument": {
                                                    "type": "LogicalExpression",
                                                    "start": 5083,
                                                    "end": 5129,
                                                    "loc": {
                                                      "start": {
                                                        "line": 187,
                                                        "column": 17
                                                      },
                                                      "end": {
                                                        "line": 187,
                                                        "column": 63
                                                      }
                                                    },
                                                    "left": {
                                                      "type": "BinaryExpression",
                                                      "start": 5083,
                                                      "end": 5107,
                                                      "loc": {
                                                        "start": {
                                                          "line": 187,
                                                          "column": 17
                                                        },
                                                        "end": {
                                                          "line": 187,
                                                          "column": 41
                                                        }
                                                      },
                                                      "left": {
                                                        "type": "UnaryExpression",
                                                        "start": 5083,
                                                        "end": 5094,
                                                        "loc": {
                                                          "start": {
                                                            "line": 187,
                                                            "column": 17
                                                          },
                                                          "end": {
                                                            "line": 187,
                                                            "column": 28
                                                          }
                                                        },
                                                        "operator": "typeof",
                                                        "prefix": true,
                                                        "argument": {
                                                          "type": "Identifier",
                                                          "start": 5090,
                                                          "end": 5094,
                                                          "loc": {
                                                            "start": {
                                                              "line": 187,
                                                              "column": 24
                                                            },
                                                            "end": {
                                                              "line": 187,
                                                              "column": 28
                                                            },
                                                            "identifierName": "hook"
                                                          },
                                                          "name": "hook"
                                                        },
                                                        "extra": {
                                                          "parenthesizedArgument": false
                                                        }
                                                      },
                                                      "operator": "===",
                                                      "right": {
                                                        "type": "StringLiteral",
                                                        "start": 5099,
                                                        "end": 5107,
                                                        "loc": {
                                                          "start": {
                                                            "line": 187,
                                                            "column": 33
                                                          },
                                                          "end": {
                                                            "line": 187,
                                                            "column": 41
                                                          }
                                                        },
                                                        "extra": {
                                                          "rawValue": "object",
                                                          "raw": "'object'"
                                                        },
                                                        "value": "object"
                                                      }
                                                    },
                                                    "operator": "&&",
                                                    "right": {
                                                      "type": "BinaryExpression",
                                                      "start": 5111,
                                                      "end": 5129,
                                                      "loc": {
                                                        "start": {
                                                          "line": 187,
                                                          "column": 45
                                                        },
                                                        "end": {
                                                          "line": 187,
                                                          "column": 63
                                                        }
                                                      },
                                                      "left": {
                                                        "type": "MemberExpression",
                                                        "start": 5111,
                                                        "end": 5120,
                                                        "loc": {
                                                          "start": {
                                                            "line": 187,
                                                            "column": 45
                                                          },
                                                          "end": {
                                                            "line": 187,
                                                            "column": 54
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "Identifier",
                                                          "start": 5111,
                                                          "end": 5115,
                                                          "loc": {
                                                            "start": {
                                                              "line": 187,
                                                              "column": 45
                                                            },
                                                            "end": {
                                                              "line": 187,
                                                              "column": 49
                                                            },
                                                            "identifierName": "hook"
                                                          },
                                                          "name": "hook"
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 5116,
                                                          "end": 5120,
                                                          "loc": {
                                                            "start": {
                                                              "line": 187,
                                                              "column": 50
                                                            },
                                                            "end": {
                                                              "line": 187,
                                                              "column": 54
                                                            },
                                                            "identifierName": "name"
                                                          },
                                                          "name": "name"
                                                        },
                                                        "computed": false
                                                      },
                                                      "operator": "!==",
                                                      "right": {
                                                        "type": "Identifier",
                                                        "start": 5125,
                                                        "end": 5129,
                                                        "loc": {
                                                          "start": {
                                                            "line": 187,
                                                            "column": 59
                                                          },
                                                          "end": {
                                                            "line": 187,
                                                            "column": 63
                                                          },
                                                          "identifierName": "name"
                                                        },
                                                        "name": "name"
                                                      }
                                                    }
                                                  }
                                                }
                                              ],
                                              "directives": []
                                            }
                                          }
                                        ],
                                        "directives": []
                                      }
                                    }
                                  ]
                                }
                              }
                            }
                          ],
                          "directives": []
                        }
                      },
                      {
                        "type": "ReturnStatement",
                        "start": 5162,
                        "end": 5174,
                        "loc": {
                          "start": {
                            "line": 192,
                            "column": 4
                          },
                          "end": {
                            "line": 192,
                            "column": 16
                          }
                        },
                        "argument": {
                          "type": "ThisExpression",
                          "start": 5169,
                          "end": 5173,
                          "loc": {
                            "start": {
                              "line": 192,
                              "column": 11
                            },
                            "end": {
                              "line": 192,
                              "column": 15
                            }
                          }
                        }
                      }
                    ],
                    "directives": []
                  },
                  "leadingComments": [
                    {
                      "type": "CommentBlock",
                      "value": "*\n   * Remove hook from the model\n   *\n   * @param {String} hookType\n   * @param {String|Function} name\n   *\n   * @memberOf Sequelize\n   * @memberOf Sequelize.Model\n   ",
                      "start": 4314,
                      "end": 4486,
                      "loc": {
                        "start": {
                          "line": 160,
                          "column": 2
                        },
                        "end": {
                          "line": 168,
                          "column": 5
                        }
                      }
                    }
                  ]
                },
                {
                  "type": "ObjectMethod",
                  "start": 5368,
                  "end": 5473,
                  "loc": {
                    "start": {
                      "line": 204,
                      "column": 2
                    },
                    "end": {
                      "line": 206,
                      "column": 3
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 5368,
                    "end": 5375,
                    "loc": {
                      "start": {
                        "line": 204,
                        "column": 2
                      },
                      "end": {
                        "line": 204,
                        "column": 9
                      },
                      "identifierName": "hasHook"
                    },
                    "name": "hasHook",
                    "leadingComments": null
                  },
                  "kind": "method",
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 5376,
                      "end": 5384,
                      "loc": {
                        "start": {
                          "line": 204,
                          "column": 10
                        },
                        "end": {
                          "line": 204,
                          "column": 18
                        },
                        "identifierName": "hookType"
                      },
                      "name": "hookType"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 5386,
                    "end": 5473,
                    "loc": {
                      "start": {
                        "line": 204,
                        "column": 20
                      },
                      "end": {
                        "line": 206,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "ReturnStatement",
                        "start": 5392,
                        "end": 5469,
                        "loc": {
                          "start": {
                            "line": 205,
                            "column": 4
                          },
                          "end": {
                            "line": 205,
                            "column": 81
                          }
                        },
                        "argument": {
                          "type": "LogicalExpression",
                          "start": 5399,
                          "end": 5468,
                          "loc": {
                            "start": {
                              "line": 205,
                              "column": 11
                            },
                            "end": {
                              "line": 205,
                              "column": 80
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 5399,
                            "end": 5427,
                            "loc": {
                              "start": {
                                "line": 205,
                                "column": 11
                              },
                              "end": {
                                "line": 205,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 5399,
                              "end": 5417,
                              "loc": {
                                "start": {
                                  "line": 205,
                                  "column": 11
                                },
                                "end": {
                                  "line": 205,
                                  "column": 29
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 5399,
                                "end": 5411,
                                "loc": {
                                  "start": {
                                    "line": 205,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 205,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 5399,
                                  "end": 5403,
                                  "loc": {
                                    "start": {
                                      "line": 205,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 205,
                                      "column": 15
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5404,
                                  "end": 5411,
                                  "loc": {
                                    "start": {
                                      "line": 205,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 205,
                                      "column": 23
                                    },
                                    "identifierName": "options"
                                  },
                                  "name": "options"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5412,
                                "end": 5417,
                                "loc": {
                                  "start": {
                                    "line": 205,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 205,
                                    "column": 29
                                  },
                                  "identifierName": "hooks"
                                },
                                "name": "hooks"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5418,
                              "end": 5426,
                              "loc": {
                                "start": {
                                  "line": 205,
                                  "column": 30
                                },
                                "end": {
                                  "line": 205,
                                  "column": 38
                                },
                                "identifierName": "hookType"
                              },
                              "name": "hookType"
                            },
                            "computed": true
                          },
                          "operator": "&&",
                          "right": {
                            "type": "UnaryExpression",
                            "start": 5431,
                            "end": 5468,
                            "loc": {
                              "start": {
                                "line": 205,
                                "column": 43
                              },
                              "end": {
                                "line": 205,
                                "column": 80
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "UnaryExpression",
                              "start": 5432,
                              "end": 5468,
                              "loc": {
                                "start": {
                                  "line": 205,
                                  "column": 44
                                },
                                "end": {
                                  "line": 205,
                                  "column": 80
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "MemberExpression",
                                "start": 5433,
                                "end": 5468,
                                "loc": {
                                  "start": {
                                    "line": 205,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 205,
                                    "column": 80
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 5433,
                                  "end": 5461,
                                  "loc": {
                                    "start": {
                                      "line": 205,
                                      "column": 45
                                    },
                                    "end": {
                                      "line": 205,
                                      "column": 73
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 5433,
                                    "end": 5451,
                                    "loc": {
                                      "start": {
                                        "line": 205,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 205,
                                        "column": 63
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 5433,
                                      "end": 5445,
                                      "loc": {
                                        "start": {
                                          "line": 205,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 205,
                                          "column": 57
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 5433,
                                        "end": 5437,
                                        "loc": {
                                          "start": {
                                            "line": 205,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 205,
                                            "column": 49
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 5438,
                                        "end": 5445,
                                        "loc": {
                                          "start": {
                                            "line": 205,
                                            "column": 50
                                          },
                                          "end": {
                                            "line": 205,
                                            "column": 57
                                          },
                                          "identifierName": "options"
                                        },
                                        "name": "options"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 5446,
                                      "end": 5451,
                                      "loc": {
                                        "start": {
                                          "line": 205,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 205,
                                          "column": 63
                                        },
                                        "identifierName": "hooks"
                                      },
                                      "name": "hooks"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5452,
                                    "end": 5460,
                                    "loc": {
                                      "start": {
                                        "line": 205,
                                        "column": 64
                                      },
                                      "end": {
                                        "line": 205,
                                        "column": 72
                                      },
                                      "identifierName": "hookType"
                                    },
                                    "name": "hookType"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5462,
                                  "end": 5468,
                                  "loc": {
                                    "start": {
                                      "line": 205,
                                      "column": 74
                                    },
                                    "end": {
                                      "line": 205,
                                      "column": 80
                                    },
                                    "identifierName": "length"
                                  },
                                  "name": "length"
                                },
                                "computed": false
                              },
                              "extra": {
                                "parenthesizedArgument": false
                              }
                            },
                            "extra": {
                              "parenthesizedArgument": false
                            }
                          }
                        }
                      }
                    ],
                    "directives": []
                  },
                  "leadingComments": [
                    {
                      "type": "CommentBlock",
                      "value": "*\n   * Check whether the mode has any hooks of this type\n   *\n   * @param {String}  hookType\n   *\n   * @alias hasHooks\n   * @memberOf Sequelize\n   * @memberOf Sequelize.Model\n   ",
                      "start": 5183,
                      "end": 5365,
                      "loc": {
                        "start": {
                          "line": 195,
                          "column": 2
                        },
                        "end": {
                          "line": 203,
                          "column": 5
                        }
                      }
                    }
                  ]
                }
              ]
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "ExpressionStatement",
        "start": 5477,
        "end": 5508,
        "loc": {
          "start": {
            "line": 208,
            "column": 0
          },
          "end": {
            "line": 208,
            "column": 31
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 5477,
          "end": 5507,
          "loc": {
            "start": {
              "line": 208,
              "column": 0
            },
            "end": {
              "line": 208,
              "column": 30
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 5477,
            "end": 5491,
            "loc": {
              "start": {
                "line": 208,
                "column": 0
              },
              "end": {
                "line": 208,
                "column": 14
              }
            },
            "object": {
              "type": "Identifier",
              "start": 5477,
              "end": 5482,
              "loc": {
                "start": {
                  "line": 208,
                  "column": 0
                },
                "end": {
                  "line": 208,
                  "column": 5
                },
                "identifierName": "Hooks"
              },
              "name": "Hooks"
            },
            "property": {
              "type": "Identifier",
              "start": 5483,
              "end": 5491,
              "loc": {
                "start": {
                  "line": 208,
                  "column": 6
                },
                "end": {
                  "line": 208,
                  "column": 14
                },
                "identifierName": "hasHooks"
              },
              "name": "hasHooks"
            },
            "computed": false
          },
          "right": {
            "type": "MemberExpression",
            "start": 5494,
            "end": 5507,
            "loc": {
              "start": {
                "line": 208,
                "column": 17
              },
              "end": {
                "line": 208,
                "column": 30
              }
            },
            "object": {
              "type": "Identifier",
              "start": 5494,
              "end": 5499,
              "loc": {
                "start": {
                  "line": 208,
                  "column": 17
                },
                "end": {
                  "line": 208,
                  "column": 22
                },
                "identifierName": "Hooks"
              },
              "name": "Hooks"
            },
            "property": {
              "type": "Identifier",
              "start": 5500,
              "end": 5507,
              "loc": {
                "start": {
                  "line": 208,
                  "column": 23
                },
                "end": {
                  "line": 208,
                  "column": 30
                },
                "identifierName": "hasHook"
              },
              "name": "hasHook"
            },
            "computed": false
          }
        }
      },
      {
        "type": "FunctionDeclaration",
        "start": 5511,
        "end": 5787,
        "loc": {
          "start": {
            "line": 211,
            "column": 0
          },
          "end": {
            "line": 220,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 5520,
          "end": 5527,
          "loc": {
            "start": {
              "line": 211,
              "column": 9
            },
            "end": {
              "line": 211,
              "column": 16
            },
            "identifierName": "applyTo"
          },
          "name": "applyTo"
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 5528,
            "end": 5534,
            "loc": {
              "start": {
                "line": 211,
                "column": 17
              },
              "end": {
                "line": 211,
                "column": 23
              },
              "identifierName": "target"
            },
            "name": "target"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 5536,
          "end": 5787,
          "loc": {
            "start": {
              "line": 211,
              "column": 25
            },
            "end": {
              "line": 220,
              "column": 1
            }
          },
          "body": [
            {
              "type": "ExpressionStatement",
              "start": 5540,
              "end": 5569,
              "loc": {
                "start": {
                  "line": 212,
                  "column": 2
                },
                "end": {
                  "line": 212,
                  "column": 31
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 5540,
                "end": 5568,
                "loc": {
                  "start": {
                    "line": 212,
                    "column": 2
                  },
                  "end": {
                    "line": 212,
                    "column": 30
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 5540,
                  "end": 5553,
                  "loc": {
                    "start": {
                      "line": 212,
                      "column": 2
                    },
                    "end": {
                      "line": 212,
                      "column": 15
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 5540,
                    "end": 5547,
                    "loc": {
                      "start": {
                        "line": 212,
                        "column": 2
                      },
                      "end": {
                        "line": 212,
                        "column": 9
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 5540,
                      "end": 5545,
                      "loc": {
                        "start": {
                          "line": 212,
                          "column": 2
                        },
                        "end": {
                          "line": 212,
                          "column": 7
                        },
                        "identifierName": "Utils"
                      },
                      "name": "Utils"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 5546,
                      "end": 5547,
                      "loc": {
                        "start": {
                          "line": 212,
                          "column": 8
                        },
                        "end": {
                          "line": 212,
                          "column": 9
                        },
                        "identifierName": "_"
                      },
                      "name": "_"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 5548,
                    "end": 5553,
                    "loc": {
                      "start": {
                        "line": 212,
                        "column": 10
                      },
                      "end": {
                        "line": 212,
                        "column": 15
                      },
                      "identifierName": "mixin"
                    },
                    "name": "mixin"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 5554,
                    "end": 5560,
                    "loc": {
                      "start": {
                        "line": 212,
                        "column": 16
                      },
                      "end": {
                        "line": 212,
                        "column": 22
                      },
                      "identifierName": "target"
                    },
                    "name": "target"
                  },
                  {
                    "type": "Identifier",
                    "start": 5562,
                    "end": 5567,
                    "loc": {
                      "start": {
                        "line": 212,
                        "column": 24
                      },
                      "end": {
                        "line": 212,
                        "column": 29
                      },
                      "identifierName": "Hooks"
                    },
                    "name": "Hooks"
                  }
                ]
              }
            },
            {
              "type": "VariableDeclaration",
              "start": 5573,
              "end": 5646,
              "loc": {
                "start": {
                  "line": 214,
                  "column": 2
                },
                "end": {
                  "line": 214,
                  "column": 75
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 5579,
                  "end": 5645,
                  "loc": {
                    "start": {
                      "line": 214,
                      "column": 8
                    },
                    "end": {
                      "line": 214,
                      "column": 74
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 5579,
                    "end": 5587,
                    "loc": {
                      "start": {
                        "line": 214,
                        "column": 8
                      },
                      "end": {
                        "line": 214,
                        "column": 16
                      },
                      "identifierName": "allHooks"
                    },
                    "name": "allHooks"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 5590,
                    "end": 5645,
                    "loc": {
                      "start": {
                        "line": 214,
                        "column": 19
                      },
                      "end": {
                        "line": 214,
                        "column": 74
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 5590,
                      "end": 5619,
                      "loc": {
                        "start": {
                          "line": 214,
                          "column": 19
                        },
                        "end": {
                          "line": 214,
                          "column": 48
                        }
                      },
                      "object": {
                        "type": "CallExpression",
                        "start": 5590,
                        "end": 5612,
                        "loc": {
                          "start": {
                            "line": 214,
                            "column": 19
                          },
                          "end": {
                            "line": 214,
                            "column": 41
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5590,
                          "end": 5601,
                          "loc": {
                            "start": {
                              "line": 214,
                              "column": 19
                            },
                            "end": {
                              "line": 214,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5590,
                            "end": 5596,
                            "loc": {
                              "start": {
                                "line": 214,
                                "column": 19
                              },
                              "end": {
                                "line": 214,
                                "column": 25
                              },
                              "identifierName": "Object"
                            },
                            "name": "Object"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5597,
                            "end": 5601,
                            "loc": {
                              "start": {
                                "line": 214,
                                "column": 26
                              },
                              "end": {
                                "line": 214,
                                "column": 30
                              },
                              "identifierName": "keys"
                            },
                            "name": "keys"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 5602,
                            "end": 5611,
                            "loc": {
                              "start": {
                                "line": 214,
                                "column": 31
                              },
                              "end": {
                                "line": 214,
                                "column": 40
                              },
                              "identifierName": "hookTypes"
                            },
                            "name": "hookTypes"
                          }
                        ]
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 5613,
                        "end": 5619,
                        "loc": {
                          "start": {
                            "line": 214,
                            "column": 42
                          },
                          "end": {
                            "line": 214,
                            "column": 48
                          },
                          "identifierName": "concat"
                        },
                        "name": "concat"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "CallExpression",
                        "start": 5620,
                        "end": 5644,
                        "loc": {
                          "start": {
                            "line": 214,
                            "column": 49
                          },
                          "end": {
                            "line": 214,
                            "column": 73
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5620,
                          "end": 5631,
                          "loc": {
                            "start": {
                              "line": 214,
                              "column": 49
                            },
                            "end": {
                              "line": 214,
                              "column": 60
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5620,
                            "end": 5626,
                            "loc": {
                              "start": {
                                "line": 214,
                                "column": 49
                              },
                              "end": {
                                "line": 214,
                                "column": 55
                              },
                              "identifierName": "Object"
                            },
                            "name": "Object"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5627,
                            "end": 5631,
                            "loc": {
                              "start": {
                                "line": 214,
                                "column": 56
                              },
                              "end": {
                                "line": 214,
                                "column": 60
                              },
                              "identifierName": "keys"
                            },
                            "name": "keys"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 5632,
                            "end": 5643,
                            "loc": {
                              "start": {
                                "line": 214,
                                "column": 61
                              },
                              "end": {
                                "line": 214,
                                "column": 72
                              },
                              "identifierName": "hookAliases"
                            },
                            "name": "hookAliases"
                          }
                        ]
                      }
                    ]
                  }
                }
              ],
              "kind": "const"
            },
            {
              "type": "ForOfStatement",
              "start": 5649,
              "end": 5785,
              "loc": {
                "start": {
                  "line": 215,
                  "column": 2
                },
                "end": {
                  "line": 219,
                  "column": 3
                }
              },
              "left": {
                "type": "VariableDeclaration",
                "start": 5654,
                "end": 5664,
                "loc": {
                  "start": {
                    "line": 215,
                    "column": 7
                  },
                  "end": {
                    "line": 215,
                    "column": 17
                  }
                },
                "declarations": [
                  {
                    "type": "VariableDeclarator",
                    "start": 5660,
                    "end": 5664,
                    "loc": {
                      "start": {
                        "line": 215,
                        "column": 13
                      },
                      "end": {
                        "line": 215,
                        "column": 17
                      }
                    },
                    "id": {
                      "type": "Identifier",
                      "start": 5660,
                      "end": 5664,
                      "loc": {
                        "start": {
                          "line": 215,
                          "column": 13
                        },
                        "end": {
                          "line": 215,
                          "column": 17
                        },
                        "identifierName": "hook"
                      },
                      "name": "hook"
                    },
                    "init": null
                  }
                ],
                "kind": "const"
              },
              "right": {
                "type": "Identifier",
                "start": 5668,
                "end": 5676,
                "loc": {
                  "start": {
                    "line": 215,
                    "column": 21
                  },
                  "end": {
                    "line": 215,
                    "column": 29
                  },
                  "identifierName": "allHooks"
                },
                "name": "allHooks"
              },
              "body": {
                "type": "BlockStatement",
                "start": 5678,
                "end": 5785,
                "loc": {
                  "start": {
                    "line": 215,
                    "column": 31
                  },
                  "end": {
                    "line": 219,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 5684,
                    "end": 5781,
                    "loc": {
                      "start": {
                        "line": 216,
                        "column": 4
                      },
                      "end": {
                        "line": 218,
                        "column": 6
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 5684,
                      "end": 5780,
                      "loc": {
                        "start": {
                          "line": 216,
                          "column": 4
                        },
                        "end": {
                          "line": 218,
                          "column": 5
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 5684,
                        "end": 5696,
                        "loc": {
                          "start": {
                            "line": 216,
                            "column": 4
                          },
                          "end": {
                            "line": 216,
                            "column": 16
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 5684,
                          "end": 5690,
                          "loc": {
                            "start": {
                              "line": 216,
                              "column": 4
                            },
                            "end": {
                              "line": 216,
                              "column": 10
                            },
                            "identifierName": "target"
                          },
                          "name": "target"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 5691,
                          "end": 5695,
                          "loc": {
                            "start": {
                              "line": 216,
                              "column": 11
                            },
                            "end": {
                              "line": 216,
                              "column": 15
                            },
                            "identifierName": "hook"
                          },
                          "name": "hook"
                        },
                        "computed": true
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "start": 5699,
                        "end": 5780,
                        "loc": {
                          "start": {
                            "line": 216,
                            "column": 19
                          },
                          "end": {
                            "line": 218,
                            "column": 5
                          }
                        },
                        "id": null,
                        "generator": false,
                        "expression": false,
                        "async": false,
                        "params": [
                          {
                            "type": "Identifier",
                            "start": 5708,
                            "end": 5712,
                            "loc": {
                              "start": {
                                "line": 216,
                                "column": 28
                              },
                              "end": {
                                "line": 216,
                                "column": 32
                              },
                              "identifierName": "name"
                            },
                            "name": "name"
                          },
                          {
                            "type": "Identifier",
                            "start": 5714,
                            "end": 5722,
                            "loc": {
                              "start": {
                                "line": 216,
                                "column": 34
                              },
                              "end": {
                                "line": 216,
                                "column": 42
                              },
                              "identifierName": "callback"
                            },
                            "name": "callback"
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "start": 5724,
                          "end": 5780,
                          "loc": {
                            "start": {
                              "line": 216,
                              "column": 44
                            },
                            "end": {
                              "line": 218,
                              "column": 5
                            }
                          },
                          "body": [
                            {
                              "type": "ReturnStatement",
                              "start": 5732,
                              "end": 5774,
                              "loc": {
                                "start": {
                                  "line": 217,
                                  "column": 6
                                },
                                "end": {
                                  "line": 217,
                                  "column": 48
                                }
                              },
                              "argument": {
                                "type": "CallExpression",
                                "start": 5739,
                                "end": 5773,
                                "loc": {
                                  "start": {
                                    "line": 217,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 217,
                                    "column": 47
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 5739,
                                  "end": 5751,
                                  "loc": {
                                    "start": {
                                      "line": 217,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 217,
                                      "column": 25
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 5739,
                                    "end": 5743,
                                    "loc": {
                                      "start": {
                                        "line": 217,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 217,
                                        "column": 17
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5744,
                                    "end": 5751,
                                    "loc": {
                                      "start": {
                                        "line": 217,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 217,
                                        "column": 25
                                      },
                                      "identifierName": "addHook"
                                    },
                                    "name": "addHook"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 5752,
                                    "end": 5756,
                                    "loc": {
                                      "start": {
                                        "line": 217,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 217,
                                        "column": 30
                                      },
                                      "identifierName": "hook"
                                    },
                                    "name": "hook"
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 5758,
                                    "end": 5762,
                                    "loc": {
                                      "start": {
                                        "line": 217,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 217,
                                        "column": 36
                                      },
                                      "identifierName": "name"
                                    },
                                    "name": "name"
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 5764,
                                    "end": 5772,
                                    "loc": {
                                      "start": {
                                        "line": 217,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 217,
                                        "column": 46
                                      },
                                      "identifierName": "callback"
                                    },
                                    "name": "callback"
                                  }
                                ]
                              }
                            }
                          ],
                          "directives": []
                        }
                      }
                    }
                  }
                ],
                "directives": []
              }
            }
          ],
          "directives": []
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 5788,
        "end": 5814,
        "loc": {
          "start": {
            "line": 221,
            "column": 0
          },
          "end": {
            "line": 221,
            "column": 26
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 5788,
          "end": 5813,
          "loc": {
            "start": {
              "line": 221,
              "column": 0
            },
            "end": {
              "line": 221,
              "column": 25
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 5788,
            "end": 5803,
            "loc": {
              "start": {
                "line": 221,
                "column": 0
              },
              "end": {
                "line": 221,
                "column": 15
              }
            },
            "object": {
              "type": "Identifier",
              "start": 5788,
              "end": 5795,
              "loc": {
                "start": {
                  "line": 221,
                  "column": 0
                },
                "end": {
                  "line": 221,
                  "column": 7
                },
                "identifierName": "exports"
              },
              "name": "exports"
            },
            "property": {
              "type": "Identifier",
              "start": 5796,
              "end": 5803,
              "loc": {
                "start": {
                  "line": 221,
                  "column": 8
                },
                "end": {
                  "line": 221,
                  "column": 15
                },
                "identifierName": "applyTo"
              },
              "name": "applyTo"
            },
            "computed": false
          },
          "right": {
            "type": "Identifier",
            "start": 5806,
            "end": 5813,
            "loc": {
              "start": {
                "line": 221,
                "column": 18
              },
              "end": {
                "line": 221,
                "column": 25
              },
              "identifierName": "applyTo"
            },
            "name": "applyTo"
          }
        },
        "trailingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run before validation\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options\n * @name beforeValidate\n * @memberOf Sequelize.Model\n ",
            "start": 5816,
            "end": 6026,
            "loc": {
              "start": {
                "line": 223,
                "column": 0
              },
              "end": {
                "line": 229,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run after validation\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options\n * @name afterValidate\n * @memberOf Sequelize.Model\n ",
            "start": 6028,
            "end": 6236,
            "loc": {
              "start": {
                "line": 231,
                "column": 0
              },
              "end": {
                "line": 237,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run when validation fails\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options, error. Error is the\n * SequelizeValidationError. If the callback throws an error, it will replace the original validation error.\n * @name validationFailed\n * @memberOf Sequelize.Model\n ",
            "start": 6238,
            "end": 6584,
            "loc": {
              "start": {
                "line": 239,
                "column": 0
              },
              "end": {
                "line": 246,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run before creating a single instance\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with attributes, options\n * @name beforeCreate\n * @memberOf Sequelize.Model\n ",
            "start": 6586,
            "end": 6812,
            "loc": {
              "start": {
                "line": 248,
                "column": 0
              },
              "end": {
                "line": 254,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run after creating a single instance\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with attributes, options\n * @name afterCreate\n * @memberOf Sequelize.Model\n ",
            "start": 6814,
            "end": 7038,
            "loc": {
              "start": {
                "line": 256,
                "column": 0
              },
              "end": {
                "line": 262,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run before creating or updating a single instance, It proxies `beforeCreate` and `beforeUpdate`\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with attributes, options\n * @name beforeSave\n * @memberOf Sequelize.Model\n ",
            "start": 7040,
            "end": 7322,
            "loc": {
              "start": {
                "line": 264,
                "column": 0
              },
              "end": {
                "line": 270,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run before upserting\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with attributes, options\n * @name beforeUpsert\n * @memberOf Sequelize.Model\n ",
            "start": 7324,
            "end": 7533,
            "loc": {
              "start": {
                "line": 272,
                "column": 0
              },
              "end": {
                "line": 278,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run after upserting\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with attributes, options\n * @name afterUpsert\n * @memberOf Sequelize.Model\n ",
            "start": 7535,
            "end": 7742,
            "loc": {
              "start": {
                "line": 280,
                "column": 0
              },
              "end": {
                "line": 286,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n  * A hook that is run after creating or updating a single instance, It proxies `afterCreate` and `afterUpdate`\n  * @param {String}   name\n  * @param {Function} fn   A callback function that is called with attributes, options\n  * @name afterSave\n  * @memberOf Sequelize.Model\n  ",
            "start": 7745,
            "end": 8029,
            "loc": {
              "start": {
                "line": 288,
                "column": 1
              },
              "end": {
                "line": 294,
                "column": 4
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run before destroying a single instance\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options\n *\n * @name beforeDestroy\n * @alias beforeDelete\n * @memberOf Sequelize.Model\n ",
            "start": 8031,
            "end": 8284,
            "loc": {
              "start": {
                "line": 296,
                "column": 0
              },
              "end": {
                "line": 304,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run after destroying a single instance\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options\n *\n * @name afterDestroy\n * @alias afterDelete\n * @memberOf Sequelize.Model\n ",
            "start": 8286,
            "end": 8536,
            "loc": {
              "start": {
                "line": 306,
                "column": 0
              },
              "end": {
                "line": 314,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run before restoring a single instance\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options\n *\n * @name beforeRestore\n * @memberOf Sequelize.Model\n ",
            "start": 8538,
            "end": 8767,
            "loc": {
              "start": {
                "line": 316,
                "column": 0
              },
              "end": {
                "line": 323,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run after restoring a single instance\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options\n *\n * @name afterRestore\n * @memberOf Sequelize.Model\n ",
            "start": 8769,
            "end": 8996,
            "loc": {
              "start": {
                "line": 325,
                "column": 0
              },
              "end": {
                "line": 332,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run before updating a single instance\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options\n * @name beforeUpdate\n * @memberOf Sequelize.Model\n ",
            "start": 8998,
            "end": 9222,
            "loc": {
              "start": {
                "line": 334,
                "column": 0
              },
              "end": {
                "line": 340,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run after updating a single instance\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options\n * @name afterUpdate\n * @memberOf Sequelize.Model\n ",
            "start": 9224,
            "end": 9446,
            "loc": {
              "start": {
                "line": 342,
                "column": 0
              },
              "end": {
                "line": 348,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run before creating instances in bulk\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instances, options\n * @name beforeBulkCreate\n * @memberOf Sequelize.Model\n ",
            "start": 9448,
            "end": 9677,
            "loc": {
              "start": {
                "line": 350,
                "column": 0
              },
              "end": {
                "line": 356,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run after creating instances in bulk\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instances, options\n * @name afterBulkCreate\n * @memberOf Sequelize.Model\n ",
            "start": 9679,
            "end": 9906,
            "loc": {
              "start": {
                "line": 358,
                "column": 0
              },
              "end": {
                "line": 364,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run before destroying instances in bulk\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n *\n * @name beforeBulkDestroy\n * @alias beforeBulkDelete\n * @memberOf Sequelize.Model\n ",
            "start": 9908,
            "end": 10159,
            "loc": {
              "start": {
                "line": 366,
                "column": 0
              },
              "end": {
                "line": 374,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run after destroying instances in bulk\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n *\n * @name afterBulkDestroy\n * @alias afterBulkDelete\n * @memberOf Sequelize.Model\n ",
            "start": 10161,
            "end": 10409,
            "loc": {
              "start": {
                "line": 376,
                "column": 0
              },
              "end": {
                "line": 384,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run before restoring instances in bulk\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n *\n * @name beforeBulkRestore\n * @memberOf Sequelize.Model\n ",
            "start": 10411,
            "end": 10634,
            "loc": {
              "start": {
                "line": 386,
                "column": 0
              },
              "end": {
                "line": 393,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run after restoring instances in bulk\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n *\n * @name afterBulkRestore\n * @memberOf Sequelize.Model\n ",
            "start": 10636,
            "end": 10857,
            "loc": {
              "start": {
                "line": 395,
                "column": 0
              },
              "end": {
                "line": 402,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run before updating instances in bulk\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n * @name beforeBulkUpdate\n * @memberOf Sequelize.Model\n ",
            "start": 10859,
            "end": 11077,
            "loc": {
              "start": {
                "line": 404,
                "column": 0
              },
              "end": {
                "line": 410,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run after updating instances in bulk\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n * @name afterBulkUpdate\n * @memberOf Sequelize.Model\n ",
            "start": 11079,
            "end": 11295,
            "loc": {
              "start": {
                "line": 412,
                "column": 0
              },
              "end": {
                "line": 418,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run before a find (select) query\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n * @name beforeFind\n * @memberOf Sequelize.Model\n ",
            "start": 11297,
            "end": 11504,
            "loc": {
              "start": {
                "line": 420,
                "column": 0
              },
              "end": {
                "line": 426,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run before a find (select) query, after any { include: {all: ...} } options are expanded\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n * @name beforeFindAfterExpandIncludeAll\n * @memberOf Sequelize.Model\n ",
            "start": 11506,
            "end": 11790,
            "loc": {
              "start": {
                "line": 428,
                "column": 0
              },
              "end": {
                "line": 434,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run before a find (select) query, after all option parsing is complete\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n * @name beforeFindAfterOptions\n * @memberOf Sequelize.Model\n ",
            "start": 11792,
            "end": 12049,
            "loc": {
              "start": {
                "line": 436,
                "column": 0
              },
              "end": {
                "line": 442,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run after a find (select) query\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance(s), options\n * @name afterFind\n * @memberOf Sequelize.Model\n ",
            "start": 12051,
            "end": 12269,
            "loc": {
              "start": {
                "line": 444,
                "column": 0
              },
              "end": {
                "line": 450,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run before a count query\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n * @name beforeCount\n * @memberOf Sequelize.Model\n ",
            "start": 12271,
            "end": 12471,
            "loc": {
              "start": {
                "line": 452,
                "column": 0
              },
              "end": {
                "line": 458,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run before a define call\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with attributes, options\n * @name beforeDefine\n * @memberOf Sequelize\n ",
            "start": 12473,
            "end": 12680,
            "loc": {
              "start": {
                "line": 460,
                "column": 0
              },
              "end": {
                "line": 466,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run after a define call\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with factory\n * @name afterDefine\n * @memberOf Sequelize\n ",
            "start": 12682,
            "end": 12875,
            "loc": {
              "start": {
                "line": 468,
                "column": 0
              },
              "end": {
                "line": 474,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run before Sequelize() call\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with config, options\n * @name beforeInit\n * @memberOf Sequelize\n ",
            "start": 12877,
            "end": 13081,
            "loc": {
              "start": {
                "line": 476,
                "column": 0
              },
              "end": {
                "line": 482,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run after Sequelize() call\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with sequelize\n * @name afterInit\n * @memberOf Sequelize\n ",
            "start": 13083,
            "end": 13279,
            "loc": {
              "start": {
                "line": 484,
                "column": 0
              },
              "end": {
                "line": 490,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run before a connection is created\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with config passed to connection\n * @name beforeConnect\n * @memberOf Sequelize\n ",
            "start": 13281,
            "end": 13507,
            "loc": {
              "start": {
                "line": 492,
                "column": 0
              },
              "end": {
                "line": 498,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run after a connection is created\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with the connection object and thye config passed to connection\n * @name afterConnect\n * @memberOf Sequelize\n ",
            "start": 13509,
            "end": 13764,
            "loc": {
              "start": {
                "line": 500,
                "column": 0
              },
              "end": {
                "line": 506,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run before Model.sync call\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options passed to Model.sync\n * @name beforeSync\n * @memberOf Sequelize\n ",
            "start": 13766,
            "end": 13982,
            "loc": {
              "start": {
                "line": 508,
                "column": 0
              },
              "end": {
                "line": 514,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n * A hook that is run after Model.sync call\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options passed to Model.sync\n * @name afterSync\n * @memberOf Sequelize\n ",
            "start": 13984,
            "end": 14198,
            "loc": {
              "start": {
                "line": 516,
                "column": 0
              },
              "end": {
                "line": 522,
                "column": 3
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n  * A hook that is run before sequelize.sync call\n  * @param {String}   name\n  * @param {Function} fn   A callback function that is called with options passed to sequelize.sync\n  * @name beforeBulkSync\n  * @memberOf Sequelize\n  ",
            "start": 14201,
            "end": 14435,
            "loc": {
              "start": {
                "line": 524,
                "column": 1
              },
              "end": {
                "line": 530,
                "column": 4
              }
            }
          },
          {
            "type": "CommentBlock",
            "value": "*\n  * A hook that is run after sequelize.sync call\n  * @param {String}   name\n  * @param {Function} fn   A callback function that is called with options passed to sequelize.sync\n  * @name afterBulkSync\n  * @memberOf Sequelize\n  ",
            "start": 14438,
            "end": 14670,
            "loc": {
              "start": {
                "line": 532,
                "column": 1
              },
              "end": {
                "line": 538,
                "column": 4
              }
            }
          }
        ]
      }
    ],
    "directives": [
      {
        "type": "Directive",
        "start": 0,
        "end": 13,
        "loc": {
          "start": {
            "line": 1,
            "column": 0
          },
          "end": {
            "line": 1,
            "column": 13
          }
        },
        "value": {
          "type": "DirectiveLiteral",
          "start": 0,
          "end": 12,
          "loc": {
            "start": {
              "line": 1,
              "column": 0
            },
            "end": {
              "line": 1,
              "column": 12
            }
          },
          "value": "use strict",
          "extra": {
            "raw": "'use strict'",
            "rawValue": "use strict"
          }
        }
      }
    ]
  },
  "comments": [
    {
      "type": "CommentBlock",
      "value": "*\n * get array of current hook and its proxied hooks combined\n * @private\n ",
      "start": 1717,
      "end": 1796,
      "loc": {
        "start": {
          "line": 58,
          "column": 0
        },
        "end": {
          "line": 61,
          "column": 3
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Does an alias for this hook name exist?",
      "start": 2062,
      "end": 2104,
      "loc": {
        "start": {
          "line": 73,
          "column": 6
        },
        "end": {
          "line": 73,
          "column": 48
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Add the hooks to the actual hook",
      "start": 2159,
      "end": 2194,
      "loc": {
        "start": {
          "line": 75,
          "column": 8
        },
        "end": {
          "line": 75,
          "column": 43
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Delete the alias",
      "start": 2282,
      "end": 2301,
      "loc": {
        "start": {
          "line": 78,
          "column": 8
        },
        "end": {
          "line": 78,
          "column": 27
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " synchronous hooks",
      "start": 2815,
      "end": 2835,
      "loc": {
        "start": {
          "line": 102,
          "column": 4
        },
        "end": {
          "line": 102,
          "column": 24
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " asynchronous hooks (default)",
      "start": 3122,
      "end": 3153,
      "loc": {
        "start": {
          "line": 115,
          "column": 4
        },
        "end": {
          "line": 115,
          "column": 35
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * Add a hook to the model\n   *\n   * @param {String}    hookType\n   * @param {String}    [name]    Provide a name for the hook function. It can be used to remove the hook later or to order hooks based on some sort of priority system in the future.\n   * @param {Function}  fn        The hook function\n   *\n   * @memberOf Sequelize\n   * @memberOf Sequelize.Model\n   ",
      "start": 3456,
      "end": 3828,
      "loc": {
        "start": {
          "line": 130,
          "column": 2
        },
        "end": {
          "line": 139,
          "column": 5
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " check for proxies, add them too",
      "start": 4035,
      "end": 4069,
      "loc": {
        "start": {
          "line": 149,
          "column": 4
        },
        "end": {
          "line": 149,
          "column": 38
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * Remove hook from the model\n   *\n   * @param {String} hookType\n   * @param {String|Function} name\n   *\n   * @memberOf Sequelize\n   * @memberOf Sequelize.Model\n   ",
      "start": 4314,
      "end": 4486,
      "loc": {
        "start": {
          "line": 160,
          "column": 2
        },
        "end": {
          "line": 168,
          "column": 5
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " check for proxies, add them too",
      "start": 4748,
      "end": 4782,
      "loc": {
        "start": {
          "line": 179,
          "column": 4
        },
        "end": {
          "line": 179,
          "column": 38
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " check if same method",
      "start": 5025,
      "end": 5048,
      "loc": {
        "start": {
          "line": 185,
          "column": 32
        },
        "end": {
          "line": 185,
          "column": 55
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * Check whether the mode has any hooks of this type\n   *\n   * @param {String}  hookType\n   *\n   * @alias hasHooks\n   * @memberOf Sequelize\n   * @memberOf Sequelize.Model\n   ",
      "start": 5183,
      "end": 5365,
      "loc": {
        "start": {
          "line": 195,
          "column": 2
        },
        "end": {
          "line": 203,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before validation\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options\n * @name beforeValidate\n * @memberOf Sequelize.Model\n ",
      "start": 5816,
      "end": 6026,
      "loc": {
        "start": {
          "line": 223,
          "column": 0
        },
        "end": {
          "line": 229,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after validation\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options\n * @name afterValidate\n * @memberOf Sequelize.Model\n ",
      "start": 6028,
      "end": 6236,
      "loc": {
        "start": {
          "line": 231,
          "column": 0
        },
        "end": {
          "line": 237,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run when validation fails\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options, error. Error is the\n * SequelizeValidationError. If the callback throws an error, it will replace the original validation error.\n * @name validationFailed\n * @memberOf Sequelize.Model\n ",
      "start": 6238,
      "end": 6584,
      "loc": {
        "start": {
          "line": 239,
          "column": 0
        },
        "end": {
          "line": 246,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before creating a single instance\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with attributes, options\n * @name beforeCreate\n * @memberOf Sequelize.Model\n ",
      "start": 6586,
      "end": 6812,
      "loc": {
        "start": {
          "line": 248,
          "column": 0
        },
        "end": {
          "line": 254,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after creating a single instance\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with attributes, options\n * @name afterCreate\n * @memberOf Sequelize.Model\n ",
      "start": 6814,
      "end": 7038,
      "loc": {
        "start": {
          "line": 256,
          "column": 0
        },
        "end": {
          "line": 262,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before creating or updating a single instance, It proxies `beforeCreate` and `beforeUpdate`\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with attributes, options\n * @name beforeSave\n * @memberOf Sequelize.Model\n ",
      "start": 7040,
      "end": 7322,
      "loc": {
        "start": {
          "line": 264,
          "column": 0
        },
        "end": {
          "line": 270,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before upserting\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with attributes, options\n * @name beforeUpsert\n * @memberOf Sequelize.Model\n ",
      "start": 7324,
      "end": 7533,
      "loc": {
        "start": {
          "line": 272,
          "column": 0
        },
        "end": {
          "line": 278,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after upserting\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with attributes, options\n * @name afterUpsert\n * @memberOf Sequelize.Model\n ",
      "start": 7535,
      "end": 7742,
      "loc": {
        "start": {
          "line": 280,
          "column": 0
        },
        "end": {
          "line": 286,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n  * A hook that is run after creating or updating a single instance, It proxies `afterCreate` and `afterUpdate`\n  * @param {String}   name\n  * @param {Function} fn   A callback function that is called with attributes, options\n  * @name afterSave\n  * @memberOf Sequelize.Model\n  ",
      "start": 7745,
      "end": 8029,
      "loc": {
        "start": {
          "line": 288,
          "column": 1
        },
        "end": {
          "line": 294,
          "column": 4
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before destroying a single instance\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options\n *\n * @name beforeDestroy\n * @alias beforeDelete\n * @memberOf Sequelize.Model\n ",
      "start": 8031,
      "end": 8284,
      "loc": {
        "start": {
          "line": 296,
          "column": 0
        },
        "end": {
          "line": 304,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after destroying a single instance\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options\n *\n * @name afterDestroy\n * @alias afterDelete\n * @memberOf Sequelize.Model\n ",
      "start": 8286,
      "end": 8536,
      "loc": {
        "start": {
          "line": 306,
          "column": 0
        },
        "end": {
          "line": 314,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before restoring a single instance\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options\n *\n * @name beforeRestore\n * @memberOf Sequelize.Model\n ",
      "start": 8538,
      "end": 8767,
      "loc": {
        "start": {
          "line": 316,
          "column": 0
        },
        "end": {
          "line": 323,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after restoring a single instance\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options\n *\n * @name afterRestore\n * @memberOf Sequelize.Model\n ",
      "start": 8769,
      "end": 8996,
      "loc": {
        "start": {
          "line": 325,
          "column": 0
        },
        "end": {
          "line": 332,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before updating a single instance\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options\n * @name beforeUpdate\n * @memberOf Sequelize.Model\n ",
      "start": 8998,
      "end": 9222,
      "loc": {
        "start": {
          "line": 334,
          "column": 0
        },
        "end": {
          "line": 340,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after updating a single instance\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options\n * @name afterUpdate\n * @memberOf Sequelize.Model\n ",
      "start": 9224,
      "end": 9446,
      "loc": {
        "start": {
          "line": 342,
          "column": 0
        },
        "end": {
          "line": 348,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before creating instances in bulk\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instances, options\n * @name beforeBulkCreate\n * @memberOf Sequelize.Model\n ",
      "start": 9448,
      "end": 9677,
      "loc": {
        "start": {
          "line": 350,
          "column": 0
        },
        "end": {
          "line": 356,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after creating instances in bulk\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instances, options\n * @name afterBulkCreate\n * @memberOf Sequelize.Model\n ",
      "start": 9679,
      "end": 9906,
      "loc": {
        "start": {
          "line": 358,
          "column": 0
        },
        "end": {
          "line": 364,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before destroying instances in bulk\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n *\n * @name beforeBulkDestroy\n * @alias beforeBulkDelete\n * @memberOf Sequelize.Model\n ",
      "start": 9908,
      "end": 10159,
      "loc": {
        "start": {
          "line": 366,
          "column": 0
        },
        "end": {
          "line": 374,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after destroying instances in bulk\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n *\n * @name afterBulkDestroy\n * @alias afterBulkDelete\n * @memberOf Sequelize.Model\n ",
      "start": 10161,
      "end": 10409,
      "loc": {
        "start": {
          "line": 376,
          "column": 0
        },
        "end": {
          "line": 384,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before restoring instances in bulk\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n *\n * @name beforeBulkRestore\n * @memberOf Sequelize.Model\n ",
      "start": 10411,
      "end": 10634,
      "loc": {
        "start": {
          "line": 386,
          "column": 0
        },
        "end": {
          "line": 393,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after restoring instances in bulk\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n *\n * @name afterBulkRestore\n * @memberOf Sequelize.Model\n ",
      "start": 10636,
      "end": 10857,
      "loc": {
        "start": {
          "line": 395,
          "column": 0
        },
        "end": {
          "line": 402,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before updating instances in bulk\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n * @name beforeBulkUpdate\n * @memberOf Sequelize.Model\n ",
      "start": 10859,
      "end": 11077,
      "loc": {
        "start": {
          "line": 404,
          "column": 0
        },
        "end": {
          "line": 410,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after updating instances in bulk\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n * @name afterBulkUpdate\n * @memberOf Sequelize.Model\n ",
      "start": 11079,
      "end": 11295,
      "loc": {
        "start": {
          "line": 412,
          "column": 0
        },
        "end": {
          "line": 418,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before a find (select) query\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n * @name beforeFind\n * @memberOf Sequelize.Model\n ",
      "start": 11297,
      "end": 11504,
      "loc": {
        "start": {
          "line": 420,
          "column": 0
        },
        "end": {
          "line": 426,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before a find (select) query, after any { include: {all: ...} } options are expanded\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n * @name beforeFindAfterExpandIncludeAll\n * @memberOf Sequelize.Model\n ",
      "start": 11506,
      "end": 11790,
      "loc": {
        "start": {
          "line": 428,
          "column": 0
        },
        "end": {
          "line": 434,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before a find (select) query, after all option parsing is complete\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n * @name beforeFindAfterOptions\n * @memberOf Sequelize.Model\n ",
      "start": 11792,
      "end": 12049,
      "loc": {
        "start": {
          "line": 436,
          "column": 0
        },
        "end": {
          "line": 442,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after a find (select) query\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance(s), options\n * @name afterFind\n * @memberOf Sequelize.Model\n ",
      "start": 12051,
      "end": 12269,
      "loc": {
        "start": {
          "line": 444,
          "column": 0
        },
        "end": {
          "line": 450,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before a count query\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n * @name beforeCount\n * @memberOf Sequelize.Model\n ",
      "start": 12271,
      "end": 12471,
      "loc": {
        "start": {
          "line": 452,
          "column": 0
        },
        "end": {
          "line": 458,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before a define call\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with attributes, options\n * @name beforeDefine\n * @memberOf Sequelize\n ",
      "start": 12473,
      "end": 12680,
      "loc": {
        "start": {
          "line": 460,
          "column": 0
        },
        "end": {
          "line": 466,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after a define call\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with factory\n * @name afterDefine\n * @memberOf Sequelize\n ",
      "start": 12682,
      "end": 12875,
      "loc": {
        "start": {
          "line": 468,
          "column": 0
        },
        "end": {
          "line": 474,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before Sequelize() call\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with config, options\n * @name beforeInit\n * @memberOf Sequelize\n ",
      "start": 12877,
      "end": 13081,
      "loc": {
        "start": {
          "line": 476,
          "column": 0
        },
        "end": {
          "line": 482,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after Sequelize() call\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with sequelize\n * @name afterInit\n * @memberOf Sequelize\n ",
      "start": 13083,
      "end": 13279,
      "loc": {
        "start": {
          "line": 484,
          "column": 0
        },
        "end": {
          "line": 490,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before a connection is created\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with config passed to connection\n * @name beforeConnect\n * @memberOf Sequelize\n ",
      "start": 13281,
      "end": 13507,
      "loc": {
        "start": {
          "line": 492,
          "column": 0
        },
        "end": {
          "line": 498,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after a connection is created\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with the connection object and thye config passed to connection\n * @name afterConnect\n * @memberOf Sequelize\n ",
      "start": 13509,
      "end": 13764,
      "loc": {
        "start": {
          "line": 500,
          "column": 0
        },
        "end": {
          "line": 506,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before Model.sync call\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options passed to Model.sync\n * @name beforeSync\n * @memberOf Sequelize\n ",
      "start": 13766,
      "end": 13982,
      "loc": {
        "start": {
          "line": 508,
          "column": 0
        },
        "end": {
          "line": 514,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after Model.sync call\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options passed to Model.sync\n * @name afterSync\n * @memberOf Sequelize\n ",
      "start": 13984,
      "end": 14198,
      "loc": {
        "start": {
          "line": 516,
          "column": 0
        },
        "end": {
          "line": 522,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n  * A hook that is run before sequelize.sync call\n  * @param {String}   name\n  * @param {Function} fn   A callback function that is called with options passed to sequelize.sync\n  * @name beforeBulkSync\n  * @memberOf Sequelize\n  ",
      "start": 14201,
      "end": 14435,
      "loc": {
        "start": {
          "line": 524,
          "column": 1
        },
        "end": {
          "line": 530,
          "column": 4
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n  * A hook that is run after sequelize.sync call\n  * @param {String}   name\n  * @param {Function} fn   A callback function that is called with options passed to sequelize.sync\n  * @name afterBulkSync\n  * @memberOf Sequelize\n  ",
      "start": 14438,
      "end": 14670,
      "loc": {
        "start": {
          "line": 532,
          "column": 1
        },
        "end": {
          "line": 538,
          "column": 4
        }
      }
    }
  ],
  "tokens": [
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "use strict",
      "start": 0,
      "end": 12,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12,
      "end": 13,
      "loc": {
        "start": {
          "line": 1,
          "column": 12
        },
        "end": {
          "line": 1,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 15,
      "end": 20,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Utils",
      "start": 21,
      "end": 26,
      "loc": {
        "start": {
          "line": 3,
          "column": 6
        },
        "end": {
          "line": 3,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 27,
      "end": 28,
      "loc": {
        "start": {
          "line": 3,
          "column": 12
        },
        "end": {
          "line": 3,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "require",
      "start": 29,
      "end": 36,
      "loc": {
        "start": {
          "line": 3,
          "column": 14
        },
        "end": {
          "line": 3,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 36,
      "end": 37,
      "loc": {
        "start": {
          "line": 3,
          "column": 21
        },
        "end": {
          "line": 3,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./utils",
      "start": 37,
      "end": 46,
      "loc": {
        "start": {
          "line": 3,
          "column": 22
        },
        "end": {
          "line": 3,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 46,
      "end": 47,
      "loc": {
        "start": {
          "line": 3,
          "column": 31
        },
        "end": {
          "line": 3,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 47,
      "end": 48,
      "loc": {
        "start": {
          "line": 3,
          "column": 32
        },
        "end": {
          "line": 3,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 49,
      "end": 54,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Promise",
      "start": 55,
      "end": 62,
      "loc": {
        "start": {
          "line": 4,
          "column": 6
        },
        "end": {
          "line": 4,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 63,
      "end": 64,
      "loc": {
        "start": {
          "line": 4,
          "column": 14
        },
        "end": {
          "line": 4,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "require",
      "start": 65,
      "end": 72,
      "loc": {
        "start": {
          "line": 4,
          "column": 16
        },
        "end": {
          "line": 4,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 72,
      "end": 73,
      "loc": {
        "start": {
          "line": 4,
          "column": 23
        },
        "end": {
          "line": 4,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./promise",
      "start": 73,
      "end": 84,
      "loc": {
        "start": {
          "line": 4,
          "column": 24
        },
        "end": {
          "line": 4,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 84,
      "end": 85,
      "loc": {
        "start": {
          "line": 4,
          "column": 35
        },
        "end": {
          "line": 4,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 85,
      "end": 86,
      "loc": {
        "start": {
          "line": 4,
          "column": 36
        },
        "end": {
          "line": 4,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 87,
      "end": 92,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "debug",
      "start": 93,
      "end": 98,
      "loc": {
        "start": {
          "line": 5,
          "column": 6
        },
        "end": {
          "line": 5,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 99,
      "end": 100,
      "loc": {
        "start": {
          "line": 5,
          "column": 12
        },
        "end": {
          "line": 5,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Utils",
      "start": 101,
      "end": 106,
      "loc": {
        "start": {
          "line": 5,
          "column": 14
        },
        "end": {
          "line": 5,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 106,
      "end": 107,
      "loc": {
        "start": {
          "line": 5,
          "column": 19
        },
        "end": {
          "line": 5,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getLogger",
      "start": 107,
      "end": 116,
      "loc": {
        "start": {
          "line": 5,
          "column": 20
        },
        "end": {
          "line": 5,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 116,
      "end": 117,
      "loc": {
        "start": {
          "line": 5,
          "column": 29
        },
        "end": {
          "line": 5,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 117,
      "end": 118,
      "loc": {
        "start": {
          "line": 5,
          "column": 30
        },
        "end": {
          "line": 5,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 118,
      "end": 119,
      "loc": {
        "start": {
          "line": 5,
          "column": 31
        },
        "end": {
          "line": 5,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "debugContext",
      "start": 119,
      "end": 131,
      "loc": {
        "start": {
          "line": 5,
          "column": 32
        },
        "end": {
          "line": 5,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 131,
      "end": 132,
      "loc": {
        "start": {
          "line": 5,
          "column": 44
        },
        "end": {
          "line": 5,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "hooks",
      "start": 132,
      "end": 139,
      "loc": {
        "start": {
          "line": 5,
          "column": 45
        },
        "end": {
          "line": 5,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 139,
      "end": 140,
      "loc": {
        "start": {
          "line": 5,
          "column": 52
        },
        "end": {
          "line": 5,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 140,
      "end": 141,
      "loc": {
        "start": {
          "line": 5,
          "column": 53
        },
        "end": {
          "line": 5,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 143,
      "end": 148,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookTypes",
      "start": 149,
      "end": 158,
      "loc": {
        "start": {
          "line": 7,
          "column": 6
        },
        "end": {
          "line": 7,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 159,
      "end": 160,
      "loc": {
        "start": {
          "line": 7,
          "column": 16
        },
        "end": {
          "line": 7,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 161,
      "end": 162,
      "loc": {
        "start": {
          "line": 7,
          "column": 18
        },
        "end": {
          "line": 7,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "beforeValidate",
      "start": 165,
      "end": 179,
      "loc": {
        "start": {
          "line": 8,
          "column": 2
        },
        "end": {
          "line": 8,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 179,
      "end": 180,
      "loc": {
        "start": {
          "line": 8,
          "column": 16
        },
        "end": {
          "line": 8,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 181,
      "end": 182,
      "loc": {
        "start": {
          "line": 8,
          "column": 18
        },
        "end": {
          "line": 8,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 182,
      "end": 188,
      "loc": {
        "start": {
          "line": 8,
          "column": 19
        },
        "end": {
          "line": 8,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 188,
      "end": 189,
      "loc": {
        "start": {
          "line": 8,
          "column": 25
        },
        "end": {
          "line": 8,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 190,
      "end": 191,
      "loc": {
        "start": {
          "line": 8,
          "column": 27
        },
        "end": {
          "line": 8,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 191,
      "end": 192,
      "loc": {
        "start": {
          "line": 8,
          "column": 28
        },
        "end": {
          "line": 8,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 192,
      "end": 193,
      "loc": {
        "start": {
          "line": 8,
          "column": 29
        },
        "end": {
          "line": 8,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "afterValidate",
      "start": 196,
      "end": 209,
      "loc": {
        "start": {
          "line": 9,
          "column": 2
        },
        "end": {
          "line": 9,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 209,
      "end": 210,
      "loc": {
        "start": {
          "line": 9,
          "column": 15
        },
        "end": {
          "line": 9,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 211,
      "end": 212,
      "loc": {
        "start": {
          "line": 9,
          "column": 17
        },
        "end": {
          "line": 9,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 212,
      "end": 218,
      "loc": {
        "start": {
          "line": 9,
          "column": 18
        },
        "end": {
          "line": 9,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 218,
      "end": 219,
      "loc": {
        "start": {
          "line": 9,
          "column": 24
        },
        "end": {
          "line": 9,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 220,
      "end": 221,
      "loc": {
        "start": {
          "line": 9,
          "column": 26
        },
        "end": {
          "line": 9,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 221,
      "end": 222,
      "loc": {
        "start": {
          "line": 9,
          "column": 27
        },
        "end": {
          "line": 9,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 222,
      "end": 223,
      "loc": {
        "start": {
          "line": 9,
          "column": 28
        },
        "end": {
          "line": 9,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "validationFailed",
      "start": 226,
      "end": 242,
      "loc": {
        "start": {
          "line": 10,
          "column": 2
        },
        "end": {
          "line": 10,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 242,
      "end": 243,
      "loc": {
        "start": {
          "line": 10,
          "column": 18
        },
        "end": {
          "line": 10,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 244,
      "end": 245,
      "loc": {
        "start": {
          "line": 10,
          "column": 20
        },
        "end": {
          "line": 10,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 245,
      "end": 251,
      "loc": {
        "start": {
          "line": 10,
          "column": 21
        },
        "end": {
          "line": 10,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 251,
      "end": 252,
      "loc": {
        "start": {
          "line": 10,
          "column": 27
        },
        "end": {
          "line": 10,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 3,
      "start": 253,
      "end": 254,
      "loc": {
        "start": {
          "line": 10,
          "column": 29
        },
        "end": {
          "line": 10,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 254,
      "end": 255,
      "loc": {
        "start": {
          "line": 10,
          "column": 30
        },
        "end": {
          "line": 10,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 255,
      "end": 256,
      "loc": {
        "start": {
          "line": 10,
          "column": 31
        },
        "end": {
          "line": 10,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "beforeCreate",
      "start": 259,
      "end": 271,
      "loc": {
        "start": {
          "line": 11,
          "column": 2
        },
        "end": {
          "line": 11,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 271,
      "end": 272,
      "loc": {
        "start": {
          "line": 11,
          "column": 14
        },
        "end": {
          "line": 11,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 273,
      "end": 274,
      "loc": {
        "start": {
          "line": 11,
          "column": 16
        },
        "end": {
          "line": 11,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 274,
      "end": 280,
      "loc": {
        "start": {
          "line": 11,
          "column": 17
        },
        "end": {
          "line": 11,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 280,
      "end": 281,
      "loc": {
        "start": {
          "line": 11,
          "column": 23
        },
        "end": {
          "line": 11,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 282,
      "end": 283,
      "loc": {
        "start": {
          "line": 11,
          "column": 25
        },
        "end": {
          "line": 11,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 283,
      "end": 284,
      "loc": {
        "start": {
          "line": 11,
          "column": 26
        },
        "end": {
          "line": 11,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 284,
      "end": 285,
      "loc": {
        "start": {
          "line": 11,
          "column": 27
        },
        "end": {
          "line": 11,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "afterCreate",
      "start": 288,
      "end": 299,
      "loc": {
        "start": {
          "line": 12,
          "column": 2
        },
        "end": {
          "line": 12,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 299,
      "end": 300,
      "loc": {
        "start": {
          "line": 12,
          "column": 13
        },
        "end": {
          "line": 12,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 301,
      "end": 302,
      "loc": {
        "start": {
          "line": 12,
          "column": 15
        },
        "end": {
          "line": 12,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 302,
      "end": 308,
      "loc": {
        "start": {
          "line": 12,
          "column": 16
        },
        "end": {
          "line": 12,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 308,
      "end": 309,
      "loc": {
        "start": {
          "line": 12,
          "column": 22
        },
        "end": {
          "line": 12,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 310,
      "end": 311,
      "loc": {
        "start": {
          "line": 12,
          "column": 24
        },
        "end": {
          "line": 12,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 311,
      "end": 312,
      "loc": {
        "start": {
          "line": 12,
          "column": 25
        },
        "end": {
          "line": 12,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 312,
      "end": 313,
      "loc": {
        "start": {
          "line": 12,
          "column": 26
        },
        "end": {
          "line": 12,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "beforeDestroy",
      "start": 316,
      "end": 329,
      "loc": {
        "start": {
          "line": 13,
          "column": 2
        },
        "end": {
          "line": 13,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 329,
      "end": 330,
      "loc": {
        "start": {
          "line": 13,
          "column": 15
        },
        "end": {
          "line": 13,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 331,
      "end": 332,
      "loc": {
        "start": {
          "line": 13,
          "column": 17
        },
        "end": {
          "line": 13,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 332,
      "end": 338,
      "loc": {
        "start": {
          "line": 13,
          "column": 18
        },
        "end": {
          "line": 13,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 338,
      "end": 339,
      "loc": {
        "start": {
          "line": 13,
          "column": 24
        },
        "end": {
          "line": 13,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 340,
      "end": 341,
      "loc": {
        "start": {
          "line": 13,
          "column": 26
        },
        "end": {
          "line": 13,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 341,
      "end": 342,
      "loc": {
        "start": {
          "line": 13,
          "column": 27
        },
        "end": {
          "line": 13,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 342,
      "end": 343,
      "loc": {
        "start": {
          "line": 13,
          "column": 28
        },
        "end": {
          "line": 13,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "afterDestroy",
      "start": 346,
      "end": 358,
      "loc": {
        "start": {
          "line": 14,
          "column": 2
        },
        "end": {
          "line": 14,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 358,
      "end": 359,
      "loc": {
        "start": {
          "line": 14,
          "column": 14
        },
        "end": {
          "line": 14,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 360,
      "end": 361,
      "loc": {
        "start": {
          "line": 14,
          "column": 16
        },
        "end": {
          "line": 14,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 361,
      "end": 367,
      "loc": {
        "start": {
          "line": 14,
          "column": 17
        },
        "end": {
          "line": 14,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 367,
      "end": 368,
      "loc": {
        "start": {
          "line": 14,
          "column": 23
        },
        "end": {
          "line": 14,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 369,
      "end": 370,
      "loc": {
        "start": {
          "line": 14,
          "column": 25
        },
        "end": {
          "line": 14,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 370,
      "end": 371,
      "loc": {
        "start": {
          "line": 14,
          "column": 26
        },
        "end": {
          "line": 14,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 371,
      "end": 372,
      "loc": {
        "start": {
          "line": 14,
          "column": 27
        },
        "end": {
          "line": 14,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "beforeRestore",
      "start": 375,
      "end": 388,
      "loc": {
        "start": {
          "line": 15,
          "column": 2
        },
        "end": {
          "line": 15,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 388,
      "end": 389,
      "loc": {
        "start": {
          "line": 15,
          "column": 15
        },
        "end": {
          "line": 15,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 390,
      "end": 391,
      "loc": {
        "start": {
          "line": 15,
          "column": 17
        },
        "end": {
          "line": 15,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 391,
      "end": 397,
      "loc": {
        "start": {
          "line": 15,
          "column": 18
        },
        "end": {
          "line": 15,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 397,
      "end": 398,
      "loc": {
        "start": {
          "line": 15,
          "column": 24
        },
        "end": {
          "line": 15,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 399,
      "end": 400,
      "loc": {
        "start": {
          "line": 15,
          "column": 26
        },
        "end": {
          "line": 15,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 400,
      "end": 401,
      "loc": {
        "start": {
          "line": 15,
          "column": 27
        },
        "end": {
          "line": 15,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 401,
      "end": 402,
      "loc": {
        "start": {
          "line": 15,
          "column": 28
        },
        "end": {
          "line": 15,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "afterRestore",
      "start": 405,
      "end": 417,
      "loc": {
        "start": {
          "line": 16,
          "column": 2
        },
        "end": {
          "line": 16,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 417,
      "end": 418,
      "loc": {
        "start": {
          "line": 16,
          "column": 14
        },
        "end": {
          "line": 16,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 419,
      "end": 420,
      "loc": {
        "start": {
          "line": 16,
          "column": 16
        },
        "end": {
          "line": 16,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 420,
      "end": 426,
      "loc": {
        "start": {
          "line": 16,
          "column": 17
        },
        "end": {
          "line": 16,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 426,
      "end": 427,
      "loc": {
        "start": {
          "line": 16,
          "column": 23
        },
        "end": {
          "line": 16,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 428,
      "end": 429,
      "loc": {
        "start": {
          "line": 16,
          "column": 25
        },
        "end": {
          "line": 16,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 429,
      "end": 430,
      "loc": {
        "start": {
          "line": 16,
          "column": 26
        },
        "end": {
          "line": 16,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 430,
      "end": 431,
      "loc": {
        "start": {
          "line": 16,
          "column": 27
        },
        "end": {
          "line": 16,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "beforeUpdate",
      "start": 434,
      "end": 446,
      "loc": {
        "start": {
          "line": 17,
          "column": 2
        },
        "end": {
          "line": 17,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 446,
      "end": 447,
      "loc": {
        "start": {
          "line": 17,
          "column": 14
        },
        "end": {
          "line": 17,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 448,
      "end": 449,
      "loc": {
        "start": {
          "line": 17,
          "column": 16
        },
        "end": {
          "line": 17,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 449,
      "end": 455,
      "loc": {
        "start": {
          "line": 17,
          "column": 17
        },
        "end": {
          "line": 17,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 455,
      "end": 456,
      "loc": {
        "start": {
          "line": 17,
          "column": 23
        },
        "end": {
          "line": 17,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 457,
      "end": 458,
      "loc": {
        "start": {
          "line": 17,
          "column": 25
        },
        "end": {
          "line": 17,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 458,
      "end": 459,
      "loc": {
        "start": {
          "line": 17,
          "column": 26
        },
        "end": {
          "line": 17,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 459,
      "end": 460,
      "loc": {
        "start": {
          "line": 17,
          "column": 27
        },
        "end": {
          "line": 17,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "afterUpdate",
      "start": 463,
      "end": 474,
      "loc": {
        "start": {
          "line": 18,
          "column": 2
        },
        "end": {
          "line": 18,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 474,
      "end": 475,
      "loc": {
        "start": {
          "line": 18,
          "column": 13
        },
        "end": {
          "line": 18,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 476,
      "end": 477,
      "loc": {
        "start": {
          "line": 18,
          "column": 15
        },
        "end": {
          "line": 18,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 477,
      "end": 483,
      "loc": {
        "start": {
          "line": 18,
          "column": 16
        },
        "end": {
          "line": 18,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 483,
      "end": 484,
      "loc": {
        "start": {
          "line": 18,
          "column": 22
        },
        "end": {
          "line": 18,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 485,
      "end": 486,
      "loc": {
        "start": {
          "line": 18,
          "column": 24
        },
        "end": {
          "line": 18,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 486,
      "end": 487,
      "loc": {
        "start": {
          "line": 18,
          "column": 25
        },
        "end": {
          "line": 18,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 487,
      "end": 488,
      "loc": {
        "start": {
          "line": 18,
          "column": 26
        },
        "end": {
          "line": 18,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "beforeSave",
      "start": 491,
      "end": 501,
      "loc": {
        "start": {
          "line": 19,
          "column": 2
        },
        "end": {
          "line": 19,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 501,
      "end": 502,
      "loc": {
        "start": {
          "line": 19,
          "column": 12
        },
        "end": {
          "line": 19,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 503,
      "end": 504,
      "loc": {
        "start": {
          "line": 19,
          "column": 14
        },
        "end": {
          "line": 19,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 504,
      "end": 510,
      "loc": {
        "start": {
          "line": 19,
          "column": 15
        },
        "end": {
          "line": 19,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 510,
      "end": 511,
      "loc": {
        "start": {
          "line": 19,
          "column": 21
        },
        "end": {
          "line": 19,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 512,
      "end": 513,
      "loc": {
        "start": {
          "line": 19,
          "column": 23
        },
        "end": {
          "line": 19,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 513,
      "end": 514,
      "loc": {
        "start": {
          "line": 19,
          "column": 24
        },
        "end": {
          "line": 19,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "proxies",
      "start": 515,
      "end": 522,
      "loc": {
        "start": {
          "line": 19,
          "column": 26
        },
        "end": {
          "line": 19,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 522,
      "end": 523,
      "loc": {
        "start": {
          "line": 19,
          "column": 33
        },
        "end": {
          "line": 19,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 524,
      "end": 525,
      "loc": {
        "start": {
          "line": 19,
          "column": 35
        },
        "end": {
          "line": 19,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "beforeUpdate",
      "start": 525,
      "end": 539,
      "loc": {
        "start": {
          "line": 19,
          "column": 36
        },
        "end": {
          "line": 19,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 539,
      "end": 540,
      "loc": {
        "start": {
          "line": 19,
          "column": 50
        },
        "end": {
          "line": 19,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "beforeCreate",
      "start": 541,
      "end": 555,
      "loc": {
        "start": {
          "line": 19,
          "column": 52
        },
        "end": {
          "line": 19,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 555,
      "end": 556,
      "loc": {
        "start": {
          "line": 19,
          "column": 66
        },
        "end": {
          "line": 19,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 556,
      "end": 557,
      "loc": {
        "start": {
          "line": 19,
          "column": 67
        },
        "end": {
          "line": 19,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 557,
      "end": 558,
      "loc": {
        "start": {
          "line": 19,
          "column": 68
        },
        "end": {
          "line": 19,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "afterSave",
      "start": 561,
      "end": 570,
      "loc": {
        "start": {
          "line": 20,
          "column": 2
        },
        "end": {
          "line": 20,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 570,
      "end": 571,
      "loc": {
        "start": {
          "line": 20,
          "column": 11
        },
        "end": {
          "line": 20,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 572,
      "end": 573,
      "loc": {
        "start": {
          "line": 20,
          "column": 13
        },
        "end": {
          "line": 20,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 573,
      "end": 579,
      "loc": {
        "start": {
          "line": 20,
          "column": 14
        },
        "end": {
          "line": 20,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 579,
      "end": 580,
      "loc": {
        "start": {
          "line": 20,
          "column": 20
        },
        "end": {
          "line": 20,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 581,
      "end": 582,
      "loc": {
        "start": {
          "line": 20,
          "column": 22
        },
        "end": {
          "line": 20,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 582,
      "end": 583,
      "loc": {
        "start": {
          "line": 20,
          "column": 23
        },
        "end": {
          "line": 20,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "proxies",
      "start": 584,
      "end": 591,
      "loc": {
        "start": {
          "line": 20,
          "column": 25
        },
        "end": {
          "line": 20,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 591,
      "end": 592,
      "loc": {
        "start": {
          "line": 20,
          "column": 32
        },
        "end": {
          "line": 20,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 593,
      "end": 594,
      "loc": {
        "start": {
          "line": 20,
          "column": 34
        },
        "end": {
          "line": 20,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "afterUpdate",
      "start": 594,
      "end": 607,
      "loc": {
        "start": {
          "line": 20,
          "column": 35
        },
        "end": {
          "line": 20,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 607,
      "end": 608,
      "loc": {
        "start": {
          "line": 20,
          "column": 48
        },
        "end": {
          "line": 20,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "afterCreate",
      "start": 609,
      "end": 622,
      "loc": {
        "start": {
          "line": 20,
          "column": 50
        },
        "end": {
          "line": 20,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 622,
      "end": 623,
      "loc": {
        "start": {
          "line": 20,
          "column": 63
        },
        "end": {
          "line": 20,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 623,
      "end": 624,
      "loc": {
        "start": {
          "line": 20,
          "column": 64
        },
        "end": {
          "line": 20,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 624,
      "end": 625,
      "loc": {
        "start": {
          "line": 20,
          "column": 65
        },
        "end": {
          "line": 20,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "beforeUpsert",
      "start": 628,
      "end": 640,
      "loc": {
        "start": {
          "line": 21,
          "column": 2
        },
        "end": {
          "line": 21,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 640,
      "end": 641,
      "loc": {
        "start": {
          "line": 21,
          "column": 14
        },
        "end": {
          "line": 21,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 642,
      "end": 643,
      "loc": {
        "start": {
          "line": 21,
          "column": 16
        },
        "end": {
          "line": 21,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 643,
      "end": 649,
      "loc": {
        "start": {
          "line": 21,
          "column": 17
        },
        "end": {
          "line": 21,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 649,
      "end": 650,
      "loc": {
        "start": {
          "line": 21,
          "column": 23
        },
        "end": {
          "line": 21,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 651,
      "end": 652,
      "loc": {
        "start": {
          "line": 21,
          "column": 25
        },
        "end": {
          "line": 21,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 652,
      "end": 653,
      "loc": {
        "start": {
          "line": 21,
          "column": 26
        },
        "end": {
          "line": 21,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 653,
      "end": 654,
      "loc": {
        "start": {
          "line": 21,
          "column": 27
        },
        "end": {
          "line": 21,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "afterUpsert",
      "start": 657,
      "end": 668,
      "loc": {
        "start": {
          "line": 22,
          "column": 2
        },
        "end": {
          "line": 22,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 668,
      "end": 669,
      "loc": {
        "start": {
          "line": 22,
          "column": 13
        },
        "end": {
          "line": 22,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 670,
      "end": 671,
      "loc": {
        "start": {
          "line": 22,
          "column": 15
        },
        "end": {
          "line": 22,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 671,
      "end": 677,
      "loc": {
        "start": {
          "line": 22,
          "column": 16
        },
        "end": {
          "line": 22,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 677,
      "end": 678,
      "loc": {
        "start": {
          "line": 22,
          "column": 22
        },
        "end": {
          "line": 22,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 679,
      "end": 680,
      "loc": {
        "start": {
          "line": 22,
          "column": 24
        },
        "end": {
          "line": 22,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 680,
      "end": 681,
      "loc": {
        "start": {
          "line": 22,
          "column": 25
        },
        "end": {
          "line": 22,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 681,
      "end": 682,
      "loc": {
        "start": {
          "line": 22,
          "column": 26
        },
        "end": {
          "line": 22,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "beforeBulkCreate",
      "start": 685,
      "end": 701,
      "loc": {
        "start": {
          "line": 23,
          "column": 2
        },
        "end": {
          "line": 23,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 701,
      "end": 702,
      "loc": {
        "start": {
          "line": 23,
          "column": 18
        },
        "end": {
          "line": 23,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 703,
      "end": 704,
      "loc": {
        "start": {
          "line": 23,
          "column": 20
        },
        "end": {
          "line": 23,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 704,
      "end": 710,
      "loc": {
        "start": {
          "line": 23,
          "column": 21
        },
        "end": {
          "line": 23,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 710,
      "end": 711,
      "loc": {
        "start": {
          "line": 23,
          "column": 27
        },
        "end": {
          "line": 23,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 712,
      "end": 713,
      "loc": {
        "start": {
          "line": 23,
          "column": 29
        },
        "end": {
          "line": 23,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 713,
      "end": 714,
      "loc": {
        "start": {
          "line": 23,
          "column": 30
        },
        "end": {
          "line": 23,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 714,
      "end": 715,
      "loc": {
        "start": {
          "line": 23,
          "column": 31
        },
        "end": {
          "line": 23,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "afterBulkCreate",
      "start": 718,
      "end": 733,
      "loc": {
        "start": {
          "line": 24,
          "column": 2
        },
        "end": {
          "line": 24,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 733,
      "end": 734,
      "loc": {
        "start": {
          "line": 24,
          "column": 17
        },
        "end": {
          "line": 24,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 735,
      "end": 736,
      "loc": {
        "start": {
          "line": 24,
          "column": 19
        },
        "end": {
          "line": 24,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 736,
      "end": 742,
      "loc": {
        "start": {
          "line": 24,
          "column": 20
        },
        "end": {
          "line": 24,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 742,
      "end": 743,
      "loc": {
        "start": {
          "line": 24,
          "column": 26
        },
        "end": {
          "line": 24,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 744,
      "end": 745,
      "loc": {
        "start": {
          "line": 24,
          "column": 28
        },
        "end": {
          "line": 24,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 745,
      "end": 746,
      "loc": {
        "start": {
          "line": 24,
          "column": 29
        },
        "end": {
          "line": 24,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 746,
      "end": 747,
      "loc": {
        "start": {
          "line": 24,
          "column": 30
        },
        "end": {
          "line": 24,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "beforeBulkDestroy",
      "start": 750,
      "end": 767,
      "loc": {
        "start": {
          "line": 25,
          "column": 2
        },
        "end": {
          "line": 25,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 767,
      "end": 768,
      "loc": {
        "start": {
          "line": 25,
          "column": 19
        },
        "end": {
          "line": 25,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 769,
      "end": 770,
      "loc": {
        "start": {
          "line": 25,
          "column": 21
        },
        "end": {
          "line": 25,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 770,
      "end": 776,
      "loc": {
        "start": {
          "line": 25,
          "column": 22
        },
        "end": {
          "line": 25,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 776,
      "end": 777,
      "loc": {
        "start": {
          "line": 25,
          "column": 28
        },
        "end": {
          "line": 25,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 778,
      "end": 779,
      "loc": {
        "start": {
          "line": 25,
          "column": 30
        },
        "end": {
          "line": 25,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 779,
      "end": 780,
      "loc": {
        "start": {
          "line": 25,
          "column": 31
        },
        "end": {
          "line": 25,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 780,
      "end": 781,
      "loc": {
        "start": {
          "line": 25,
          "column": 32
        },
        "end": {
          "line": 25,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "afterBulkDestroy",
      "start": 784,
      "end": 800,
      "loc": {
        "start": {
          "line": 26,
          "column": 2
        },
        "end": {
          "line": 26,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 800,
      "end": 801,
      "loc": {
        "start": {
          "line": 26,
          "column": 18
        },
        "end": {
          "line": 26,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 802,
      "end": 803,
      "loc": {
        "start": {
          "line": 26,
          "column": 20
        },
        "end": {
          "line": 26,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 803,
      "end": 809,
      "loc": {
        "start": {
          "line": 26,
          "column": 21
        },
        "end": {
          "line": 26,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 809,
      "end": 810,
      "loc": {
        "start": {
          "line": 26,
          "column": 27
        },
        "end": {
          "line": 26,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 811,
      "end": 812,
      "loc": {
        "start": {
          "line": 26,
          "column": 29
        },
        "end": {
          "line": 26,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 812,
      "end": 813,
      "loc": {
        "start": {
          "line": 26,
          "column": 30
        },
        "end": {
          "line": 26,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 813,
      "end": 814,
      "loc": {
        "start": {
          "line": 26,
          "column": 31
        },
        "end": {
          "line": 26,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "beforeBulkRestore",
      "start": 817,
      "end": 834,
      "loc": {
        "start": {
          "line": 27,
          "column": 2
        },
        "end": {
          "line": 27,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 834,
      "end": 835,
      "loc": {
        "start": {
          "line": 27,
          "column": 19
        },
        "end": {
          "line": 27,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 836,
      "end": 837,
      "loc": {
        "start": {
          "line": 27,
          "column": 21
        },
        "end": {
          "line": 27,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 837,
      "end": 843,
      "loc": {
        "start": {
          "line": 27,
          "column": 22
        },
        "end": {
          "line": 27,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 843,
      "end": 844,
      "loc": {
        "start": {
          "line": 27,
          "column": 28
        },
        "end": {
          "line": 27,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 845,
      "end": 846,
      "loc": {
        "start": {
          "line": 27,
          "column": 30
        },
        "end": {
          "line": 27,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 846,
      "end": 847,
      "loc": {
        "start": {
          "line": 27,
          "column": 31
        },
        "end": {
          "line": 27,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 847,
      "end": 848,
      "loc": {
        "start": {
          "line": 27,
          "column": 32
        },
        "end": {
          "line": 27,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "afterBulkRestore",
      "start": 851,
      "end": 867,
      "loc": {
        "start": {
          "line": 28,
          "column": 2
        },
        "end": {
          "line": 28,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 867,
      "end": 868,
      "loc": {
        "start": {
          "line": 28,
          "column": 18
        },
        "end": {
          "line": 28,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 869,
      "end": 870,
      "loc": {
        "start": {
          "line": 28,
          "column": 20
        },
        "end": {
          "line": 28,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 870,
      "end": 876,
      "loc": {
        "start": {
          "line": 28,
          "column": 21
        },
        "end": {
          "line": 28,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 876,
      "end": 877,
      "loc": {
        "start": {
          "line": 28,
          "column": 27
        },
        "end": {
          "line": 28,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 878,
      "end": 879,
      "loc": {
        "start": {
          "line": 28,
          "column": 29
        },
        "end": {
          "line": 28,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 879,
      "end": 880,
      "loc": {
        "start": {
          "line": 28,
          "column": 30
        },
        "end": {
          "line": 28,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 880,
      "end": 881,
      "loc": {
        "start": {
          "line": 28,
          "column": 31
        },
        "end": {
          "line": 28,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "beforeBulkUpdate",
      "start": 884,
      "end": 900,
      "loc": {
        "start": {
          "line": 29,
          "column": 2
        },
        "end": {
          "line": 29,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 900,
      "end": 901,
      "loc": {
        "start": {
          "line": 29,
          "column": 18
        },
        "end": {
          "line": 29,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 902,
      "end": 903,
      "loc": {
        "start": {
          "line": 29,
          "column": 20
        },
        "end": {
          "line": 29,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 903,
      "end": 909,
      "loc": {
        "start": {
          "line": 29,
          "column": 21
        },
        "end": {
          "line": 29,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 909,
      "end": 910,
      "loc": {
        "start": {
          "line": 29,
          "column": 27
        },
        "end": {
          "line": 29,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 911,
      "end": 912,
      "loc": {
        "start": {
          "line": 29,
          "column": 29
        },
        "end": {
          "line": 29,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 912,
      "end": 913,
      "loc": {
        "start": {
          "line": 29,
          "column": 30
        },
        "end": {
          "line": 29,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 913,
      "end": 914,
      "loc": {
        "start": {
          "line": 29,
          "column": 31
        },
        "end": {
          "line": 29,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "afterBulkUpdate",
      "start": 917,
      "end": 932,
      "loc": {
        "start": {
          "line": 30,
          "column": 2
        },
        "end": {
          "line": 30,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 932,
      "end": 933,
      "loc": {
        "start": {
          "line": 30,
          "column": 17
        },
        "end": {
          "line": 30,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 934,
      "end": 935,
      "loc": {
        "start": {
          "line": 30,
          "column": 19
        },
        "end": {
          "line": 30,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 935,
      "end": 941,
      "loc": {
        "start": {
          "line": 30,
          "column": 20
        },
        "end": {
          "line": 30,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 941,
      "end": 942,
      "loc": {
        "start": {
          "line": 30,
          "column": 26
        },
        "end": {
          "line": 30,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 943,
      "end": 944,
      "loc": {
        "start": {
          "line": 30,
          "column": 28
        },
        "end": {
          "line": 30,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 944,
      "end": 945,
      "loc": {
        "start": {
          "line": 30,
          "column": 29
        },
        "end": {
          "line": 30,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 945,
      "end": 946,
      "loc": {
        "start": {
          "line": 30,
          "column": 30
        },
        "end": {
          "line": 30,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "beforeFind",
      "start": 949,
      "end": 959,
      "loc": {
        "start": {
          "line": 31,
          "column": 2
        },
        "end": {
          "line": 31,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 959,
      "end": 960,
      "loc": {
        "start": {
          "line": 31,
          "column": 12
        },
        "end": {
          "line": 31,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 961,
      "end": 962,
      "loc": {
        "start": {
          "line": 31,
          "column": 14
        },
        "end": {
          "line": 31,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 962,
      "end": 968,
      "loc": {
        "start": {
          "line": 31,
          "column": 15
        },
        "end": {
          "line": 31,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 968,
      "end": 969,
      "loc": {
        "start": {
          "line": 31,
          "column": 21
        },
        "end": {
          "line": 31,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 970,
      "end": 971,
      "loc": {
        "start": {
          "line": 31,
          "column": 23
        },
        "end": {
          "line": 31,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 971,
      "end": 972,
      "loc": {
        "start": {
          "line": 31,
          "column": 24
        },
        "end": {
          "line": 31,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 972,
      "end": 973,
      "loc": {
        "start": {
          "line": 31,
          "column": 25
        },
        "end": {
          "line": 31,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "beforeFindAfterExpandIncludeAll",
      "start": 976,
      "end": 1007,
      "loc": {
        "start": {
          "line": 32,
          "column": 2
        },
        "end": {
          "line": 32,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1007,
      "end": 1008,
      "loc": {
        "start": {
          "line": 32,
          "column": 33
        },
        "end": {
          "line": 32,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1009,
      "end": 1010,
      "loc": {
        "start": {
          "line": 32,
          "column": 35
        },
        "end": {
          "line": 32,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 1010,
      "end": 1016,
      "loc": {
        "start": {
          "line": 32,
          "column": 36
        },
        "end": {
          "line": 32,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1016,
      "end": 1017,
      "loc": {
        "start": {
          "line": 32,
          "column": 42
        },
        "end": {
          "line": 32,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 1018,
      "end": 1019,
      "loc": {
        "start": {
          "line": 32,
          "column": 44
        },
        "end": {
          "line": 32,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1019,
      "end": 1020,
      "loc": {
        "start": {
          "line": 32,
          "column": 45
        },
        "end": {
          "line": 32,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1020,
      "end": 1021,
      "loc": {
        "start": {
          "line": 32,
          "column": 46
        },
        "end": {
          "line": 32,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "beforeFindAfterOptions",
      "start": 1024,
      "end": 1046,
      "loc": {
        "start": {
          "line": 33,
          "column": 2
        },
        "end": {
          "line": 33,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1046,
      "end": 1047,
      "loc": {
        "start": {
          "line": 33,
          "column": 24
        },
        "end": {
          "line": 33,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1048,
      "end": 1049,
      "loc": {
        "start": {
          "line": 33,
          "column": 26
        },
        "end": {
          "line": 33,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 1049,
      "end": 1055,
      "loc": {
        "start": {
          "line": 33,
          "column": 27
        },
        "end": {
          "line": 33,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1055,
      "end": 1056,
      "loc": {
        "start": {
          "line": 33,
          "column": 33
        },
        "end": {
          "line": 33,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 1057,
      "end": 1058,
      "loc": {
        "start": {
          "line": 33,
          "column": 35
        },
        "end": {
          "line": 33,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1058,
      "end": 1059,
      "loc": {
        "start": {
          "line": 33,
          "column": 36
        },
        "end": {
          "line": 33,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1059,
      "end": 1060,
      "loc": {
        "start": {
          "line": 33,
          "column": 37
        },
        "end": {
          "line": 33,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "afterFind",
      "start": 1063,
      "end": 1072,
      "loc": {
        "start": {
          "line": 34,
          "column": 2
        },
        "end": {
          "line": 34,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1072,
      "end": 1073,
      "loc": {
        "start": {
          "line": 34,
          "column": 11
        },
        "end": {
          "line": 34,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1074,
      "end": 1075,
      "loc": {
        "start": {
          "line": 34,
          "column": 13
        },
        "end": {
          "line": 34,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 1075,
      "end": 1081,
      "loc": {
        "start": {
          "line": 34,
          "column": 14
        },
        "end": {
          "line": 34,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1081,
      "end": 1082,
      "loc": {
        "start": {
          "line": 34,
          "column": 20
        },
        "end": {
          "line": 34,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 1083,
      "end": 1084,
      "loc": {
        "start": {
          "line": 34,
          "column": 22
        },
        "end": {
          "line": 34,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1084,
      "end": 1085,
      "loc": {
        "start": {
          "line": 34,
          "column": 23
        },
        "end": {
          "line": 34,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1085,
      "end": 1086,
      "loc": {
        "start": {
          "line": 34,
          "column": 24
        },
        "end": {
          "line": 34,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "beforeCount",
      "start": 1089,
      "end": 1100,
      "loc": {
        "start": {
          "line": 35,
          "column": 2
        },
        "end": {
          "line": 35,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1100,
      "end": 1101,
      "loc": {
        "start": {
          "line": 35,
          "column": 13
        },
        "end": {
          "line": 35,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1102,
      "end": 1103,
      "loc": {
        "start": {
          "line": 35,
          "column": 15
        },
        "end": {
          "line": 35,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 1103,
      "end": 1109,
      "loc": {
        "start": {
          "line": 35,
          "column": 16
        },
        "end": {
          "line": 35,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1109,
      "end": 1110,
      "loc": {
        "start": {
          "line": 35,
          "column": 22
        },
        "end": {
          "line": 35,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 1111,
      "end": 1112,
      "loc": {
        "start": {
          "line": 35,
          "column": 24
        },
        "end": {
          "line": 35,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1112,
      "end": 1113,
      "loc": {
        "start": {
          "line": 35,
          "column": 25
        },
        "end": {
          "line": 35,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1113,
      "end": 1114,
      "loc": {
        "start": {
          "line": 35,
          "column": 26
        },
        "end": {
          "line": 35,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "beforeDefine",
      "start": 1117,
      "end": 1129,
      "loc": {
        "start": {
          "line": 36,
          "column": 2
        },
        "end": {
          "line": 36,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1129,
      "end": 1130,
      "loc": {
        "start": {
          "line": 36,
          "column": 14
        },
        "end": {
          "line": 36,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1131,
      "end": 1132,
      "loc": {
        "start": {
          "line": 36,
          "column": 16
        },
        "end": {
          "line": 36,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 1132,
      "end": 1138,
      "loc": {
        "start": {
          "line": 36,
          "column": 17
        },
        "end": {
          "line": 36,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1138,
      "end": 1139,
      "loc": {
        "start": {
          "line": 36,
          "column": 23
        },
        "end": {
          "line": 36,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 1140,
      "end": 1141,
      "loc": {
        "start": {
          "line": 36,
          "column": 25
        },
        "end": {
          "line": 36,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1141,
      "end": 1142,
      "loc": {
        "start": {
          "line": 36,
          "column": 26
        },
        "end": {
          "line": 36,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sync",
      "start": 1143,
      "end": 1147,
      "loc": {
        "start": {
          "line": 36,
          "column": 28
        },
        "end": {
          "line": 36,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1147,
      "end": 1148,
      "loc": {
        "start": {
          "line": 36,
          "column": 32
        },
        "end": {
          "line": 36,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 1149,
      "end": 1153,
      "loc": {
        "start": {
          "line": 36,
          "column": 34
        },
        "end": {
          "line": 36,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1153,
      "end": 1154,
      "loc": {
        "start": {
          "line": 36,
          "column": 38
        },
        "end": {
          "line": 36,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1154,
      "end": 1155,
      "loc": {
        "start": {
          "line": 36,
          "column": 39
        },
        "end": {
          "line": 36,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "afterDefine",
      "start": 1158,
      "end": 1169,
      "loc": {
        "start": {
          "line": 37,
          "column": 2
        },
        "end": {
          "line": 37,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1169,
      "end": 1170,
      "loc": {
        "start": {
          "line": 37,
          "column": 13
        },
        "end": {
          "line": 37,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1171,
      "end": 1172,
      "loc": {
        "start": {
          "line": 37,
          "column": 15
        },
        "end": {
          "line": 37,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 1172,
      "end": 1178,
      "loc": {
        "start": {
          "line": 37,
          "column": 16
        },
        "end": {
          "line": 37,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1178,
      "end": 1179,
      "loc": {
        "start": {
          "line": 37,
          "column": 22
        },
        "end": {
          "line": 37,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 1180,
      "end": 1181,
      "loc": {
        "start": {
          "line": 37,
          "column": 24
        },
        "end": {
          "line": 37,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1181,
      "end": 1182,
      "loc": {
        "start": {
          "line": 37,
          "column": 25
        },
        "end": {
          "line": 37,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sync",
      "start": 1183,
      "end": 1187,
      "loc": {
        "start": {
          "line": 37,
          "column": 27
        },
        "end": {
          "line": 37,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1187,
      "end": 1188,
      "loc": {
        "start": {
          "line": 37,
          "column": 31
        },
        "end": {
          "line": 37,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 1189,
      "end": 1193,
      "loc": {
        "start": {
          "line": 37,
          "column": 33
        },
        "end": {
          "line": 37,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1193,
      "end": 1194,
      "loc": {
        "start": {
          "line": 37,
          "column": 37
        },
        "end": {
          "line": 37,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1194,
      "end": 1195,
      "loc": {
        "start": {
          "line": 37,
          "column": 38
        },
        "end": {
          "line": 37,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "beforeInit",
      "start": 1198,
      "end": 1208,
      "loc": {
        "start": {
          "line": 38,
          "column": 2
        },
        "end": {
          "line": 38,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1208,
      "end": 1209,
      "loc": {
        "start": {
          "line": 38,
          "column": 12
        },
        "end": {
          "line": 38,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1210,
      "end": 1211,
      "loc": {
        "start": {
          "line": 38,
          "column": 14
        },
        "end": {
          "line": 38,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 1211,
      "end": 1217,
      "loc": {
        "start": {
          "line": 38,
          "column": 15
        },
        "end": {
          "line": 38,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1217,
      "end": 1218,
      "loc": {
        "start": {
          "line": 38,
          "column": 21
        },
        "end": {
          "line": 38,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 1219,
      "end": 1220,
      "loc": {
        "start": {
          "line": 38,
          "column": 23
        },
        "end": {
          "line": 38,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1220,
      "end": 1221,
      "loc": {
        "start": {
          "line": 38,
          "column": 24
        },
        "end": {
          "line": 38,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sync",
      "start": 1222,
      "end": 1226,
      "loc": {
        "start": {
          "line": 38,
          "column": 26
        },
        "end": {
          "line": 38,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1226,
      "end": 1227,
      "loc": {
        "start": {
          "line": 38,
          "column": 30
        },
        "end": {
          "line": 38,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 1228,
      "end": 1232,
      "loc": {
        "start": {
          "line": 38,
          "column": 32
        },
        "end": {
          "line": 38,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1232,
      "end": 1233,
      "loc": {
        "start": {
          "line": 38,
          "column": 36
        },
        "end": {
          "line": 38,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1233,
      "end": 1234,
      "loc": {
        "start": {
          "line": 38,
          "column": 37
        },
        "end": {
          "line": 38,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "afterInit",
      "start": 1237,
      "end": 1246,
      "loc": {
        "start": {
          "line": 39,
          "column": 2
        },
        "end": {
          "line": 39,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1246,
      "end": 1247,
      "loc": {
        "start": {
          "line": 39,
          "column": 11
        },
        "end": {
          "line": 39,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1248,
      "end": 1249,
      "loc": {
        "start": {
          "line": 39,
          "column": 13
        },
        "end": {
          "line": 39,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 1249,
      "end": 1255,
      "loc": {
        "start": {
          "line": 39,
          "column": 14
        },
        "end": {
          "line": 39,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1255,
      "end": 1256,
      "loc": {
        "start": {
          "line": 39,
          "column": 20
        },
        "end": {
          "line": 39,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 1257,
      "end": 1258,
      "loc": {
        "start": {
          "line": 39,
          "column": 22
        },
        "end": {
          "line": 39,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1258,
      "end": 1259,
      "loc": {
        "start": {
          "line": 39,
          "column": 23
        },
        "end": {
          "line": 39,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sync",
      "start": 1260,
      "end": 1264,
      "loc": {
        "start": {
          "line": 39,
          "column": 25
        },
        "end": {
          "line": 39,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1264,
      "end": 1265,
      "loc": {
        "start": {
          "line": 39,
          "column": 29
        },
        "end": {
          "line": 39,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 1266,
      "end": 1270,
      "loc": {
        "start": {
          "line": 39,
          "column": 31
        },
        "end": {
          "line": 39,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1270,
      "end": 1271,
      "loc": {
        "start": {
          "line": 39,
          "column": 35
        },
        "end": {
          "line": 39,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1271,
      "end": 1272,
      "loc": {
        "start": {
          "line": 39,
          "column": 36
        },
        "end": {
          "line": 39,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "beforeConnect",
      "start": 1275,
      "end": 1288,
      "loc": {
        "start": {
          "line": 40,
          "column": 2
        },
        "end": {
          "line": 40,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1288,
      "end": 1289,
      "loc": {
        "start": {
          "line": 40,
          "column": 15
        },
        "end": {
          "line": 40,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1290,
      "end": 1291,
      "loc": {
        "start": {
          "line": 40,
          "column": 17
        },
        "end": {
          "line": 40,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 1291,
      "end": 1297,
      "loc": {
        "start": {
          "line": 40,
          "column": 18
        },
        "end": {
          "line": 40,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1297,
      "end": 1298,
      "loc": {
        "start": {
          "line": 40,
          "column": 24
        },
        "end": {
          "line": 40,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 1299,
      "end": 1300,
      "loc": {
        "start": {
          "line": 40,
          "column": 26
        },
        "end": {
          "line": 40,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1300,
      "end": 1301,
      "loc": {
        "start": {
          "line": 40,
          "column": 27
        },
        "end": {
          "line": 40,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1301,
      "end": 1302,
      "loc": {
        "start": {
          "line": 40,
          "column": 28
        },
        "end": {
          "line": 40,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "afterConnect",
      "start": 1305,
      "end": 1317,
      "loc": {
        "start": {
          "line": 41,
          "column": 2
        },
        "end": {
          "line": 41,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1317,
      "end": 1318,
      "loc": {
        "start": {
          "line": 41,
          "column": 14
        },
        "end": {
          "line": 41,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1319,
      "end": 1320,
      "loc": {
        "start": {
          "line": 41,
          "column": 16
        },
        "end": {
          "line": 41,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 1320,
      "end": 1326,
      "loc": {
        "start": {
          "line": 41,
          "column": 17
        },
        "end": {
          "line": 41,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1326,
      "end": 1327,
      "loc": {
        "start": {
          "line": 41,
          "column": 23
        },
        "end": {
          "line": 41,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 1328,
      "end": 1329,
      "loc": {
        "start": {
          "line": 41,
          "column": 25
        },
        "end": {
          "line": 41,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1329,
      "end": 1330,
      "loc": {
        "start": {
          "line": 41,
          "column": 26
        },
        "end": {
          "line": 41,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1330,
      "end": 1331,
      "loc": {
        "start": {
          "line": 41,
          "column": 27
        },
        "end": {
          "line": 41,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "beforeSync",
      "start": 1334,
      "end": 1344,
      "loc": {
        "start": {
          "line": 42,
          "column": 2
        },
        "end": {
          "line": 42,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1344,
      "end": 1345,
      "loc": {
        "start": {
          "line": 42,
          "column": 12
        },
        "end": {
          "line": 42,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1346,
      "end": 1347,
      "loc": {
        "start": {
          "line": 42,
          "column": 14
        },
        "end": {
          "line": 42,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 1347,
      "end": 1353,
      "loc": {
        "start": {
          "line": 42,
          "column": 15
        },
        "end": {
          "line": 42,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1353,
      "end": 1354,
      "loc": {
        "start": {
          "line": 42,
          "column": 21
        },
        "end": {
          "line": 42,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 1355,
      "end": 1356,
      "loc": {
        "start": {
          "line": 42,
          "column": 23
        },
        "end": {
          "line": 42,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1356,
      "end": 1357,
      "loc": {
        "start": {
          "line": 42,
          "column": 24
        },
        "end": {
          "line": 42,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1357,
      "end": 1358,
      "loc": {
        "start": {
          "line": 42,
          "column": 25
        },
        "end": {
          "line": 42,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "afterSync",
      "start": 1361,
      "end": 1370,
      "loc": {
        "start": {
          "line": 43,
          "column": 2
        },
        "end": {
          "line": 43,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1370,
      "end": 1371,
      "loc": {
        "start": {
          "line": 43,
          "column": 11
        },
        "end": {
          "line": 43,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1372,
      "end": 1373,
      "loc": {
        "start": {
          "line": 43,
          "column": 13
        },
        "end": {
          "line": 43,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 1373,
      "end": 1379,
      "loc": {
        "start": {
          "line": 43,
          "column": 14
        },
        "end": {
          "line": 43,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1379,
      "end": 1380,
      "loc": {
        "start": {
          "line": 43,
          "column": 20
        },
        "end": {
          "line": 43,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 1381,
      "end": 1382,
      "loc": {
        "start": {
          "line": 43,
          "column": 22
        },
        "end": {
          "line": 43,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1382,
      "end": 1383,
      "loc": {
        "start": {
          "line": 43,
          "column": 23
        },
        "end": {
          "line": 43,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1383,
      "end": 1384,
      "loc": {
        "start": {
          "line": 43,
          "column": 24
        },
        "end": {
          "line": 43,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "beforeBulkSync",
      "start": 1387,
      "end": 1401,
      "loc": {
        "start": {
          "line": 44,
          "column": 2
        },
        "end": {
          "line": 44,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1401,
      "end": 1402,
      "loc": {
        "start": {
          "line": 44,
          "column": 16
        },
        "end": {
          "line": 44,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1403,
      "end": 1404,
      "loc": {
        "start": {
          "line": 44,
          "column": 18
        },
        "end": {
          "line": 44,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 1404,
      "end": 1410,
      "loc": {
        "start": {
          "line": 44,
          "column": 19
        },
        "end": {
          "line": 44,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1410,
      "end": 1411,
      "loc": {
        "start": {
          "line": 44,
          "column": 25
        },
        "end": {
          "line": 44,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 1412,
      "end": 1413,
      "loc": {
        "start": {
          "line": 44,
          "column": 27
        },
        "end": {
          "line": 44,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1413,
      "end": 1414,
      "loc": {
        "start": {
          "line": 44,
          "column": 28
        },
        "end": {
          "line": 44,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1414,
      "end": 1415,
      "loc": {
        "start": {
          "line": 44,
          "column": 29
        },
        "end": {
          "line": 44,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "afterBulkSync",
      "start": 1418,
      "end": 1431,
      "loc": {
        "start": {
          "line": 45,
          "column": 2
        },
        "end": {
          "line": 45,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1431,
      "end": 1432,
      "loc": {
        "start": {
          "line": 45,
          "column": 15
        },
        "end": {
          "line": 45,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1433,
      "end": 1434,
      "loc": {
        "start": {
          "line": 45,
          "column": 17
        },
        "end": {
          "line": 45,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "params",
      "start": 1434,
      "end": 1440,
      "loc": {
        "start": {
          "line": 45,
          "column": 18
        },
        "end": {
          "line": 45,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1440,
      "end": 1441,
      "loc": {
        "start": {
          "line": 45,
          "column": 24
        },
        "end": {
          "line": 45,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 1442,
      "end": 1443,
      "loc": {
        "start": {
          "line": 45,
          "column": 26
        },
        "end": {
          "line": 45,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1443,
      "end": 1444,
      "loc": {
        "start": {
          "line": 45,
          "column": 27
        },
        "end": {
          "line": 45,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1445,
      "end": 1446,
      "loc": {
        "start": {
          "line": 46,
          "column": 0
        },
        "end": {
          "line": 46,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1446,
      "end": 1447,
      "loc": {
        "start": {
          "line": 46,
          "column": 1
        },
        "end": {
          "line": 46,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exports",
      "start": 1448,
      "end": 1455,
      "loc": {
        "start": {
          "line": 47,
          "column": 0
        },
        "end": {
          "line": 47,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1455,
      "end": 1456,
      "loc": {
        "start": {
          "line": 47,
          "column": 7
        },
        "end": {
          "line": 47,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 1456,
      "end": 1461,
      "loc": {
        "start": {
          "line": 47,
          "column": 8
        },
        "end": {
          "line": 47,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1462,
      "end": 1463,
      "loc": {
        "start": {
          "line": 47,
          "column": 14
        },
        "end": {
          "line": 47,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookTypes",
      "start": 1464,
      "end": 1473,
      "loc": {
        "start": {
          "line": 47,
          "column": 16
        },
        "end": {
          "line": 47,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1473,
      "end": 1474,
      "loc": {
        "start": {
          "line": 47,
          "column": 25
        },
        "end": {
          "line": 47,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 1476,
      "end": 1481,
      "loc": {
        "start": {
          "line": 49,
          "column": 0
        },
        "end": {
          "line": 49,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookAliases",
      "start": 1482,
      "end": 1493,
      "loc": {
        "start": {
          "line": 49,
          "column": 6
        },
        "end": {
          "line": 49,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1494,
      "end": 1495,
      "loc": {
        "start": {
          "line": 49,
          "column": 18
        },
        "end": {
          "line": 49,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1496,
      "end": 1497,
      "loc": {
        "start": {
          "line": 49,
          "column": 20
        },
        "end": {
          "line": 49,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "beforeDelete",
      "start": 1500,
      "end": 1512,
      "loc": {
        "start": {
          "line": 50,
          "column": 2
        },
        "end": {
          "line": 50,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1512,
      "end": 1513,
      "loc": {
        "start": {
          "line": 50,
          "column": 14
        },
        "end": {
          "line": 50,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "beforeDestroy",
      "start": 1514,
      "end": 1529,
      "loc": {
        "start": {
          "line": 50,
          "column": 16
        },
        "end": {
          "line": 50,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1529,
      "end": 1530,
      "loc": {
        "start": {
          "line": 50,
          "column": 31
        },
        "end": {
          "line": 50,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "afterDelete",
      "start": 1533,
      "end": 1544,
      "loc": {
        "start": {
          "line": 51,
          "column": 2
        },
        "end": {
          "line": 51,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1544,
      "end": 1545,
      "loc": {
        "start": {
          "line": 51,
          "column": 13
        },
        "end": {
          "line": 51,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "afterDestroy",
      "start": 1546,
      "end": 1560,
      "loc": {
        "start": {
          "line": 51,
          "column": 15
        },
        "end": {
          "line": 51,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1560,
      "end": 1561,
      "loc": {
        "start": {
          "line": 51,
          "column": 29
        },
        "end": {
          "line": 51,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "beforeBulkDelete",
      "start": 1564,
      "end": 1580,
      "loc": {
        "start": {
          "line": 52,
          "column": 2
        },
        "end": {
          "line": 52,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1580,
      "end": 1581,
      "loc": {
        "start": {
          "line": 52,
          "column": 18
        },
        "end": {
          "line": 52,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "beforeBulkDestroy",
      "start": 1582,
      "end": 1601,
      "loc": {
        "start": {
          "line": 52,
          "column": 20
        },
        "end": {
          "line": 52,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1601,
      "end": 1602,
      "loc": {
        "start": {
          "line": 52,
          "column": 39
        },
        "end": {
          "line": 52,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "afterBulkDelete",
      "start": 1605,
      "end": 1620,
      "loc": {
        "start": {
          "line": 53,
          "column": 2
        },
        "end": {
          "line": 53,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1620,
      "end": 1621,
      "loc": {
        "start": {
          "line": 53,
          "column": 17
        },
        "end": {
          "line": 53,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "afterBulkDestroy",
      "start": 1622,
      "end": 1640,
      "loc": {
        "start": {
          "line": 53,
          "column": 19
        },
        "end": {
          "line": 53,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1640,
      "end": 1641,
      "loc": {
        "start": {
          "line": 53,
          "column": 37
        },
        "end": {
          "line": 53,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "beforeConnection",
      "start": 1644,
      "end": 1660,
      "loc": {
        "start": {
          "line": 54,
          "column": 2
        },
        "end": {
          "line": 54,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1660,
      "end": 1661,
      "loc": {
        "start": {
          "line": 54,
          "column": 18
        },
        "end": {
          "line": 54,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "beforeConnect",
      "start": 1662,
      "end": 1677,
      "loc": {
        "start": {
          "line": 54,
          "column": 20
        },
        "end": {
          "line": 54,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1678,
      "end": 1679,
      "loc": {
        "start": {
          "line": 55,
          "column": 0
        },
        "end": {
          "line": 55,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1679,
      "end": 1680,
      "loc": {
        "start": {
          "line": 55,
          "column": 1
        },
        "end": {
          "line": 55,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exports",
      "start": 1681,
      "end": 1688,
      "loc": {
        "start": {
          "line": 56,
          "column": 0
        },
        "end": {
          "line": 56,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1688,
      "end": 1689,
      "loc": {
        "start": {
          "line": 56,
          "column": 7
        },
        "end": {
          "line": 56,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookAliases",
      "start": 1689,
      "end": 1700,
      "loc": {
        "start": {
          "line": 56,
          "column": 8
        },
        "end": {
          "line": 56,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1701,
      "end": 1702,
      "loc": {
        "start": {
          "line": 56,
          "column": 20
        },
        "end": {
          "line": 56,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookAliases",
      "start": 1703,
      "end": 1714,
      "loc": {
        "start": {
          "line": 56,
          "column": 22
        },
        "end": {
          "line": 56,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1714,
      "end": 1715,
      "loc": {
        "start": {
          "line": 56,
          "column": 33
        },
        "end": {
          "line": 56,
          "column": 34
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * get array of current hook and its proxied hooks combined\n * @private\n ",
      "start": 1717,
      "end": 1796,
      "loc": {
        "start": {
          "line": 58,
          "column": 0
        },
        "end": {
          "line": 61,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 1797,
      "end": 1802,
      "loc": {
        "start": {
          "line": 62,
          "column": 0
        },
        "end": {
          "line": 62,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getProxiedHooks",
      "start": 1803,
      "end": 1818,
      "loc": {
        "start": {
          "line": 62,
          "column": 6
        },
        "end": {
          "line": 62,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1819,
      "end": 1820,
      "loc": {
        "start": {
          "line": 62,
          "column": 22
        },
        "end": {
          "line": 62,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1821,
      "end": 1822,
      "loc": {
        "start": {
          "line": 62,
          "column": 24
        },
        "end": {
          "line": 62,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 1822,
      "end": 1830,
      "loc": {
        "start": {
          "line": 62,
          "column": 25
        },
        "end": {
          "line": 62,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1830,
      "end": 1831,
      "loc": {
        "start": {
          "line": 62,
          "column": 33
        },
        "end": {
          "line": 62,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1832,
      "end": 1834,
      "loc": {
        "start": {
          "line": 62,
          "column": 35
        },
        "end": {
          "line": 62,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1835,
      "end": 1836,
      "loc": {
        "start": {
          "line": 62,
          "column": 38
        },
        "end": {
          "line": 62,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookTypes",
      "start": 1839,
      "end": 1848,
      "loc": {
        "start": {
          "line": 63,
          "column": 2
        },
        "end": {
          "line": 63,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1848,
      "end": 1849,
      "loc": {
        "start": {
          "line": 63,
          "column": 11
        },
        "end": {
          "line": 63,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 1849,
      "end": 1857,
      "loc": {
        "start": {
          "line": 63,
          "column": 12
        },
        "end": {
          "line": 63,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1857,
      "end": 1858,
      "loc": {
        "start": {
          "line": 63,
          "column": 20
        },
        "end": {
          "line": 63,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1858,
      "end": 1859,
      "loc": {
        "start": {
          "line": 63,
          "column": 21
        },
        "end": {
          "line": 63,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "proxies",
      "start": 1859,
      "end": 1866,
      "loc": {
        "start": {
          "line": 63,
          "column": 22
        },
        "end": {
          "line": 63,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "?",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1871,
      "end": 1872,
      "loc": {
        "start": {
          "line": 64,
          "column": 4
        },
        "end": {
          "line": 64,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookTypes",
      "start": 1873,
      "end": 1882,
      "loc": {
        "start": {
          "line": 64,
          "column": 6
        },
        "end": {
          "line": 64,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1882,
      "end": 1883,
      "loc": {
        "start": {
          "line": 64,
          "column": 15
        },
        "end": {
          "line": 64,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 1883,
      "end": 1891,
      "loc": {
        "start": {
          "line": 64,
          "column": 16
        },
        "end": {
          "line": 64,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1891,
      "end": 1892,
      "loc": {
        "start": {
          "line": 64,
          "column": 24
        },
        "end": {
          "line": 64,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1892,
      "end": 1893,
      "loc": {
        "start": {
          "line": 64,
          "column": 25
        },
        "end": {
          "line": 64,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "proxies",
      "start": 1893,
      "end": 1900,
      "loc": {
        "start": {
          "line": 64,
          "column": 26
        },
        "end": {
          "line": 64,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1900,
      "end": 1901,
      "loc": {
        "start": {
          "line": 64,
          "column": 33
        },
        "end": {
          "line": 64,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "concat",
      "start": 1901,
      "end": 1907,
      "loc": {
        "start": {
          "line": 64,
          "column": 34
        },
        "end": {
          "line": 64,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1907,
      "end": 1908,
      "loc": {
        "start": {
          "line": 64,
          "column": 40
        },
        "end": {
          "line": 64,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 1908,
      "end": 1916,
      "loc": {
        "start": {
          "line": 64,
          "column": 41
        },
        "end": {
          "line": 64,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1916,
      "end": 1917,
      "loc": {
        "start": {
          "line": 64,
          "column": 49
        },
        "end": {
          "line": 64,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1922,
      "end": 1923,
      "loc": {
        "start": {
          "line": 65,
          "column": 4
        },
        "end": {
          "line": 65,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1924,
      "end": 1925,
      "loc": {
        "start": {
          "line": 65,
          "column": 6
        },
        "end": {
          "line": 65,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 1925,
      "end": 1933,
      "loc": {
        "start": {
          "line": 65,
          "column": 7
        },
        "end": {
          "line": 65,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1933,
      "end": 1934,
      "loc": {
        "start": {
          "line": 65,
          "column": 15
        },
        "end": {
          "line": 65,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1935,
      "end": 1936,
      "loc": {
        "start": {
          "line": 66,
          "column": 0
        },
        "end": {
          "line": 66,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1936,
      "end": 1937,
      "loc": {
        "start": {
          "line": 66,
          "column": 1
        },
        "end": {
          "line": 66,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 1939,
      "end": 1944,
      "loc": {
        "start": {
          "line": 68,
          "column": 0
        },
        "end": {
          "line": 68,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Hooks",
      "start": 1945,
      "end": 1950,
      "loc": {
        "start": {
          "line": 68,
          "column": 6
        },
        "end": {
          "line": 68,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1951,
      "end": 1952,
      "loc": {
        "start": {
          "line": 68,
          "column": 12
        },
        "end": {
          "line": 68,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1953,
      "end": 1954,
      "loc": {
        "start": {
          "line": 68,
          "column": 14
        },
        "end": {
          "line": 68,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "replaceHookAliases",
      "start": 1957,
      "end": 1975,
      "loc": {
        "start": {
          "line": 69,
          "column": 2
        },
        "end": {
          "line": 69,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1975,
      "end": 1976,
      "loc": {
        "start": {
          "line": 69,
          "column": 20
        },
        "end": {
          "line": 69,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 1976,
      "end": 1981,
      "loc": {
        "start": {
          "line": 69,
          "column": 21
        },
        "end": {
          "line": 69,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1981,
      "end": 1982,
      "loc": {
        "start": {
          "line": 69,
          "column": 26
        },
        "end": {
          "line": 69,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1983,
      "end": 1984,
      "loc": {
        "start": {
          "line": 69,
          "column": 28
        },
        "end": {
          "line": 69,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 1989,
      "end": 1992,
      "loc": {
        "start": {
          "line": 70,
          "column": 4
        },
        "end": {
          "line": 70,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "realHookName",
      "start": 1993,
      "end": 2005,
      "loc": {
        "start": {
          "line": 70,
          "column": 8
        },
        "end": {
          "line": 70,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2005,
      "end": 2006,
      "loc": {
        "start": {
          "line": 70,
          "column": 20
        },
        "end": {
          "line": 70,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Utils",
      "start": 2012,
      "end": 2017,
      "loc": {
        "start": {
          "line": 72,
          "column": 4
        },
        "end": {
          "line": 72,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2017,
      "end": 2018,
      "loc": {
        "start": {
          "line": 72,
          "column": 9
        },
        "end": {
          "line": 72,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_",
      "start": 2018,
      "end": 2019,
      "loc": {
        "start": {
          "line": 72,
          "column": 10
        },
        "end": {
          "line": 72,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2019,
      "end": 2020,
      "loc": {
        "start": {
          "line": 72,
          "column": 11
        },
        "end": {
          "line": 72,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "each",
      "start": 2020,
      "end": 2024,
      "loc": {
        "start": {
          "line": 72,
          "column": 12
        },
        "end": {
          "line": 72,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2024,
      "end": 2025,
      "loc": {
        "start": {
          "line": 72,
          "column": 16
        },
        "end": {
          "line": 72,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 2025,
      "end": 2030,
      "loc": {
        "start": {
          "line": 72,
          "column": 17
        },
        "end": {
          "line": 72,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2030,
      "end": 2031,
      "loc": {
        "start": {
          "line": 72,
          "column": 22
        },
        "end": {
          "line": 72,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2032,
      "end": 2033,
      "loc": {
        "start": {
          "line": 72,
          "column": 24
        },
        "end": {
          "line": 72,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooksArray",
      "start": 2033,
      "end": 2043,
      "loc": {
        "start": {
          "line": 72,
          "column": 25
        },
        "end": {
          "line": 72,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2043,
      "end": 2044,
      "loc": {
        "start": {
          "line": 72,
          "column": 35
        },
        "end": {
          "line": 72,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 2045,
      "end": 2049,
      "loc": {
        "start": {
          "line": 72,
          "column": 37
        },
        "end": {
          "line": 72,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2049,
      "end": 2050,
      "loc": {
        "start": {
          "line": 72,
          "column": 41
        },
        "end": {
          "line": 72,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2051,
      "end": 2053,
      "loc": {
        "start": {
          "line": 72,
          "column": 43
        },
        "end": {
          "line": 72,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2054,
      "end": 2055,
      "loc": {
        "start": {
          "line": 72,
          "column": 46
        },
        "end": {
          "line": 72,
          "column": 47
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Does an alias for this hook name exist?",
      "start": 2062,
      "end": 2104,
      "loc": {
        "start": {
          "line": 73,
          "column": 6
        },
        "end": {
          "line": 73,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2111,
      "end": 2113,
      "loc": {
        "start": {
          "line": 74,
          "column": 6
        },
        "end": {
          "line": 74,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2114,
      "end": 2115,
      "loc": {
        "start": {
          "line": 74,
          "column": 9
        },
        "end": {
          "line": 74,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "realHookName",
      "start": 2115,
      "end": 2127,
      "loc": {
        "start": {
          "line": 74,
          "column": 10
        },
        "end": {
          "line": 74,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2128,
      "end": 2129,
      "loc": {
        "start": {
          "line": 74,
          "column": 23
        },
        "end": {
          "line": 74,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookAliases",
      "start": 2130,
      "end": 2141,
      "loc": {
        "start": {
          "line": 74,
          "column": 25
        },
        "end": {
          "line": 74,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2141,
      "end": 2142,
      "loc": {
        "start": {
          "line": 74,
          "column": 36
        },
        "end": {
          "line": 74,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 2142,
      "end": 2146,
      "loc": {
        "start": {
          "line": 74,
          "column": 37
        },
        "end": {
          "line": 74,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2146,
      "end": 2147,
      "loc": {
        "start": {
          "line": 74,
          "column": 41
        },
        "end": {
          "line": 74,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2147,
      "end": 2148,
      "loc": {
        "start": {
          "line": 74,
          "column": 42
        },
        "end": {
          "line": 74,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2149,
      "end": 2150,
      "loc": {
        "start": {
          "line": 74,
          "column": 44
        },
        "end": {
          "line": 74,
          "column": 45
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Add the hooks to the actual hook",
      "start": 2159,
      "end": 2194,
      "loc": {
        "start": {
          "line": 75,
          "column": 8
        },
        "end": {
          "line": 75,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 2203,
      "end": 2208,
      "loc": {
        "start": {
          "line": 76,
          "column": 8
        },
        "end": {
          "line": 76,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2208,
      "end": 2209,
      "loc": {
        "start": {
          "line": 76,
          "column": 13
        },
        "end": {
          "line": 76,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "realHookName",
      "start": 2209,
      "end": 2221,
      "loc": {
        "start": {
          "line": 76,
          "column": 14
        },
        "end": {
          "line": 76,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2221,
      "end": 2222,
      "loc": {
        "start": {
          "line": 76,
          "column": 26
        },
        "end": {
          "line": 76,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2223,
      "end": 2224,
      "loc": {
        "start": {
          "line": 76,
          "column": 28
        },
        "end": {
          "line": 76,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2225,
      "end": 2226,
      "loc": {
        "start": {
          "line": 76,
          "column": 30
        },
        "end": {
          "line": 76,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 2226,
      "end": 2231,
      "loc": {
        "start": {
          "line": 76,
          "column": 31
        },
        "end": {
          "line": 76,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2231,
      "end": 2232,
      "loc": {
        "start": {
          "line": 76,
          "column": 36
        },
        "end": {
          "line": 76,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "realHookName",
      "start": 2232,
      "end": 2244,
      "loc": {
        "start": {
          "line": 76,
          "column": 37
        },
        "end": {
          "line": 76,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2244,
      "end": 2245,
      "loc": {
        "start": {
          "line": 76,
          "column": 49
        },
        "end": {
          "line": 76,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 2246,
      "end": 2248,
      "loc": {
        "start": {
          "line": 76,
          "column": 51
        },
        "end": {
          "line": 76,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2249,
      "end": 2250,
      "loc": {
        "start": {
          "line": 76,
          "column": 54
        },
        "end": {
          "line": 76,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2250,
      "end": 2251,
      "loc": {
        "start": {
          "line": 76,
          "column": 55
        },
        "end": {
          "line": 76,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2251,
      "end": 2252,
      "loc": {
        "start": {
          "line": 76,
          "column": 56
        },
        "end": {
          "line": 76,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2252,
      "end": 2253,
      "loc": {
        "start": {
          "line": 76,
          "column": 57
        },
        "end": {
          "line": 76,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "concat",
      "start": 2253,
      "end": 2259,
      "loc": {
        "start": {
          "line": 76,
          "column": 58
        },
        "end": {
          "line": 76,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2259,
      "end": 2260,
      "loc": {
        "start": {
          "line": 76,
          "column": 64
        },
        "end": {
          "line": 76,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooksArray",
      "start": 2260,
      "end": 2270,
      "loc": {
        "start": {
          "line": 76,
          "column": 65
        },
        "end": {
          "line": 76,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2270,
      "end": 2271,
      "loc": {
        "start": {
          "line": 76,
          "column": 75
        },
        "end": {
          "line": 76,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2271,
      "end": 2272,
      "loc": {
        "start": {
          "line": 76,
          "column": 76
        },
        "end": {
          "line": 76,
          "column": 77
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Delete the alias",
      "start": 2282,
      "end": 2301,
      "loc": {
        "start": {
          "line": 78,
          "column": 8
        },
        "end": {
          "line": 78,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "delete",
        "keyword": "delete",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "delete",
      "start": 2310,
      "end": 2316,
      "loc": {
        "start": {
          "line": 79,
          "column": 8
        },
        "end": {
          "line": 79,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 2317,
      "end": 2322,
      "loc": {
        "start": {
          "line": 79,
          "column": 15
        },
        "end": {
          "line": 79,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2322,
      "end": 2323,
      "loc": {
        "start": {
          "line": 79,
          "column": 20
        },
        "end": {
          "line": 79,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 2323,
      "end": 2327,
      "loc": {
        "start": {
          "line": 79,
          "column": 21
        },
        "end": {
          "line": 79,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2327,
      "end": 2328,
      "loc": {
        "start": {
          "line": 79,
          "column": 25
        },
        "end": {
          "line": 79,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2328,
      "end": 2329,
      "loc": {
        "start": {
          "line": 79,
          "column": 26
        },
        "end": {
          "line": 79,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2336,
      "end": 2337,
      "loc": {
        "start": {
          "line": 80,
          "column": 6
        },
        "end": {
          "line": 80,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2342,
      "end": 2343,
      "loc": {
        "start": {
          "line": 81,
          "column": 4
        },
        "end": {
          "line": 81,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2343,
      "end": 2344,
      "loc": {
        "start": {
          "line": 81,
          "column": 5
        },
        "end": {
          "line": 81,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2344,
      "end": 2345,
      "loc": {
        "start": {
          "line": 81,
          "column": 6
        },
        "end": {
          "line": 81,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2351,
      "end": 2357,
      "loc": {
        "start": {
          "line": 83,
          "column": 4
        },
        "end": {
          "line": 83,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 2358,
      "end": 2363,
      "loc": {
        "start": {
          "line": 83,
          "column": 11
        },
        "end": {
          "line": 83,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2363,
      "end": 2364,
      "loc": {
        "start": {
          "line": 83,
          "column": 16
        },
        "end": {
          "line": 83,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2367,
      "end": 2368,
      "loc": {
        "start": {
          "line": 84,
          "column": 2
        },
        "end": {
          "line": 84,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2368,
      "end": 2369,
      "loc": {
        "start": {
          "line": 84,
          "column": 3
        },
        "end": {
          "line": 84,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "runHooks",
      "start": 2373,
      "end": 2381,
      "loc": {
        "start": {
          "line": 86,
          "column": 2
        },
        "end": {
          "line": 86,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2381,
      "end": 2382,
      "loc": {
        "start": {
          "line": 86,
          "column": 10
        },
        "end": {
          "line": 86,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 2382,
      "end": 2387,
      "loc": {
        "start": {
          "line": 86,
          "column": 11
        },
        "end": {
          "line": 86,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2387,
      "end": 2388,
      "loc": {
        "start": {
          "line": 86,
          "column": 16
        },
        "end": {
          "line": 86,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2389,
      "end": 2390,
      "loc": {
        "start": {
          "line": 86,
          "column": 18
        },
        "end": {
          "line": 86,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2395,
      "end": 2397,
      "loc": {
        "start": {
          "line": 87,
          "column": 4
        },
        "end": {
          "line": 87,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2398,
      "end": 2399,
      "loc": {
        "start": {
          "line": 87,
          "column": 7
        },
        "end": {
          "line": 87,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 2399,
      "end": 2400,
      "loc": {
        "start": {
          "line": 87,
          "column": 8
        },
        "end": {
          "line": 87,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 2400,
      "end": 2405,
      "loc": {
        "start": {
          "line": 87,
          "column": 9
        },
        "end": {
          "line": 87,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2405,
      "end": 2406,
      "loc": {
        "start": {
          "line": 87,
          "column": 14
        },
        "end": {
          "line": 87,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 2407,
      "end": 2412,
      "loc": {
        "start": {
          "line": 87,
          "column": 16
        },
        "end": {
          "line": 87,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 2413,
      "end": 2416,
      "loc": {
        "start": {
          "line": 87,
          "column": 22
        },
        "end": {
          "line": 87,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Error",
      "start": 2417,
      "end": 2422,
      "loc": {
        "start": {
          "line": 87,
          "column": 26
        },
        "end": {
          "line": 87,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2422,
      "end": 2423,
      "loc": {
        "start": {
          "line": 87,
          "column": 31
        },
        "end": {
          "line": 87,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "runHooks requires atleast 1 argument",
      "start": 2423,
      "end": 2461,
      "loc": {
        "start": {
          "line": 87,
          "column": 32
        },
        "end": {
          "line": 87,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2461,
      "end": 2462,
      "loc": {
        "start": {
          "line": 87,
          "column": 70
        },
        "end": {
          "line": 87,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2462,
      "end": 2463,
      "loc": {
        "start": {
          "line": 87,
          "column": 71
        },
        "end": {
          "line": 87,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 2469,
      "end": 2474,
      "loc": {
        "start": {
          "line": 89,
          "column": 4
        },
        "end": {
          "line": 89,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookArgs",
      "start": 2475,
      "end": 2483,
      "loc": {
        "start": {
          "line": 89,
          "column": 10
        },
        "end": {
          "line": 89,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2484,
      "end": 2485,
      "loc": {
        "start": {
          "line": 89,
          "column": 19
        },
        "end": {
          "line": 89,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Utils",
      "start": 2486,
      "end": 2491,
      "loc": {
        "start": {
          "line": 89,
          "column": 21
        },
        "end": {
          "line": 89,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2491,
      "end": 2492,
      "loc": {
        "start": {
          "line": 89,
          "column": 26
        },
        "end": {
          "line": 89,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sliceArgs",
      "start": 2492,
      "end": 2501,
      "loc": {
        "start": {
          "line": 89,
          "column": 27
        },
        "end": {
          "line": 89,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2501,
      "end": 2502,
      "loc": {
        "start": {
          "line": 89,
          "column": 36
        },
        "end": {
          "line": 89,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "arguments",
      "start": 2502,
      "end": 2511,
      "loc": {
        "start": {
          "line": 89,
          "column": 37
        },
        "end": {
          "line": 89,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2511,
      "end": 2512,
      "loc": {
        "start": {
          "line": 89,
          "column": 46
        },
        "end": {
          "line": 89,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 2513,
      "end": 2514,
      "loc": {
        "start": {
          "line": 89,
          "column": 48
        },
        "end": {
          "line": 89,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2514,
      "end": 2515,
      "loc": {
        "start": {
          "line": 89,
          "column": 49
        },
        "end": {
          "line": 89,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2515,
      "end": 2516,
      "loc": {
        "start": {
          "line": 89,
          "column": 50
        },
        "end": {
          "line": 89,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 2521,
      "end": 2524,
      "loc": {
        "start": {
          "line": 90,
          "column": 4
        },
        "end": {
          "line": 90,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 2525,
      "end": 2533,
      "loc": {
        "start": {
          "line": 90,
          "column": 8
        },
        "end": {
          "line": 90,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2533,
      "end": 2534,
      "loc": {
        "start": {
          "line": 90,
          "column": 16
        },
        "end": {
          "line": 90,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2540,
      "end": 2542,
      "loc": {
        "start": {
          "line": 92,
          "column": 4
        },
        "end": {
          "line": 92,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2543,
      "end": 2544,
      "loc": {
        "start": {
          "line": 92,
          "column": 7
        },
        "end": {
          "line": 92,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "typeof",
        "keyword": "typeof",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "typeof",
      "start": 2544,
      "end": 2550,
      "loc": {
        "start": {
          "line": 92,
          "column": 8
        },
        "end": {
          "line": 92,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 2551,
      "end": 2556,
      "loc": {
        "start": {
          "line": 92,
          "column": 15
        },
        "end": {
          "line": 92,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 2557,
      "end": 2560,
      "loc": {
        "start": {
          "line": 92,
          "column": 21
        },
        "end": {
          "line": 92,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "string",
      "start": 2561,
      "end": 2569,
      "loc": {
        "start": {
          "line": 92,
          "column": 25
        },
        "end": {
          "line": 92,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2569,
      "end": 2570,
      "loc": {
        "start": {
          "line": 92,
          "column": 33
        },
        "end": {
          "line": 92,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2571,
      "end": 2572,
      "loc": {
        "start": {
          "line": 92,
          "column": 35
        },
        "end": {
          "line": 92,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 2579,
      "end": 2587,
      "loc": {
        "start": {
          "line": 93,
          "column": 6
        },
        "end": {
          "line": 93,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2588,
      "end": 2589,
      "loc": {
        "start": {
          "line": 93,
          "column": 15
        },
        "end": {
          "line": 93,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 2590,
      "end": 2595,
      "loc": {
        "start": {
          "line": 93,
          "column": 17
        },
        "end": {
          "line": 93,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2595,
      "end": 2596,
      "loc": {
        "start": {
          "line": 93,
          "column": 22
        },
        "end": {
          "line": 93,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 2603,
      "end": 2608,
      "loc": {
        "start": {
          "line": 94,
          "column": 6
        },
        "end": {
          "line": 94,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2609,
      "end": 2610,
      "loc": {
        "start": {
          "line": 94,
          "column": 12
        },
        "end": {
          "line": 94,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2611,
      "end": 2615,
      "loc": {
        "start": {
          "line": 94,
          "column": 14
        },
        "end": {
          "line": 94,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2615,
      "end": 2616,
      "loc": {
        "start": {
          "line": 94,
          "column": 18
        },
        "end": {
          "line": 94,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 2616,
      "end": 2623,
      "loc": {
        "start": {
          "line": 94,
          "column": 19
        },
        "end": {
          "line": 94,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2623,
      "end": 2624,
      "loc": {
        "start": {
          "line": 94,
          "column": 26
        },
        "end": {
          "line": 94,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 2624,
      "end": 2629,
      "loc": {
        "start": {
          "line": 94,
          "column": 27
        },
        "end": {
          "line": 94,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2629,
      "end": 2630,
      "loc": {
        "start": {
          "line": 94,
          "column": 32
        },
        "end": {
          "line": 94,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 2630,
      "end": 2638,
      "loc": {
        "start": {
          "line": 94,
          "column": 33
        },
        "end": {
          "line": 94,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2638,
      "end": 2639,
      "loc": {
        "start": {
          "line": 94,
          "column": 41
        },
        "end": {
          "line": 94,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 2640,
      "end": 2642,
      "loc": {
        "start": {
          "line": 94,
          "column": 43
        },
        "end": {
          "line": 94,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2643,
      "end": 2644,
      "loc": {
        "start": {
          "line": 94,
          "column": 46
        },
        "end": {
          "line": 94,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2644,
      "end": 2645,
      "loc": {
        "start": {
          "line": 94,
          "column": 47
        },
        "end": {
          "line": 94,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2645,
      "end": 2646,
      "loc": {
        "start": {
          "line": 94,
          "column": 48
        },
        "end": {
          "line": 94,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2653,
      "end": 2655,
      "loc": {
        "start": {
          "line": 95,
          "column": 6
        },
        "end": {
          "line": 95,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2656,
      "end": 2657,
      "loc": {
        "start": {
          "line": 95,
          "column": 9
        },
        "end": {
          "line": 95,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2657,
      "end": 2661,
      "loc": {
        "start": {
          "line": 95,
          "column": 10
        },
        "end": {
          "line": 95,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2661,
      "end": 2662,
      "loc": {
        "start": {
          "line": 95,
          "column": 14
        },
        "end": {
          "line": 95,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sequelize",
      "start": 2662,
      "end": 2671,
      "loc": {
        "start": {
          "line": 95,
          "column": 15
        },
        "end": {
          "line": 95,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2671,
      "end": 2672,
      "loc": {
        "start": {
          "line": 95,
          "column": 24
        },
        "end": {
          "line": 95,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 2673,
      "end": 2678,
      "loc": {
        "start": {
          "line": 95,
          "column": 26
        },
        "end": {
          "line": 95,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2679,
      "end": 2680,
      "loc": {
        "start": {
          "line": 95,
          "column": 32
        },
        "end": {
          "line": 95,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 2681,
      "end": 2686,
      "loc": {
        "start": {
          "line": 95,
          "column": 34
        },
        "end": {
          "line": 95,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2686,
      "end": 2687,
      "loc": {
        "start": {
          "line": 95,
          "column": 39
        },
        "end": {
          "line": 95,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "concat",
      "start": 2687,
      "end": 2693,
      "loc": {
        "start": {
          "line": 95,
          "column": 40
        },
        "end": {
          "line": 95,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2693,
      "end": 2694,
      "loc": {
        "start": {
          "line": 95,
          "column": 46
        },
        "end": {
          "line": 95,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2694,
      "end": 2698,
      "loc": {
        "start": {
          "line": 95,
          "column": 47
        },
        "end": {
          "line": 95,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2698,
      "end": 2699,
      "loc": {
        "start": {
          "line": 95,
          "column": 51
        },
        "end": {
          "line": 95,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sequelize",
      "start": 2699,
      "end": 2708,
      "loc": {
        "start": {
          "line": 95,
          "column": 52
        },
        "end": {
          "line": 95,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2708,
      "end": 2709,
      "loc": {
        "start": {
          "line": 95,
          "column": 61
        },
        "end": {
          "line": 95,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 2709,
      "end": 2716,
      "loc": {
        "start": {
          "line": 95,
          "column": 62
        },
        "end": {
          "line": 95,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2716,
      "end": 2717,
      "loc": {
        "start": {
          "line": 95,
          "column": 69
        },
        "end": {
          "line": 95,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 2717,
      "end": 2722,
      "loc": {
        "start": {
          "line": 95,
          "column": 70
        },
        "end": {
          "line": 95,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2722,
      "end": 2723,
      "loc": {
        "start": {
          "line": 95,
          "column": 75
        },
        "end": {
          "line": 95,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 2723,
      "end": 2731,
      "loc": {
        "start": {
          "line": 95,
          "column": 76
        },
        "end": {
          "line": 95,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2731,
      "end": 2732,
      "loc": {
        "start": {
          "line": 95,
          "column": 84
        },
        "end": {
          "line": 95,
          "column": 85
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 2733,
      "end": 2735,
      "loc": {
        "start": {
          "line": 95,
          "column": 86
        },
        "end": {
          "line": 95,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2736,
      "end": 2737,
      "loc": {
        "start": {
          "line": 95,
          "column": 89
        },
        "end": {
          "line": 95,
          "column": 90
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2737,
      "end": 2738,
      "loc": {
        "start": {
          "line": 95,
          "column": 90
        },
        "end": {
          "line": 95,
          "column": 91
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2738,
      "end": 2739,
      "loc": {
        "start": {
          "line": 95,
          "column": 91
        },
        "end": {
          "line": 95,
          "column": 92
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2739,
      "end": 2740,
      "loc": {
        "start": {
          "line": 95,
          "column": 92
        },
        "end": {
          "line": 95,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2745,
      "end": 2746,
      "loc": {
        "start": {
          "line": 96,
          "column": 4
        },
        "end": {
          "line": 96,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2752,
      "end": 2754,
      "loc": {
        "start": {
          "line": 98,
          "column": 4
        },
        "end": {
          "line": 98,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2755,
      "end": 2756,
      "loc": {
        "start": {
          "line": 98,
          "column": 7
        },
        "end": {
          "line": 98,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 2756,
      "end": 2757,
      "loc": {
        "start": {
          "line": 98,
          "column": 8
        },
        "end": {
          "line": 98,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Array",
      "start": 2757,
      "end": 2762,
      "loc": {
        "start": {
          "line": 98,
          "column": 9
        },
        "end": {
          "line": 98,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2762,
      "end": 2763,
      "loc": {
        "start": {
          "line": 98,
          "column": 14
        },
        "end": {
          "line": 98,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isArray",
      "start": 2763,
      "end": 2770,
      "loc": {
        "start": {
          "line": 98,
          "column": 15
        },
        "end": {
          "line": 98,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2770,
      "end": 2771,
      "loc": {
        "start": {
          "line": 98,
          "column": 22
        },
        "end": {
          "line": 98,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 2771,
      "end": 2776,
      "loc": {
        "start": {
          "line": 98,
          "column": 23
        },
        "end": {
          "line": 98,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2776,
      "end": 2777,
      "loc": {
        "start": {
          "line": 98,
          "column": 28
        },
        "end": {
          "line": 98,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2777,
      "end": 2778,
      "loc": {
        "start": {
          "line": 98,
          "column": 29
        },
        "end": {
          "line": 98,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2779,
      "end": 2780,
      "loc": {
        "start": {
          "line": 98,
          "column": 31
        },
        "end": {
          "line": 98,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 2787,
      "end": 2792,
      "loc": {
        "start": {
          "line": 99,
          "column": 6
        },
        "end": {
          "line": 99,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2793,
      "end": 2794,
      "loc": {
        "start": {
          "line": 99,
          "column": 12
        },
        "end": {
          "line": 99,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2795,
      "end": 2796,
      "loc": {
        "start": {
          "line": 99,
          "column": 14
        },
        "end": {
          "line": 99,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 2796,
      "end": 2801,
      "loc": {
        "start": {
          "line": 99,
          "column": 15
        },
        "end": {
          "line": 99,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2801,
      "end": 2802,
      "loc": {
        "start": {
          "line": 99,
          "column": 20
        },
        "end": {
          "line": 99,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2802,
      "end": 2803,
      "loc": {
        "start": {
          "line": 99,
          "column": 21
        },
        "end": {
          "line": 99,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2808,
      "end": 2809,
      "loc": {
        "start": {
          "line": 100,
          "column": 4
        },
        "end": {
          "line": 100,
          "column": 5
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " synchronous hooks",
      "start": 2815,
      "end": 2835,
      "loc": {
        "start": {
          "line": 102,
          "column": 4
        },
        "end": {
          "line": 102,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2840,
      "end": 2842,
      "loc": {
        "start": {
          "line": 103,
          "column": 4
        },
        "end": {
          "line": 103,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2843,
      "end": 2844,
      "loc": {
        "start": {
          "line": 103,
          "column": 7
        },
        "end": {
          "line": 103,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookTypes",
      "start": 2844,
      "end": 2853,
      "loc": {
        "start": {
          "line": 103,
          "column": 8
        },
        "end": {
          "line": 103,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2853,
      "end": 2854,
      "loc": {
        "start": {
          "line": 103,
          "column": 17
        },
        "end": {
          "line": 103,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 2854,
      "end": 2862,
      "loc": {
        "start": {
          "line": 103,
          "column": 18
        },
        "end": {
          "line": 103,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2862,
      "end": 2863,
      "loc": {
        "start": {
          "line": 103,
          "column": 26
        },
        "end": {
          "line": 103,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 2864,
      "end": 2866,
      "loc": {
        "start": {
          "line": 103,
          "column": 28
        },
        "end": {
          "line": 103,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookTypes",
      "start": 2867,
      "end": 2876,
      "loc": {
        "start": {
          "line": 103,
          "column": 31
        },
        "end": {
          "line": 103,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2876,
      "end": 2877,
      "loc": {
        "start": {
          "line": 103,
          "column": 40
        },
        "end": {
          "line": 103,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 2877,
      "end": 2885,
      "loc": {
        "start": {
          "line": 103,
          "column": 41
        },
        "end": {
          "line": 103,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2885,
      "end": 2886,
      "loc": {
        "start": {
          "line": 103,
          "column": 49
        },
        "end": {
          "line": 103,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2886,
      "end": 2887,
      "loc": {
        "start": {
          "line": 103,
          "column": 50
        },
        "end": {
          "line": 103,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sync",
      "start": 2887,
      "end": 2891,
      "loc": {
        "start": {
          "line": 103,
          "column": 51
        },
        "end": {
          "line": 103,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2891,
      "end": 2892,
      "loc": {
        "start": {
          "line": 103,
          "column": 55
        },
        "end": {
          "line": 103,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2893,
      "end": 2894,
      "loc": {
        "start": {
          "line": 103,
          "column": 57
        },
        "end": {
          "line": 103,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 2901,
      "end": 2904,
      "loc": {
        "start": {
          "line": 104,
          "column": 6
        },
        "end": {
          "line": 104,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2905,
      "end": 2906,
      "loc": {
        "start": {
          "line": 104,
          "column": 10
        },
        "end": {
          "line": 104,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 2906,
      "end": 2909,
      "loc": {
        "start": {
          "line": 104,
          "column": 11
        },
        "end": {
          "line": 104,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hook",
      "start": 2910,
      "end": 2914,
      "loc": {
        "start": {
          "line": 104,
          "column": 15
        },
        "end": {
          "line": 104,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "of",
      "start": 2915,
      "end": 2917,
      "loc": {
        "start": {
          "line": 104,
          "column": 20
        },
        "end": {
          "line": 104,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 2918,
      "end": 2923,
      "loc": {
        "start": {
          "line": 104,
          "column": 23
        },
        "end": {
          "line": 104,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2923,
      "end": 2924,
      "loc": {
        "start": {
          "line": 104,
          "column": 28
        },
        "end": {
          "line": 104,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2925,
      "end": 2926,
      "loc": {
        "start": {
          "line": 104,
          "column": 30
        },
        "end": {
          "line": 104,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2935,
      "end": 2937,
      "loc": {
        "start": {
          "line": 105,
          "column": 8
        },
        "end": {
          "line": 105,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2938,
      "end": 2939,
      "loc": {
        "start": {
          "line": 105,
          "column": 11
        },
        "end": {
          "line": 105,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "typeof",
        "keyword": "typeof",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "typeof",
      "start": 2939,
      "end": 2945,
      "loc": {
        "start": {
          "line": 105,
          "column": 12
        },
        "end": {
          "line": 105,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hook",
      "start": 2946,
      "end": 2950,
      "loc": {
        "start": {
          "line": 105,
          "column": 19
        },
        "end": {
          "line": 105,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 2951,
      "end": 2954,
      "loc": {
        "start": {
          "line": 105,
          "column": 24
        },
        "end": {
          "line": 105,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "object",
      "start": 2955,
      "end": 2963,
      "loc": {
        "start": {
          "line": 105,
          "column": 28
        },
        "end": {
          "line": 105,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2963,
      "end": 2964,
      "loc": {
        "start": {
          "line": 105,
          "column": 36
        },
        "end": {
          "line": 105,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2965,
      "end": 2966,
      "loc": {
        "start": {
          "line": 105,
          "column": 38
        },
        "end": {
          "line": 105,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hook",
      "start": 2977,
      "end": 2981,
      "loc": {
        "start": {
          "line": 106,
          "column": 10
        },
        "end": {
          "line": 106,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2982,
      "end": 2983,
      "loc": {
        "start": {
          "line": 106,
          "column": 15
        },
        "end": {
          "line": 106,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hook",
      "start": 2984,
      "end": 2988,
      "loc": {
        "start": {
          "line": 106,
          "column": 17
        },
        "end": {
          "line": 106,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2988,
      "end": 2989,
      "loc": {
        "start": {
          "line": 106,
          "column": 21
        },
        "end": {
          "line": 106,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fn",
      "start": 2989,
      "end": 2991,
      "loc": {
        "start": {
          "line": 106,
          "column": 22
        },
        "end": {
          "line": 106,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2991,
      "end": 2992,
      "loc": {
        "start": {
          "line": 106,
          "column": 24
        },
        "end": {
          "line": 106,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3001,
      "end": 3002,
      "loc": {
        "start": {
          "line": 107,
          "column": 8
        },
        "end": {
          "line": 107,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "debug",
      "start": 3012,
      "end": 3017,
      "loc": {
        "start": {
          "line": 109,
          "column": 8
        },
        "end": {
          "line": 109,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3017,
      "end": 3018,
      "loc": {
        "start": {
          "line": 109,
          "column": 13
        },
        "end": {
          "line": 109,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3018,
      "end": 3019,
      "loc": {
        "start": {
          "line": 109,
          "column": 14
        },
        "end": {
          "line": 109,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "running hook(sync) ",
      "start": 3019,
      "end": 3038,
      "loc": {
        "start": {
          "line": 109,
          "column": 15
        },
        "end": {
          "line": 109,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3038,
      "end": 3040,
      "loc": {
        "start": {
          "line": 109,
          "column": 34
        },
        "end": {
          "line": 109,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 3040,
      "end": 3048,
      "loc": {
        "start": {
          "line": 109,
          "column": 36
        },
        "end": {
          "line": 109,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3048,
      "end": 3049,
      "loc": {
        "start": {
          "line": 109,
          "column": 44
        },
        "end": {
          "line": 109,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 3049,
      "end": 3049,
      "loc": {
        "start": {
          "line": 109,
          "column": 45
        },
        "end": {
          "line": 109,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3049,
      "end": 3050,
      "loc": {
        "start": {
          "line": 109,
          "column": 45
        },
        "end": {
          "line": 109,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3050,
      "end": 3051,
      "loc": {
        "start": {
          "line": 109,
          "column": 46
        },
        "end": {
          "line": 109,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3051,
      "end": 3052,
      "loc": {
        "start": {
          "line": 109,
          "column": 47
        },
        "end": {
          "line": 109,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hook",
      "start": 3061,
      "end": 3065,
      "loc": {
        "start": {
          "line": 110,
          "column": 8
        },
        "end": {
          "line": 110,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3065,
      "end": 3066,
      "loc": {
        "start": {
          "line": 110,
          "column": 12
        },
        "end": {
          "line": 110,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "apply",
      "start": 3066,
      "end": 3071,
      "loc": {
        "start": {
          "line": 110,
          "column": 13
        },
        "end": {
          "line": 110,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3071,
      "end": 3072,
      "loc": {
        "start": {
          "line": 110,
          "column": 18
        },
        "end": {
          "line": 110,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3072,
      "end": 3076,
      "loc": {
        "start": {
          "line": 110,
          "column": 19
        },
        "end": {
          "line": 110,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3076,
      "end": 3077,
      "loc": {
        "start": {
          "line": 110,
          "column": 23
        },
        "end": {
          "line": 110,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookArgs",
      "start": 3078,
      "end": 3086,
      "loc": {
        "start": {
          "line": 110,
          "column": 25
        },
        "end": {
          "line": 110,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3086,
      "end": 3087,
      "loc": {
        "start": {
          "line": 110,
          "column": 33
        },
        "end": {
          "line": 110,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3087,
      "end": 3088,
      "loc": {
        "start": {
          "line": 110,
          "column": 34
        },
        "end": {
          "line": 110,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3095,
      "end": 3096,
      "loc": {
        "start": {
          "line": 111,
          "column": 6
        },
        "end": {
          "line": 111,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3103,
      "end": 3109,
      "loc": {
        "start": {
          "line": 112,
          "column": 6
        },
        "end": {
          "line": 112,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3109,
      "end": 3110,
      "loc": {
        "start": {
          "line": 112,
          "column": 12
        },
        "end": {
          "line": 112,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3115,
      "end": 3116,
      "loc": {
        "start": {
          "line": 113,
          "column": 4
        },
        "end": {
          "line": 113,
          "column": 5
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " asynchronous hooks (default)",
      "start": 3122,
      "end": 3153,
      "loc": {
        "start": {
          "line": 115,
          "column": 4
        },
        "end": {
          "line": 115,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3158,
      "end": 3164,
      "loc": {
        "start": {
          "line": 116,
          "column": 4
        },
        "end": {
          "line": 116,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Promise",
      "start": 3165,
      "end": 3172,
      "loc": {
        "start": {
          "line": 116,
          "column": 11
        },
        "end": {
          "line": 116,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3172,
      "end": 3173,
      "loc": {
        "start": {
          "line": 116,
          "column": 18
        },
        "end": {
          "line": 116,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "each",
      "start": 3173,
      "end": 3177,
      "loc": {
        "start": {
          "line": 116,
          "column": 19
        },
        "end": {
          "line": 116,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3177,
      "end": 3178,
      "loc": {
        "start": {
          "line": 116,
          "column": 23
        },
        "end": {
          "line": 116,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 3178,
      "end": 3183,
      "loc": {
        "start": {
          "line": 116,
          "column": 24
        },
        "end": {
          "line": 116,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3183,
      "end": 3184,
      "loc": {
        "start": {
          "line": 116,
          "column": 29
        },
        "end": {
          "line": 116,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hook",
      "start": 3185,
      "end": 3189,
      "loc": {
        "start": {
          "line": 116,
          "column": 31
        },
        "end": {
          "line": 116,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3190,
      "end": 3192,
      "loc": {
        "start": {
          "line": 116,
          "column": 36
        },
        "end": {
          "line": 116,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3193,
      "end": 3194,
      "loc": {
        "start": {
          "line": 116,
          "column": 39
        },
        "end": {
          "line": 116,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 3201,
      "end": 3203,
      "loc": {
        "start": {
          "line": 117,
          "column": 6
        },
        "end": {
          "line": 117,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3204,
      "end": 3205,
      "loc": {
        "start": {
          "line": 117,
          "column": 9
        },
        "end": {
          "line": 117,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "typeof",
        "keyword": "typeof",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "typeof",
      "start": 3205,
      "end": 3211,
      "loc": {
        "start": {
          "line": 117,
          "column": 10
        },
        "end": {
          "line": 117,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hook",
      "start": 3212,
      "end": 3216,
      "loc": {
        "start": {
          "line": 117,
          "column": 17
        },
        "end": {
          "line": 117,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 3217,
      "end": 3220,
      "loc": {
        "start": {
          "line": 117,
          "column": 22
        },
        "end": {
          "line": 117,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "object",
      "start": 3221,
      "end": 3229,
      "loc": {
        "start": {
          "line": 117,
          "column": 26
        },
        "end": {
          "line": 117,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3229,
      "end": 3230,
      "loc": {
        "start": {
          "line": 117,
          "column": 34
        },
        "end": {
          "line": 117,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3231,
      "end": 3232,
      "loc": {
        "start": {
          "line": 117,
          "column": 36
        },
        "end": {
          "line": 117,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hook",
      "start": 3241,
      "end": 3245,
      "loc": {
        "start": {
          "line": 118,
          "column": 8
        },
        "end": {
          "line": 118,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3246,
      "end": 3247,
      "loc": {
        "start": {
          "line": 118,
          "column": 13
        },
        "end": {
          "line": 118,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hook",
      "start": 3248,
      "end": 3252,
      "loc": {
        "start": {
          "line": 118,
          "column": 15
        },
        "end": {
          "line": 118,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3252,
      "end": 3253,
      "loc": {
        "start": {
          "line": 118,
          "column": 19
        },
        "end": {
          "line": 118,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fn",
      "start": 3253,
      "end": 3255,
      "loc": {
        "start": {
          "line": 118,
          "column": 20
        },
        "end": {
          "line": 118,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3255,
      "end": 3256,
      "loc": {
        "start": {
          "line": 118,
          "column": 22
        },
        "end": {
          "line": 118,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3263,
      "end": 3264,
      "loc": {
        "start": {
          "line": 119,
          "column": 6
        },
        "end": {
          "line": 119,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "debug",
      "start": 3272,
      "end": 3277,
      "loc": {
        "start": {
          "line": 121,
          "column": 6
        },
        "end": {
          "line": 121,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3277,
      "end": 3278,
      "loc": {
        "start": {
          "line": 121,
          "column": 11
        },
        "end": {
          "line": 121,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3278,
      "end": 3279,
      "loc": {
        "start": {
          "line": 121,
          "column": 12
        },
        "end": {
          "line": 121,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "running hook ",
      "start": 3279,
      "end": 3292,
      "loc": {
        "start": {
          "line": 121,
          "column": 13
        },
        "end": {
          "line": 121,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3292,
      "end": 3294,
      "loc": {
        "start": {
          "line": 121,
          "column": 26
        },
        "end": {
          "line": 121,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 3294,
      "end": 3302,
      "loc": {
        "start": {
          "line": 121,
          "column": 28
        },
        "end": {
          "line": 121,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3302,
      "end": 3303,
      "loc": {
        "start": {
          "line": 121,
          "column": 36
        },
        "end": {
          "line": 121,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 3303,
      "end": 3303,
      "loc": {
        "start": {
          "line": 121,
          "column": 37
        },
        "end": {
          "line": 121,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3303,
      "end": 3304,
      "loc": {
        "start": {
          "line": 121,
          "column": 37
        },
        "end": {
          "line": 121,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3304,
      "end": 3305,
      "loc": {
        "start": {
          "line": 121,
          "column": 38
        },
        "end": {
          "line": 121,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3305,
      "end": 3306,
      "loc": {
        "start": {
          "line": 121,
          "column": 39
        },
        "end": {
          "line": 121,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3313,
      "end": 3319,
      "loc": {
        "start": {
          "line": 122,
          "column": 6
        },
        "end": {
          "line": 122,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Promise",
      "start": 3320,
      "end": 3327,
      "loc": {
        "start": {
          "line": 122,
          "column": 13
        },
        "end": {
          "line": 122,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3327,
      "end": 3328,
      "loc": {
        "start": {
          "line": 122,
          "column": 20
        },
        "end": {
          "line": 122,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "resolve",
      "start": 3328,
      "end": 3335,
      "loc": {
        "start": {
          "line": 122,
          "column": 21
        },
        "end": {
          "line": 122,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3335,
      "end": 3336,
      "loc": {
        "start": {
          "line": 122,
          "column": 28
        },
        "end": {
          "line": 122,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hook",
      "start": 3336,
      "end": 3340,
      "loc": {
        "start": {
          "line": 122,
          "column": 29
        },
        "end": {
          "line": 122,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3340,
      "end": 3341,
      "loc": {
        "start": {
          "line": 122,
          "column": 33
        },
        "end": {
          "line": 122,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "apply",
      "start": 3341,
      "end": 3346,
      "loc": {
        "start": {
          "line": 122,
          "column": 34
        },
        "end": {
          "line": 122,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3346,
      "end": 3347,
      "loc": {
        "start": {
          "line": 122,
          "column": 39
        },
        "end": {
          "line": 122,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3347,
      "end": 3351,
      "loc": {
        "start": {
          "line": 122,
          "column": 40
        },
        "end": {
          "line": 122,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3351,
      "end": 3352,
      "loc": {
        "start": {
          "line": 122,
          "column": 44
        },
        "end": {
          "line": 122,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookArgs",
      "start": 3353,
      "end": 3361,
      "loc": {
        "start": {
          "line": 122,
          "column": 46
        },
        "end": {
          "line": 122,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3361,
      "end": 3362,
      "loc": {
        "start": {
          "line": 122,
          "column": 54
        },
        "end": {
          "line": 122,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3362,
      "end": 3363,
      "loc": {
        "start": {
          "line": 122,
          "column": 55
        },
        "end": {
          "line": 122,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3363,
      "end": 3364,
      "loc": {
        "start": {
          "line": 122,
          "column": 56
        },
        "end": {
          "line": 122,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3369,
      "end": 3370,
      "loc": {
        "start": {
          "line": 123,
          "column": 4
        },
        "end": {
          "line": 123,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3370,
      "end": 3371,
      "loc": {
        "start": {
          "line": 123,
          "column": 5
        },
        "end": {
          "line": 123,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3371,
      "end": 3372,
      "loc": {
        "start": {
          "line": 123,
          "column": 6
        },
        "end": {
          "line": 123,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3372,
      "end": 3378,
      "loc": {
        "start": {
          "line": 123,
          "column": 7
        },
        "end": {
          "line": 123,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3378,
      "end": 3379,
      "loc": {
        "start": {
          "line": 123,
          "column": 13
        },
        "end": {
          "line": 123,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3379,
      "end": 3380,
      "loc": {
        "start": {
          "line": 123,
          "column": 14
        },
        "end": {
          "line": 123,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3380,
      "end": 3381,
      "loc": {
        "start": {
          "line": 123,
          "column": 15
        },
        "end": {
          "line": 123,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3384,
      "end": 3385,
      "loc": {
        "start": {
          "line": 124,
          "column": 2
        },
        "end": {
          "line": 124,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3385,
      "end": 3386,
      "loc": {
        "start": {
          "line": 124,
          "column": 3
        },
        "end": {
          "line": 124,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hook",
      "start": 3390,
      "end": 3394,
      "loc": {
        "start": {
          "line": 126,
          "column": 2
        },
        "end": {
          "line": 126,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3394,
      "end": 3395,
      "loc": {
        "start": {
          "line": 126,
          "column": 6
        },
        "end": {
          "line": 126,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3395,
      "end": 3396,
      "loc": {
        "start": {
          "line": 126,
          "column": 7
        },
        "end": {
          "line": 126,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3397,
      "end": 3398,
      "loc": {
        "start": {
          "line": 126,
          "column": 9
        },
        "end": {
          "line": 126,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3403,
      "end": 3409,
      "loc": {
        "start": {
          "line": 127,
          "column": 4
        },
        "end": {
          "line": 127,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Hooks",
      "start": 3410,
      "end": 3415,
      "loc": {
        "start": {
          "line": 127,
          "column": 11
        },
        "end": {
          "line": 127,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3415,
      "end": 3416,
      "loc": {
        "start": {
          "line": 127,
          "column": 16
        },
        "end": {
          "line": 127,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addHook",
      "start": 3416,
      "end": 3423,
      "loc": {
        "start": {
          "line": 127,
          "column": 17
        },
        "end": {
          "line": 127,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3423,
      "end": 3424,
      "loc": {
        "start": {
          "line": 127,
          "column": 24
        },
        "end": {
          "line": 127,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "apply",
      "start": 3424,
      "end": 3429,
      "loc": {
        "start": {
          "line": 127,
          "column": 25
        },
        "end": {
          "line": 127,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3429,
      "end": 3430,
      "loc": {
        "start": {
          "line": 127,
          "column": 30
        },
        "end": {
          "line": 127,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3430,
      "end": 3434,
      "loc": {
        "start": {
          "line": 127,
          "column": 31
        },
        "end": {
          "line": 127,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3434,
      "end": 3435,
      "loc": {
        "start": {
          "line": 127,
          "column": 35
        },
        "end": {
          "line": 127,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "arguments",
      "start": 3436,
      "end": 3445,
      "loc": {
        "start": {
          "line": 127,
          "column": 37
        },
        "end": {
          "line": 127,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3445,
      "end": 3446,
      "loc": {
        "start": {
          "line": 127,
          "column": 46
        },
        "end": {
          "line": 127,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3446,
      "end": 3447,
      "loc": {
        "start": {
          "line": 127,
          "column": 47
        },
        "end": {
          "line": 127,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3450,
      "end": 3451,
      "loc": {
        "start": {
          "line": 128,
          "column": 2
        },
        "end": {
          "line": 128,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3451,
      "end": 3452,
      "loc": {
        "start": {
          "line": 128,
          "column": 3
        },
        "end": {
          "line": 128,
          "column": 4
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * Add a hook to the model\n   *\n   * @param {String}    hookType\n   * @param {String}    [name]    Provide a name for the hook function. It can be used to remove the hook later or to order hooks based on some sort of priority system in the future.\n   * @param {Function}  fn        The hook function\n   *\n   * @memberOf Sequelize\n   * @memberOf Sequelize.Model\n   ",
      "start": 3456,
      "end": 3828,
      "loc": {
        "start": {
          "line": 130,
          "column": 2
        },
        "end": {
          "line": 139,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addHook",
      "start": 3831,
      "end": 3838,
      "loc": {
        "start": {
          "line": 140,
          "column": 2
        },
        "end": {
          "line": 140,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3838,
      "end": 3839,
      "loc": {
        "start": {
          "line": 140,
          "column": 9
        },
        "end": {
          "line": 140,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 3839,
      "end": 3847,
      "loc": {
        "start": {
          "line": 140,
          "column": 10
        },
        "end": {
          "line": 140,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3847,
      "end": 3848,
      "loc": {
        "start": {
          "line": 140,
          "column": 18
        },
        "end": {
          "line": 140,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 3849,
      "end": 3853,
      "loc": {
        "start": {
          "line": 140,
          "column": 20
        },
        "end": {
          "line": 140,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3853,
      "end": 3854,
      "loc": {
        "start": {
          "line": 140,
          "column": 24
        },
        "end": {
          "line": 140,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fn",
      "start": 3855,
      "end": 3857,
      "loc": {
        "start": {
          "line": 140,
          "column": 26
        },
        "end": {
          "line": 140,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3857,
      "end": 3858,
      "loc": {
        "start": {
          "line": 140,
          "column": 28
        },
        "end": {
          "line": 140,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3859,
      "end": 3860,
      "loc": {
        "start": {
          "line": 140,
          "column": 30
        },
        "end": {
          "line": 140,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 3865,
      "end": 3867,
      "loc": {
        "start": {
          "line": 141,
          "column": 4
        },
        "end": {
          "line": 141,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3868,
      "end": 3869,
      "loc": {
        "start": {
          "line": 141,
          "column": 7
        },
        "end": {
          "line": 141,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "typeof",
        "keyword": "typeof",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "typeof",
      "start": 3869,
      "end": 3875,
      "loc": {
        "start": {
          "line": 141,
          "column": 8
        },
        "end": {
          "line": 141,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 3876,
      "end": 3880,
      "loc": {
        "start": {
          "line": 141,
          "column": 15
        },
        "end": {
          "line": 141,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 3881,
      "end": 3884,
      "loc": {
        "start": {
          "line": 141,
          "column": 20
        },
        "end": {
          "line": 141,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "function",
      "start": 3885,
      "end": 3895,
      "loc": {
        "start": {
          "line": 141,
          "column": 24
        },
        "end": {
          "line": 141,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3895,
      "end": 3896,
      "loc": {
        "start": {
          "line": 141,
          "column": 34
        },
        "end": {
          "line": 141,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3897,
      "end": 3898,
      "loc": {
        "start": {
          "line": 141,
          "column": 36
        },
        "end": {
          "line": 141,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fn",
      "start": 3905,
      "end": 3907,
      "loc": {
        "start": {
          "line": 142,
          "column": 6
        },
        "end": {
          "line": 142,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3908,
      "end": 3909,
      "loc": {
        "start": {
          "line": 142,
          "column": 9
        },
        "end": {
          "line": 142,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 3910,
      "end": 3914,
      "loc": {
        "start": {
          "line": 142,
          "column": 11
        },
        "end": {
          "line": 142,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3914,
      "end": 3915,
      "loc": {
        "start": {
          "line": 142,
          "column": 15
        },
        "end": {
          "line": 142,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 3922,
      "end": 3926,
      "loc": {
        "start": {
          "line": 143,
          "column": 6
        },
        "end": {
          "line": 143,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3927,
      "end": 3928,
      "loc": {
        "start": {
          "line": 143,
          "column": 11
        },
        "end": {
          "line": 143,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 3929,
      "end": 3933,
      "loc": {
        "start": {
          "line": 143,
          "column": 13
        },
        "end": {
          "line": 143,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3933,
      "end": 3934,
      "loc": {
        "start": {
          "line": 143,
          "column": 17
        },
        "end": {
          "line": 143,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3939,
      "end": 3940,
      "loc": {
        "start": {
          "line": 144,
          "column": 4
        },
        "end": {
          "line": 144,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "debug",
      "start": 3946,
      "end": 3951,
      "loc": {
        "start": {
          "line": 146,
          "column": 4
        },
        "end": {
          "line": 146,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3951,
      "end": 3952,
      "loc": {
        "start": {
          "line": 146,
          "column": 9
        },
        "end": {
          "line": 146,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3952,
      "end": 3953,
      "loc": {
        "start": {
          "line": 146,
          "column": 10
        },
        "end": {
          "line": 146,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "adding hook ",
      "start": 3953,
      "end": 3965,
      "loc": {
        "start": {
          "line": 146,
          "column": 11
        },
        "end": {
          "line": 146,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3965,
      "end": 3967,
      "loc": {
        "start": {
          "line": 146,
          "column": 23
        },
        "end": {
          "line": 146,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 3967,
      "end": 3975,
      "loc": {
        "start": {
          "line": 146,
          "column": 25
        },
        "end": {
          "line": 146,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3975,
      "end": 3976,
      "loc": {
        "start": {
          "line": 146,
          "column": 33
        },
        "end": {
          "line": 146,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 3976,
      "end": 3976,
      "loc": {
        "start": {
          "line": 146,
          "column": 34
        },
        "end": {
          "line": 146,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3976,
      "end": 3977,
      "loc": {
        "start": {
          "line": 146,
          "column": 34
        },
        "end": {
          "line": 146,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3977,
      "end": 3978,
      "loc": {
        "start": {
          "line": 146,
          "column": 35
        },
        "end": {
          "line": 146,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3978,
      "end": 3979,
      "loc": {
        "start": {
          "line": 146,
          "column": 36
        },
        "end": {
          "line": 146,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 3984,
      "end": 3992,
      "loc": {
        "start": {
          "line": 147,
          "column": 4
        },
        "end": {
          "line": 147,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3993,
      "end": 3994,
      "loc": {
        "start": {
          "line": 147,
          "column": 13
        },
        "end": {
          "line": 147,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookAliases",
      "start": 3995,
      "end": 4006,
      "loc": {
        "start": {
          "line": 147,
          "column": 15
        },
        "end": {
          "line": 147,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4006,
      "end": 4007,
      "loc": {
        "start": {
          "line": 147,
          "column": 26
        },
        "end": {
          "line": 147,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 4007,
      "end": 4015,
      "loc": {
        "start": {
          "line": 147,
          "column": 27
        },
        "end": {
          "line": 147,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4015,
      "end": 4016,
      "loc": {
        "start": {
          "line": 147,
          "column": 35
        },
        "end": {
          "line": 147,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 4017,
      "end": 4019,
      "loc": {
        "start": {
          "line": 147,
          "column": 37
        },
        "end": {
          "line": 147,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 4020,
      "end": 4028,
      "loc": {
        "start": {
          "line": 147,
          "column": 40
        },
        "end": {
          "line": 147,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4028,
      "end": 4029,
      "loc": {
        "start": {
          "line": 147,
          "column": 48
        },
        "end": {
          "line": 147,
          "column": 49
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " check for proxies, add them too",
      "start": 4035,
      "end": 4069,
      "loc": {
        "start": {
          "line": 149,
          "column": 4
        },
        "end": {
          "line": 149,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 4074,
      "end": 4082,
      "loc": {
        "start": {
          "line": 150,
          "column": 4
        },
        "end": {
          "line": 150,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4083,
      "end": 4084,
      "loc": {
        "start": {
          "line": 150,
          "column": 13
        },
        "end": {
          "line": 150,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getProxiedHooks",
      "start": 4085,
      "end": 4100,
      "loc": {
        "start": {
          "line": 150,
          "column": 15
        },
        "end": {
          "line": 150,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4100,
      "end": 4101,
      "loc": {
        "start": {
          "line": 150,
          "column": 30
        },
        "end": {
          "line": 150,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 4101,
      "end": 4109,
      "loc": {
        "start": {
          "line": 150,
          "column": 31
        },
        "end": {
          "line": 150,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4109,
      "end": 4110,
      "loc": {
        "start": {
          "line": 150,
          "column": 39
        },
        "end": {
          "line": 150,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4110,
      "end": 4111,
      "loc": {
        "start": {
          "line": 150,
          "column": 40
        },
        "end": {
          "line": 150,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Utils",
      "start": 4117,
      "end": 4122,
      "loc": {
        "start": {
          "line": 152,
          "column": 4
        },
        "end": {
          "line": 152,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4122,
      "end": 4123,
      "loc": {
        "start": {
          "line": 152,
          "column": 9
        },
        "end": {
          "line": 152,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_",
      "start": 4123,
      "end": 4124,
      "loc": {
        "start": {
          "line": 152,
          "column": 10
        },
        "end": {
          "line": 152,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4124,
      "end": 4125,
      "loc": {
        "start": {
          "line": 152,
          "column": 11
        },
        "end": {
          "line": 152,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "each",
      "start": 4125,
      "end": 4129,
      "loc": {
        "start": {
          "line": 152,
          "column": 12
        },
        "end": {
          "line": 152,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4129,
      "end": 4130,
      "loc": {
        "start": {
          "line": 152,
          "column": 16
        },
        "end": {
          "line": 152,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 4130,
      "end": 4138,
      "loc": {
        "start": {
          "line": 152,
          "column": 17
        },
        "end": {
          "line": 152,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4138,
      "end": 4139,
      "loc": {
        "start": {
          "line": 152,
          "column": 25
        },
        "end": {
          "line": 152,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4140,
      "end": 4141,
      "loc": {
        "start": {
          "line": 152,
          "column": 27
        },
        "end": {
          "line": 152,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 4141,
      "end": 4145,
      "loc": {
        "start": {
          "line": 152,
          "column": 28
        },
        "end": {
          "line": 152,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4145,
      "end": 4146,
      "loc": {
        "start": {
          "line": 152,
          "column": 32
        },
        "end": {
          "line": 152,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4147,
      "end": 4149,
      "loc": {
        "start": {
          "line": 152,
          "column": 34
        },
        "end": {
          "line": 152,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4150,
      "end": 4151,
      "loc": {
        "start": {
          "line": 152,
          "column": 37
        },
        "end": {
          "line": 152,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4158,
      "end": 4162,
      "loc": {
        "start": {
          "line": 153,
          "column": 6
        },
        "end": {
          "line": 153,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4162,
      "end": 4163,
      "loc": {
        "start": {
          "line": 153,
          "column": 10
        },
        "end": {
          "line": 153,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 4163,
      "end": 4170,
      "loc": {
        "start": {
          "line": 153,
          "column": 11
        },
        "end": {
          "line": 153,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4170,
      "end": 4171,
      "loc": {
        "start": {
          "line": 153,
          "column": 18
        },
        "end": {
          "line": 153,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 4171,
      "end": 4176,
      "loc": {
        "start": {
          "line": 153,
          "column": 19
        },
        "end": {
          "line": 153,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4176,
      "end": 4177,
      "loc": {
        "start": {
          "line": 153,
          "column": 24
        },
        "end": {
          "line": 153,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 4177,
      "end": 4181,
      "loc": {
        "start": {
          "line": 153,
          "column": 25
        },
        "end": {
          "line": 153,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4181,
      "end": 4182,
      "loc": {
        "start": {
          "line": 153,
          "column": 29
        },
        "end": {
          "line": 153,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4183,
      "end": 4184,
      "loc": {
        "start": {
          "line": 153,
          "column": 31
        },
        "end": {
          "line": 153,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4185,
      "end": 4189,
      "loc": {
        "start": {
          "line": 153,
          "column": 33
        },
        "end": {
          "line": 153,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4189,
      "end": 4190,
      "loc": {
        "start": {
          "line": 153,
          "column": 37
        },
        "end": {
          "line": 153,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 4190,
      "end": 4197,
      "loc": {
        "start": {
          "line": 153,
          "column": 38
        },
        "end": {
          "line": 153,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4197,
      "end": 4198,
      "loc": {
        "start": {
          "line": 153,
          "column": 45
        },
        "end": {
          "line": 153,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 4198,
      "end": 4203,
      "loc": {
        "start": {
          "line": 153,
          "column": 46
        },
        "end": {
          "line": 153,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4203,
      "end": 4204,
      "loc": {
        "start": {
          "line": 153,
          "column": 51
        },
        "end": {
          "line": 153,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 4204,
      "end": 4208,
      "loc": {
        "start": {
          "line": 153,
          "column": 52
        },
        "end": {
          "line": 153,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4208,
      "end": 4209,
      "loc": {
        "start": {
          "line": 153,
          "column": 56
        },
        "end": {
          "line": 153,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 4210,
      "end": 4212,
      "loc": {
        "start": {
          "line": 153,
          "column": 58
        },
        "end": {
          "line": 153,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4213,
      "end": 4214,
      "loc": {
        "start": {
          "line": 153,
          "column": 61
        },
        "end": {
          "line": 153,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4214,
      "end": 4215,
      "loc": {
        "start": {
          "line": 153,
          "column": 62
        },
        "end": {
          "line": 153,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4215,
      "end": 4216,
      "loc": {
        "start": {
          "line": 153,
          "column": 63
        },
        "end": {
          "line": 153,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4223,
      "end": 4227,
      "loc": {
        "start": {
          "line": 154,
          "column": 6
        },
        "end": {
          "line": 154,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4227,
      "end": 4228,
      "loc": {
        "start": {
          "line": 154,
          "column": 10
        },
        "end": {
          "line": 154,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 4228,
      "end": 4235,
      "loc": {
        "start": {
          "line": 154,
          "column": 11
        },
        "end": {
          "line": 154,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4235,
      "end": 4236,
      "loc": {
        "start": {
          "line": 154,
          "column": 18
        },
        "end": {
          "line": 154,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 4236,
      "end": 4241,
      "loc": {
        "start": {
          "line": 154,
          "column": 19
        },
        "end": {
          "line": 154,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4241,
      "end": 4242,
      "loc": {
        "start": {
          "line": 154,
          "column": 24
        },
        "end": {
          "line": 154,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 4242,
      "end": 4246,
      "loc": {
        "start": {
          "line": 154,
          "column": 25
        },
        "end": {
          "line": 154,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4246,
      "end": 4247,
      "loc": {
        "start": {
          "line": 154,
          "column": 29
        },
        "end": {
          "line": 154,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4247,
      "end": 4248,
      "loc": {
        "start": {
          "line": 154,
          "column": 30
        },
        "end": {
          "line": 154,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "push",
      "start": 4248,
      "end": 4252,
      "loc": {
        "start": {
          "line": 154,
          "column": 31
        },
        "end": {
          "line": 154,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4252,
      "end": 4253,
      "loc": {
        "start": {
          "line": 154,
          "column": 35
        },
        "end": {
          "line": 154,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 4253,
      "end": 4254,
      "loc": {
        "start": {
          "line": 154,
          "column": 36
        },
        "end": {
          "line": 154,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 4254,
      "end": 4255,
      "loc": {
        "start": {
          "line": 154,
          "column": 37
        },
        "end": {
          "line": 154,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 4255,
      "end": 4259,
      "loc": {
        "start": {
          "line": 154,
          "column": 38
        },
        "end": {
          "line": 154,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "?",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4260,
      "end": 4261,
      "loc": {
        "start": {
          "line": 154,
          "column": 43
        },
        "end": {
          "line": 154,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4262,
      "end": 4263,
      "loc": {
        "start": {
          "line": 154,
          "column": 45
        },
        "end": {
          "line": 154,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 4263,
      "end": 4267,
      "loc": {
        "start": {
          "line": 154,
          "column": 46
        },
        "end": {
          "line": 154,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4267,
      "end": 4268,
      "loc": {
        "start": {
          "line": 154,
          "column": 50
        },
        "end": {
          "line": 154,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fn",
      "start": 4269,
      "end": 4271,
      "loc": {
        "start": {
          "line": 154,
          "column": 52
        },
        "end": {
          "line": 154,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4271,
      "end": 4272,
      "loc": {
        "start": {
          "line": 154,
          "column": 54
        },
        "end": {
          "line": 154,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4273,
      "end": 4274,
      "loc": {
        "start": {
          "line": 154,
          "column": 56
        },
        "end": {
          "line": 154,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fn",
      "start": 4275,
      "end": 4277,
      "loc": {
        "start": {
          "line": 154,
          "column": 58
        },
        "end": {
          "line": 154,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4277,
      "end": 4278,
      "loc": {
        "start": {
          "line": 154,
          "column": 60
        },
        "end": {
          "line": 154,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4278,
      "end": 4279,
      "loc": {
        "start": {
          "line": 154,
          "column": 61
        },
        "end": {
          "line": 154,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4284,
      "end": 4285,
      "loc": {
        "start": {
          "line": 155,
          "column": 4
        },
        "end": {
          "line": 155,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4285,
      "end": 4286,
      "loc": {
        "start": {
          "line": 155,
          "column": 5
        },
        "end": {
          "line": 155,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4286,
      "end": 4287,
      "loc": {
        "start": {
          "line": 155,
          "column": 6
        },
        "end": {
          "line": 155,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 4293,
      "end": 4299,
      "loc": {
        "start": {
          "line": 157,
          "column": 4
        },
        "end": {
          "line": 157,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4300,
      "end": 4304,
      "loc": {
        "start": {
          "line": 157,
          "column": 11
        },
        "end": {
          "line": 157,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4304,
      "end": 4305,
      "loc": {
        "start": {
          "line": 157,
          "column": 15
        },
        "end": {
          "line": 157,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4308,
      "end": 4309,
      "loc": {
        "start": {
          "line": 158,
          "column": 2
        },
        "end": {
          "line": 158,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4309,
      "end": 4310,
      "loc": {
        "start": {
          "line": 158,
          "column": 3
        },
        "end": {
          "line": 158,
          "column": 4
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * Remove hook from the model\n   *\n   * @param {String} hookType\n   * @param {String|Function} name\n   *\n   * @memberOf Sequelize\n   * @memberOf Sequelize.Model\n   ",
      "start": 4314,
      "end": 4486,
      "loc": {
        "start": {
          "line": 160,
          "column": 2
        },
        "end": {
          "line": 168,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "removeHook",
      "start": 4489,
      "end": 4499,
      "loc": {
        "start": {
          "line": 169,
          "column": 2
        },
        "end": {
          "line": 169,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4499,
      "end": 4500,
      "loc": {
        "start": {
          "line": 169,
          "column": 12
        },
        "end": {
          "line": 169,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 4500,
      "end": 4508,
      "loc": {
        "start": {
          "line": 169,
          "column": 13
        },
        "end": {
          "line": 169,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4508,
      "end": 4509,
      "loc": {
        "start": {
          "line": 169,
          "column": 21
        },
        "end": {
          "line": 169,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 4510,
      "end": 4514,
      "loc": {
        "start": {
          "line": 169,
          "column": 23
        },
        "end": {
          "line": 169,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4514,
      "end": 4515,
      "loc": {
        "start": {
          "line": 169,
          "column": 27
        },
        "end": {
          "line": 169,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4516,
      "end": 4517,
      "loc": {
        "start": {
          "line": 169,
          "column": 29
        },
        "end": {
          "line": 169,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 4522,
      "end": 4530,
      "loc": {
        "start": {
          "line": 170,
          "column": 4
        },
        "end": {
          "line": 170,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4531,
      "end": 4532,
      "loc": {
        "start": {
          "line": 170,
          "column": 13
        },
        "end": {
          "line": 170,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookAliases",
      "start": 4533,
      "end": 4544,
      "loc": {
        "start": {
          "line": 170,
          "column": 15
        },
        "end": {
          "line": 170,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4544,
      "end": 4545,
      "loc": {
        "start": {
          "line": 170,
          "column": 26
        },
        "end": {
          "line": 170,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 4545,
      "end": 4553,
      "loc": {
        "start": {
          "line": 170,
          "column": 27
        },
        "end": {
          "line": 170,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4553,
      "end": 4554,
      "loc": {
        "start": {
          "line": 170,
          "column": 35
        },
        "end": {
          "line": 170,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 4555,
      "end": 4557,
      "loc": {
        "start": {
          "line": 170,
          "column": 37
        },
        "end": {
          "line": 170,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 4558,
      "end": 4566,
      "loc": {
        "start": {
          "line": 170,
          "column": 40
        },
        "end": {
          "line": 170,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4566,
      "end": 4567,
      "loc": {
        "start": {
          "line": 170,
          "column": 48
        },
        "end": {
          "line": 170,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 4572,
      "end": 4577,
      "loc": {
        "start": {
          "line": 171,
          "column": 4
        },
        "end": {
          "line": 171,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isReference",
      "start": 4578,
      "end": 4589,
      "loc": {
        "start": {
          "line": 171,
          "column": 10
        },
        "end": {
          "line": 171,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4590,
      "end": 4591,
      "loc": {
        "start": {
          "line": 171,
          "column": 22
        },
        "end": {
          "line": 171,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "typeof",
        "keyword": "typeof",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "typeof",
      "start": 4592,
      "end": 4598,
      "loc": {
        "start": {
          "line": 171,
          "column": 24
        },
        "end": {
          "line": 171,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 4599,
      "end": 4603,
      "loc": {
        "start": {
          "line": 171,
          "column": 31
        },
        "end": {
          "line": 171,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4604,
      "end": 4607,
      "loc": {
        "start": {
          "line": 171,
          "column": 36
        },
        "end": {
          "line": 171,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "function",
      "start": 4608,
      "end": 4618,
      "loc": {
        "start": {
          "line": 171,
          "column": 40
        },
        "end": {
          "line": 171,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "?",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4619,
      "end": 4620,
      "loc": {
        "start": {
          "line": 171,
          "column": 51
        },
        "end": {
          "line": 171,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 4621,
      "end": 4625,
      "loc": {
        "start": {
          "line": 171,
          "column": 53
        },
        "end": {
          "line": 171,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4626,
      "end": 4627,
      "loc": {
        "start": {
          "line": 171,
          "column": 58
        },
        "end": {
          "line": 171,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 4628,
      "end": 4633,
      "loc": {
        "start": {
          "line": 171,
          "column": 60
        },
        "end": {
          "line": 171,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4633,
      "end": 4634,
      "loc": {
        "start": {
          "line": 171,
          "column": 65
        },
        "end": {
          "line": 171,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4640,
      "end": 4642,
      "loc": {
        "start": {
          "line": 173,
          "column": 4
        },
        "end": {
          "line": 173,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4643,
      "end": 4644,
      "loc": {
        "start": {
          "line": 173,
          "column": 7
        },
        "end": {
          "line": 173,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 4644,
      "end": 4645,
      "loc": {
        "start": {
          "line": 173,
          "column": 8
        },
        "end": {
          "line": 173,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4645,
      "end": 4649,
      "loc": {
        "start": {
          "line": 173,
          "column": 9
        },
        "end": {
          "line": 173,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4649,
      "end": 4650,
      "loc": {
        "start": {
          "line": 173,
          "column": 13
        },
        "end": {
          "line": 173,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasHook",
      "start": 4650,
      "end": 4657,
      "loc": {
        "start": {
          "line": 173,
          "column": 14
        },
        "end": {
          "line": 173,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4657,
      "end": 4658,
      "loc": {
        "start": {
          "line": 173,
          "column": 21
        },
        "end": {
          "line": 173,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 4658,
      "end": 4666,
      "loc": {
        "start": {
          "line": 173,
          "column": 22
        },
        "end": {
          "line": 173,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4666,
      "end": 4667,
      "loc": {
        "start": {
          "line": 173,
          "column": 30
        },
        "end": {
          "line": 173,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4667,
      "end": 4668,
      "loc": {
        "start": {
          "line": 173,
          "column": 31
        },
        "end": {
          "line": 173,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4669,
      "end": 4670,
      "loc": {
        "start": {
          "line": 173,
          "column": 33
        },
        "end": {
          "line": 173,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 4677,
      "end": 4683,
      "loc": {
        "start": {
          "line": 174,
          "column": 6
        },
        "end": {
          "line": 174,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4684,
      "end": 4688,
      "loc": {
        "start": {
          "line": 174,
          "column": 13
        },
        "end": {
          "line": 174,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4688,
      "end": 4689,
      "loc": {
        "start": {
          "line": 174,
          "column": 17
        },
        "end": {
          "line": 174,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4694,
      "end": 4695,
      "loc": {
        "start": {
          "line": 175,
          "column": 4
        },
        "end": {
          "line": 175,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Utils",
      "start": 4701,
      "end": 4706,
      "loc": {
        "start": {
          "line": 177,
          "column": 4
        },
        "end": {
          "line": 177,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4706,
      "end": 4707,
      "loc": {
        "start": {
          "line": 177,
          "column": 9
        },
        "end": {
          "line": 177,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "debug",
      "start": 4707,
      "end": 4712,
      "loc": {
        "start": {
          "line": 177,
          "column": 10
        },
        "end": {
          "line": 177,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4712,
      "end": 4713,
      "loc": {
        "start": {
          "line": 177,
          "column": 15
        },
        "end": {
          "line": 177,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4713,
      "end": 4714,
      "loc": {
        "start": {
          "line": 177,
          "column": 16
        },
        "end": {
          "line": 177,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "removing hook ",
      "start": 4714,
      "end": 4728,
      "loc": {
        "start": {
          "line": 177,
          "column": 17
        },
        "end": {
          "line": 177,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4728,
      "end": 4730,
      "loc": {
        "start": {
          "line": 177,
          "column": 31
        },
        "end": {
          "line": 177,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 4730,
      "end": 4738,
      "loc": {
        "start": {
          "line": 177,
          "column": 33
        },
        "end": {
          "line": 177,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4738,
      "end": 4739,
      "loc": {
        "start": {
          "line": 177,
          "column": 41
        },
        "end": {
          "line": 177,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 4739,
      "end": 4739,
      "loc": {
        "start": {
          "line": 177,
          "column": 42
        },
        "end": {
          "line": 177,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4739,
      "end": 4740,
      "loc": {
        "start": {
          "line": 177,
          "column": 42
        },
        "end": {
          "line": 177,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4740,
      "end": 4741,
      "loc": {
        "start": {
          "line": 177,
          "column": 43
        },
        "end": {
          "line": 177,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4741,
      "end": 4742,
      "loc": {
        "start": {
          "line": 177,
          "column": 44
        },
        "end": {
          "line": 177,
          "column": 45
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " check for proxies, add them too",
      "start": 4748,
      "end": 4782,
      "loc": {
        "start": {
          "line": 179,
          "column": 4
        },
        "end": {
          "line": 179,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 4787,
      "end": 4795,
      "loc": {
        "start": {
          "line": 180,
          "column": 4
        },
        "end": {
          "line": 180,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4796,
      "end": 4797,
      "loc": {
        "start": {
          "line": 180,
          "column": 13
        },
        "end": {
          "line": 180,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getProxiedHooks",
      "start": 4798,
      "end": 4813,
      "loc": {
        "start": {
          "line": 180,
          "column": 15
        },
        "end": {
          "line": 180,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4813,
      "end": 4814,
      "loc": {
        "start": {
          "line": 180,
          "column": 30
        },
        "end": {
          "line": 180,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 4814,
      "end": 4822,
      "loc": {
        "start": {
          "line": 180,
          "column": 31
        },
        "end": {
          "line": 180,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4822,
      "end": 4823,
      "loc": {
        "start": {
          "line": 180,
          "column": 39
        },
        "end": {
          "line": 180,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4823,
      "end": 4824,
      "loc": {
        "start": {
          "line": 180,
          "column": 40
        },
        "end": {
          "line": 180,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 4830,
      "end": 4833,
      "loc": {
        "start": {
          "line": 182,
          "column": 4
        },
        "end": {
          "line": 182,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4834,
      "end": 4835,
      "loc": {
        "start": {
          "line": 182,
          "column": 8
        },
        "end": {
          "line": 182,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 4835,
      "end": 4840,
      "loc": {
        "start": {
          "line": 182,
          "column": 9
        },
        "end": {
          "line": 182,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 4841,
      "end": 4845,
      "loc": {
        "start": {
          "line": 182,
          "column": 15
        },
        "end": {
          "line": 182,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "of",
      "start": 4846,
      "end": 4848,
      "loc": {
        "start": {
          "line": 182,
          "column": 20
        },
        "end": {
          "line": 182,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 4849,
      "end": 4857,
      "loc": {
        "start": {
          "line": 182,
          "column": 23
        },
        "end": {
          "line": 182,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4857,
      "end": 4858,
      "loc": {
        "start": {
          "line": 182,
          "column": 31
        },
        "end": {
          "line": 182,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4859,
      "end": 4860,
      "loc": {
        "start": {
          "line": 182,
          "column": 33
        },
        "end": {
          "line": 182,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4867,
      "end": 4871,
      "loc": {
        "start": {
          "line": 183,
          "column": 6
        },
        "end": {
          "line": 183,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4871,
      "end": 4872,
      "loc": {
        "start": {
          "line": 183,
          "column": 10
        },
        "end": {
          "line": 183,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 4872,
      "end": 4879,
      "loc": {
        "start": {
          "line": 183,
          "column": 11
        },
        "end": {
          "line": 183,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4879,
      "end": 4880,
      "loc": {
        "start": {
          "line": 183,
          "column": 18
        },
        "end": {
          "line": 183,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 4880,
      "end": 4885,
      "loc": {
        "start": {
          "line": 183,
          "column": 19
        },
        "end": {
          "line": 183,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4885,
      "end": 4886,
      "loc": {
        "start": {
          "line": 183,
          "column": 24
        },
        "end": {
          "line": 183,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 4886,
      "end": 4890,
      "loc": {
        "start": {
          "line": 183,
          "column": 25
        },
        "end": {
          "line": 183,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4890,
      "end": 4891,
      "loc": {
        "start": {
          "line": 183,
          "column": 29
        },
        "end": {
          "line": 183,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4892,
      "end": 4893,
      "loc": {
        "start": {
          "line": 183,
          "column": 31
        },
        "end": {
          "line": 183,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4894,
      "end": 4898,
      "loc": {
        "start": {
          "line": 183,
          "column": 33
        },
        "end": {
          "line": 183,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4898,
      "end": 4899,
      "loc": {
        "start": {
          "line": 183,
          "column": 37
        },
        "end": {
          "line": 183,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 4899,
      "end": 4906,
      "loc": {
        "start": {
          "line": 183,
          "column": 38
        },
        "end": {
          "line": 183,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4906,
      "end": 4907,
      "loc": {
        "start": {
          "line": 183,
          "column": 45
        },
        "end": {
          "line": 183,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 4907,
      "end": 4912,
      "loc": {
        "start": {
          "line": 183,
          "column": 46
        },
        "end": {
          "line": 183,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4912,
      "end": 4913,
      "loc": {
        "start": {
          "line": 183,
          "column": 51
        },
        "end": {
          "line": 183,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 4913,
      "end": 4917,
      "loc": {
        "start": {
          "line": 183,
          "column": 52
        },
        "end": {
          "line": 183,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4917,
      "end": 4918,
      "loc": {
        "start": {
          "line": 183,
          "column": 56
        },
        "end": {
          "line": 183,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4918,
      "end": 4919,
      "loc": {
        "start": {
          "line": 183,
          "column": 57
        },
        "end": {
          "line": 183,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "filter",
      "start": 4919,
      "end": 4925,
      "loc": {
        "start": {
          "line": 183,
          "column": 58
        },
        "end": {
          "line": 183,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4925,
      "end": 4926,
      "loc": {
        "start": {
          "line": 183,
          "column": 64
        },
        "end": {
          "line": 183,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hook",
      "start": 4926,
      "end": 4930,
      "loc": {
        "start": {
          "line": 183,
          "column": 65
        },
        "end": {
          "line": 183,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4931,
      "end": 4933,
      "loc": {
        "start": {
          "line": 183,
          "column": 70
        },
        "end": {
          "line": 183,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4934,
      "end": 4935,
      "loc": {
        "start": {
          "line": 183,
          "column": 73
        },
        "end": {
          "line": 183,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4944,
      "end": 4946,
      "loc": {
        "start": {
          "line": 184,
          "column": 8
        },
        "end": {
          "line": 184,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4947,
      "end": 4948,
      "loc": {
        "start": {
          "line": 184,
          "column": 11
        },
        "end": {
          "line": 184,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isReference",
      "start": 4948,
      "end": 4959,
      "loc": {
        "start": {
          "line": 184,
          "column": 12
        },
        "end": {
          "line": 184,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 4960,
      "end": 4962,
      "loc": {
        "start": {
          "line": 184,
          "column": 24
        },
        "end": {
          "line": 184,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "typeof",
        "keyword": "typeof",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "typeof",
      "start": 4963,
      "end": 4969,
      "loc": {
        "start": {
          "line": 184,
          "column": 27
        },
        "end": {
          "line": 184,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hook",
      "start": 4970,
      "end": 4974,
      "loc": {
        "start": {
          "line": 184,
          "column": 34
        },
        "end": {
          "line": 184,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4975,
      "end": 4978,
      "loc": {
        "start": {
          "line": 184,
          "column": 39
        },
        "end": {
          "line": 184,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "function",
      "start": 4979,
      "end": 4989,
      "loc": {
        "start": {
          "line": 184,
          "column": 43
        },
        "end": {
          "line": 184,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4989,
      "end": 4990,
      "loc": {
        "start": {
          "line": 184,
          "column": 53
        },
        "end": {
          "line": 184,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4991,
      "end": 4992,
      "loc": {
        "start": {
          "line": 184,
          "column": 55
        },
        "end": {
          "line": 184,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 5003,
      "end": 5009,
      "loc": {
        "start": {
          "line": 185,
          "column": 10
        },
        "end": {
          "line": 185,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hook",
      "start": 5010,
      "end": 5014,
      "loc": {
        "start": {
          "line": 185,
          "column": 17
        },
        "end": {
          "line": 185,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 5015,
      "end": 5018,
      "loc": {
        "start": {
          "line": 185,
          "column": 22
        },
        "end": {
          "line": 185,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 5019,
      "end": 5023,
      "loc": {
        "start": {
          "line": 185,
          "column": 26
        },
        "end": {
          "line": 185,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5023,
      "end": 5024,
      "loc": {
        "start": {
          "line": 185,
          "column": 30
        },
        "end": {
          "line": 185,
          "column": 31
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " check if same method",
      "start": 5025,
      "end": 5048,
      "loc": {
        "start": {
          "line": 185,
          "column": 32
        },
        "end": {
          "line": 185,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5057,
      "end": 5058,
      "loc": {
        "start": {
          "line": 186,
          "column": 8
        },
        "end": {
          "line": 186,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 5059,
      "end": 5063,
      "loc": {
        "start": {
          "line": 186,
          "column": 10
        },
        "end": {
          "line": 186,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5064,
      "end": 5065,
      "loc": {
        "start": {
          "line": 186,
          "column": 15
        },
        "end": {
          "line": 186,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 5076,
      "end": 5082,
      "loc": {
        "start": {
          "line": 187,
          "column": 10
        },
        "end": {
          "line": 187,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "typeof",
        "keyword": "typeof",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "typeof",
      "start": 5083,
      "end": 5089,
      "loc": {
        "start": {
          "line": 187,
          "column": 17
        },
        "end": {
          "line": 187,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hook",
      "start": 5090,
      "end": 5094,
      "loc": {
        "start": {
          "line": 187,
          "column": 24
        },
        "end": {
          "line": 187,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 5095,
      "end": 5098,
      "loc": {
        "start": {
          "line": 187,
          "column": 29
        },
        "end": {
          "line": 187,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "object",
      "start": 5099,
      "end": 5107,
      "loc": {
        "start": {
          "line": 187,
          "column": 33
        },
        "end": {
          "line": 187,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 5108,
      "end": 5110,
      "loc": {
        "start": {
          "line": 187,
          "column": 42
        },
        "end": {
          "line": 187,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hook",
      "start": 5111,
      "end": 5115,
      "loc": {
        "start": {
          "line": 187,
          "column": 45
        },
        "end": {
          "line": 187,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5115,
      "end": 5116,
      "loc": {
        "start": {
          "line": 187,
          "column": 49
        },
        "end": {
          "line": 187,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 5116,
      "end": 5120,
      "loc": {
        "start": {
          "line": 187,
          "column": 50
        },
        "end": {
          "line": 187,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 5121,
      "end": 5124,
      "loc": {
        "start": {
          "line": 187,
          "column": 55
        },
        "end": {
          "line": 187,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 5125,
      "end": 5129,
      "loc": {
        "start": {
          "line": 187,
          "column": 59
        },
        "end": {
          "line": 187,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5129,
      "end": 5130,
      "loc": {
        "start": {
          "line": 187,
          "column": 63
        },
        "end": {
          "line": 187,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5139,
      "end": 5140,
      "loc": {
        "start": {
          "line": 188,
          "column": 8
        },
        "end": {
          "line": 188,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5147,
      "end": 5148,
      "loc": {
        "start": {
          "line": 189,
          "column": 6
        },
        "end": {
          "line": 189,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5148,
      "end": 5149,
      "loc": {
        "start": {
          "line": 189,
          "column": 7
        },
        "end": {
          "line": 189,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5149,
      "end": 5150,
      "loc": {
        "start": {
          "line": 189,
          "column": 8
        },
        "end": {
          "line": 189,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5155,
      "end": 5156,
      "loc": {
        "start": {
          "line": 190,
          "column": 4
        },
        "end": {
          "line": 190,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 5162,
      "end": 5168,
      "loc": {
        "start": {
          "line": 192,
          "column": 4
        },
        "end": {
          "line": 192,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5169,
      "end": 5173,
      "loc": {
        "start": {
          "line": 192,
          "column": 11
        },
        "end": {
          "line": 192,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5173,
      "end": 5174,
      "loc": {
        "start": {
          "line": 192,
          "column": 15
        },
        "end": {
          "line": 192,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5177,
      "end": 5178,
      "loc": {
        "start": {
          "line": 193,
          "column": 2
        },
        "end": {
          "line": 193,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5178,
      "end": 5179,
      "loc": {
        "start": {
          "line": 193,
          "column": 3
        },
        "end": {
          "line": 193,
          "column": 4
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * Check whether the mode has any hooks of this type\n   *\n   * @param {String}  hookType\n   *\n   * @alias hasHooks\n   * @memberOf Sequelize\n   * @memberOf Sequelize.Model\n   ",
      "start": 5183,
      "end": 5365,
      "loc": {
        "start": {
          "line": 195,
          "column": 2
        },
        "end": {
          "line": 203,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasHook",
      "start": 5368,
      "end": 5375,
      "loc": {
        "start": {
          "line": 204,
          "column": 2
        },
        "end": {
          "line": 204,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5375,
      "end": 5376,
      "loc": {
        "start": {
          "line": 204,
          "column": 9
        },
        "end": {
          "line": 204,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 5376,
      "end": 5384,
      "loc": {
        "start": {
          "line": 204,
          "column": 10
        },
        "end": {
          "line": 204,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5384,
      "end": 5385,
      "loc": {
        "start": {
          "line": 204,
          "column": 18
        },
        "end": {
          "line": 204,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5386,
      "end": 5387,
      "loc": {
        "start": {
          "line": 204,
          "column": 20
        },
        "end": {
          "line": 204,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 5392,
      "end": 5398,
      "loc": {
        "start": {
          "line": 205,
          "column": 4
        },
        "end": {
          "line": 205,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5399,
      "end": 5403,
      "loc": {
        "start": {
          "line": 205,
          "column": 11
        },
        "end": {
          "line": 205,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5403,
      "end": 5404,
      "loc": {
        "start": {
          "line": 205,
          "column": 15
        },
        "end": {
          "line": 205,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 5404,
      "end": 5411,
      "loc": {
        "start": {
          "line": 205,
          "column": 16
        },
        "end": {
          "line": 205,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5411,
      "end": 5412,
      "loc": {
        "start": {
          "line": 205,
          "column": 23
        },
        "end": {
          "line": 205,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 5412,
      "end": 5417,
      "loc": {
        "start": {
          "line": 205,
          "column": 24
        },
        "end": {
          "line": 205,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5417,
      "end": 5418,
      "loc": {
        "start": {
          "line": 205,
          "column": 29
        },
        "end": {
          "line": 205,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 5418,
      "end": 5426,
      "loc": {
        "start": {
          "line": 205,
          "column": 30
        },
        "end": {
          "line": 205,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5426,
      "end": 5427,
      "loc": {
        "start": {
          "line": 205,
          "column": 38
        },
        "end": {
          "line": 205,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 5428,
      "end": 5430,
      "loc": {
        "start": {
          "line": 205,
          "column": 40
        },
        "end": {
          "line": 205,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 5431,
      "end": 5432,
      "loc": {
        "start": {
          "line": 205,
          "column": 43
        },
        "end": {
          "line": 205,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 5432,
      "end": 5433,
      "loc": {
        "start": {
          "line": 205,
          "column": 44
        },
        "end": {
          "line": 205,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5433,
      "end": 5437,
      "loc": {
        "start": {
          "line": 205,
          "column": 45
        },
        "end": {
          "line": 205,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5437,
      "end": 5438,
      "loc": {
        "start": {
          "line": 205,
          "column": 49
        },
        "end": {
          "line": 205,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 5438,
      "end": 5445,
      "loc": {
        "start": {
          "line": 205,
          "column": 50
        },
        "end": {
          "line": 205,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5445,
      "end": 5446,
      "loc": {
        "start": {
          "line": 205,
          "column": 57
        },
        "end": {
          "line": 205,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hooks",
      "start": 5446,
      "end": 5451,
      "loc": {
        "start": {
          "line": 205,
          "column": 58
        },
        "end": {
          "line": 205,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5451,
      "end": 5452,
      "loc": {
        "start": {
          "line": 205,
          "column": 63
        },
        "end": {
          "line": 205,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookType",
      "start": 5452,
      "end": 5460,
      "loc": {
        "start": {
          "line": 205,
          "column": 64
        },
        "end": {
          "line": 205,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5460,
      "end": 5461,
      "loc": {
        "start": {
          "line": 205,
          "column": 72
        },
        "end": {
          "line": 205,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5461,
      "end": 5462,
      "loc": {
        "start": {
          "line": 205,
          "column": 73
        },
        "end": {
          "line": 205,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 5462,
      "end": 5468,
      "loc": {
        "start": {
          "line": 205,
          "column": 74
        },
        "end": {
          "line": 205,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5468,
      "end": 5469,
      "loc": {
        "start": {
          "line": 205,
          "column": 80
        },
        "end": {
          "line": 205,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5472,
      "end": 5473,
      "loc": {
        "start": {
          "line": 206,
          "column": 2
        },
        "end": {
          "line": 206,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5474,
      "end": 5475,
      "loc": {
        "start": {
          "line": 207,
          "column": 0
        },
        "end": {
          "line": 207,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5475,
      "end": 5476,
      "loc": {
        "start": {
          "line": 207,
          "column": 1
        },
        "end": {
          "line": 207,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Hooks",
      "start": 5477,
      "end": 5482,
      "loc": {
        "start": {
          "line": 208,
          "column": 0
        },
        "end": {
          "line": 208,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5482,
      "end": 5483,
      "loc": {
        "start": {
          "line": 208,
          "column": 5
        },
        "end": {
          "line": 208,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasHooks",
      "start": 5483,
      "end": 5491,
      "loc": {
        "start": {
          "line": 208,
          "column": 6
        },
        "end": {
          "line": 208,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5492,
      "end": 5493,
      "loc": {
        "start": {
          "line": 208,
          "column": 15
        },
        "end": {
          "line": 208,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Hooks",
      "start": 5494,
      "end": 5499,
      "loc": {
        "start": {
          "line": 208,
          "column": 17
        },
        "end": {
          "line": 208,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5499,
      "end": 5500,
      "loc": {
        "start": {
          "line": 208,
          "column": 22
        },
        "end": {
          "line": 208,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasHook",
      "start": 5500,
      "end": 5507,
      "loc": {
        "start": {
          "line": 208,
          "column": 23
        },
        "end": {
          "line": 208,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5507,
      "end": 5508,
      "loc": {
        "start": {
          "line": 208,
          "column": 30
        },
        "end": {
          "line": 208,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 5511,
      "end": 5519,
      "loc": {
        "start": {
          "line": 211,
          "column": 0
        },
        "end": {
          "line": 211,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "applyTo",
      "start": 5520,
      "end": 5527,
      "loc": {
        "start": {
          "line": 211,
          "column": 9
        },
        "end": {
          "line": 211,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5527,
      "end": 5528,
      "loc": {
        "start": {
          "line": 211,
          "column": 16
        },
        "end": {
          "line": 211,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5528,
      "end": 5534,
      "loc": {
        "start": {
          "line": 211,
          "column": 17
        },
        "end": {
          "line": 211,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5534,
      "end": 5535,
      "loc": {
        "start": {
          "line": 211,
          "column": 23
        },
        "end": {
          "line": 211,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5536,
      "end": 5537,
      "loc": {
        "start": {
          "line": 211,
          "column": 25
        },
        "end": {
          "line": 211,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Utils",
      "start": 5540,
      "end": 5545,
      "loc": {
        "start": {
          "line": 212,
          "column": 2
        },
        "end": {
          "line": 212,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5545,
      "end": 5546,
      "loc": {
        "start": {
          "line": 212,
          "column": 7
        },
        "end": {
          "line": 212,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_",
      "start": 5546,
      "end": 5547,
      "loc": {
        "start": {
          "line": 212,
          "column": 8
        },
        "end": {
          "line": 212,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5547,
      "end": 5548,
      "loc": {
        "start": {
          "line": 212,
          "column": 9
        },
        "end": {
          "line": 212,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mixin",
      "start": 5548,
      "end": 5553,
      "loc": {
        "start": {
          "line": 212,
          "column": 10
        },
        "end": {
          "line": 212,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5553,
      "end": 5554,
      "loc": {
        "start": {
          "line": 212,
          "column": 15
        },
        "end": {
          "line": 212,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5554,
      "end": 5560,
      "loc": {
        "start": {
          "line": 212,
          "column": 16
        },
        "end": {
          "line": 212,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5560,
      "end": 5561,
      "loc": {
        "start": {
          "line": 212,
          "column": 22
        },
        "end": {
          "line": 212,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Hooks",
      "start": 5562,
      "end": 5567,
      "loc": {
        "start": {
          "line": 212,
          "column": 24
        },
        "end": {
          "line": 212,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5567,
      "end": 5568,
      "loc": {
        "start": {
          "line": 212,
          "column": 29
        },
        "end": {
          "line": 212,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5568,
      "end": 5569,
      "loc": {
        "start": {
          "line": 212,
          "column": 30
        },
        "end": {
          "line": 212,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 5573,
      "end": 5578,
      "loc": {
        "start": {
          "line": 214,
          "column": 2
        },
        "end": {
          "line": 214,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "allHooks",
      "start": 5579,
      "end": 5587,
      "loc": {
        "start": {
          "line": 214,
          "column": 8
        },
        "end": {
          "line": 214,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5588,
      "end": 5589,
      "loc": {
        "start": {
          "line": 214,
          "column": 17
        },
        "end": {
          "line": 214,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Object",
      "start": 5590,
      "end": 5596,
      "loc": {
        "start": {
          "line": 214,
          "column": 19
        },
        "end": {
          "line": 214,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5596,
      "end": 5597,
      "loc": {
        "start": {
          "line": 214,
          "column": 25
        },
        "end": {
          "line": 214,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "keys",
      "start": 5597,
      "end": 5601,
      "loc": {
        "start": {
          "line": 214,
          "column": 26
        },
        "end": {
          "line": 214,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5601,
      "end": 5602,
      "loc": {
        "start": {
          "line": 214,
          "column": 30
        },
        "end": {
          "line": 214,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookTypes",
      "start": 5602,
      "end": 5611,
      "loc": {
        "start": {
          "line": 214,
          "column": 31
        },
        "end": {
          "line": 214,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5611,
      "end": 5612,
      "loc": {
        "start": {
          "line": 214,
          "column": 40
        },
        "end": {
          "line": 214,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5612,
      "end": 5613,
      "loc": {
        "start": {
          "line": 214,
          "column": 41
        },
        "end": {
          "line": 214,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "concat",
      "start": 5613,
      "end": 5619,
      "loc": {
        "start": {
          "line": 214,
          "column": 42
        },
        "end": {
          "line": 214,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5619,
      "end": 5620,
      "loc": {
        "start": {
          "line": 214,
          "column": 48
        },
        "end": {
          "line": 214,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Object",
      "start": 5620,
      "end": 5626,
      "loc": {
        "start": {
          "line": 214,
          "column": 49
        },
        "end": {
          "line": 214,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5626,
      "end": 5627,
      "loc": {
        "start": {
          "line": 214,
          "column": 55
        },
        "end": {
          "line": 214,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "keys",
      "start": 5627,
      "end": 5631,
      "loc": {
        "start": {
          "line": 214,
          "column": 56
        },
        "end": {
          "line": 214,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5631,
      "end": 5632,
      "loc": {
        "start": {
          "line": 214,
          "column": 60
        },
        "end": {
          "line": 214,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hookAliases",
      "start": 5632,
      "end": 5643,
      "loc": {
        "start": {
          "line": 214,
          "column": 61
        },
        "end": {
          "line": 214,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5643,
      "end": 5644,
      "loc": {
        "start": {
          "line": 214,
          "column": 72
        },
        "end": {
          "line": 214,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5644,
      "end": 5645,
      "loc": {
        "start": {
          "line": 214,
          "column": 73
        },
        "end": {
          "line": 214,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5645,
      "end": 5646,
      "loc": {
        "start": {
          "line": 214,
          "column": 74
        },
        "end": {
          "line": 214,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 5649,
      "end": 5652,
      "loc": {
        "start": {
          "line": 215,
          "column": 2
        },
        "end": {
          "line": 215,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5653,
      "end": 5654,
      "loc": {
        "start": {
          "line": 215,
          "column": 6
        },
        "end": {
          "line": 215,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 5654,
      "end": 5659,
      "loc": {
        "start": {
          "line": 215,
          "column": 7
        },
        "end": {
          "line": 215,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hook",
      "start": 5660,
      "end": 5664,
      "loc": {
        "start": {
          "line": 215,
          "column": 13
        },
        "end": {
          "line": 215,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "of",
      "start": 5665,
      "end": 5667,
      "loc": {
        "start": {
          "line": 215,
          "column": 18
        },
        "end": {
          "line": 215,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "allHooks",
      "start": 5668,
      "end": 5676,
      "loc": {
        "start": {
          "line": 215,
          "column": 21
        },
        "end": {
          "line": 215,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5676,
      "end": 5677,
      "loc": {
        "start": {
          "line": 215,
          "column": 29
        },
        "end": {
          "line": 215,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5678,
      "end": 5679,
      "loc": {
        "start": {
          "line": 215,
          "column": 31
        },
        "end": {
          "line": 215,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5684,
      "end": 5690,
      "loc": {
        "start": {
          "line": 216,
          "column": 4
        },
        "end": {
          "line": 216,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5690,
      "end": 5691,
      "loc": {
        "start": {
          "line": 216,
          "column": 10
        },
        "end": {
          "line": 216,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hook",
      "start": 5691,
      "end": 5695,
      "loc": {
        "start": {
          "line": 216,
          "column": 11
        },
        "end": {
          "line": 216,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5695,
      "end": 5696,
      "loc": {
        "start": {
          "line": 216,
          "column": 15
        },
        "end": {
          "line": 216,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5697,
      "end": 5698,
      "loc": {
        "start": {
          "line": 216,
          "column": 17
        },
        "end": {
          "line": 216,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 5699,
      "end": 5707,
      "loc": {
        "start": {
          "line": 216,
          "column": 19
        },
        "end": {
          "line": 216,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5707,
      "end": 5708,
      "loc": {
        "start": {
          "line": 216,
          "column": 27
        },
        "end": {
          "line": 216,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 5708,
      "end": 5712,
      "loc": {
        "start": {
          "line": 216,
          "column": 28
        },
        "end": {
          "line": 216,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5712,
      "end": 5713,
      "loc": {
        "start": {
          "line": 216,
          "column": 32
        },
        "end": {
          "line": 216,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "callback",
      "start": 5714,
      "end": 5722,
      "loc": {
        "start": {
          "line": 216,
          "column": 34
        },
        "end": {
          "line": 216,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5722,
      "end": 5723,
      "loc": {
        "start": {
          "line": 216,
          "column": 42
        },
        "end": {
          "line": 216,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5724,
      "end": 5725,
      "loc": {
        "start": {
          "line": 216,
          "column": 44
        },
        "end": {
          "line": 216,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 5732,
      "end": 5738,
      "loc": {
        "start": {
          "line": 217,
          "column": 6
        },
        "end": {
          "line": 217,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5739,
      "end": 5743,
      "loc": {
        "start": {
          "line": 217,
          "column": 13
        },
        "end": {
          "line": 217,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5743,
      "end": 5744,
      "loc": {
        "start": {
          "line": 217,
          "column": 17
        },
        "end": {
          "line": 217,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addHook",
      "start": 5744,
      "end": 5751,
      "loc": {
        "start": {
          "line": 217,
          "column": 18
        },
        "end": {
          "line": 217,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5751,
      "end": 5752,
      "loc": {
        "start": {
          "line": 217,
          "column": 25
        },
        "end": {
          "line": 217,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hook",
      "start": 5752,
      "end": 5756,
      "loc": {
        "start": {
          "line": 217,
          "column": 26
        },
        "end": {
          "line": 217,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5756,
      "end": 5757,
      "loc": {
        "start": {
          "line": 217,
          "column": 30
        },
        "end": {
          "line": 217,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 5758,
      "end": 5762,
      "loc": {
        "start": {
          "line": 217,
          "column": 32
        },
        "end": {
          "line": 217,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5762,
      "end": 5763,
      "loc": {
        "start": {
          "line": 217,
          "column": 36
        },
        "end": {
          "line": 217,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "callback",
      "start": 5764,
      "end": 5772,
      "loc": {
        "start": {
          "line": 217,
          "column": 38
        },
        "end": {
          "line": 217,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5772,
      "end": 5773,
      "loc": {
        "start": {
          "line": 217,
          "column": 46
        },
        "end": {
          "line": 217,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5773,
      "end": 5774,
      "loc": {
        "start": {
          "line": 217,
          "column": 47
        },
        "end": {
          "line": 217,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5779,
      "end": 5780,
      "loc": {
        "start": {
          "line": 218,
          "column": 4
        },
        "end": {
          "line": 218,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5780,
      "end": 5781,
      "loc": {
        "start": {
          "line": 218,
          "column": 5
        },
        "end": {
          "line": 218,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5784,
      "end": 5785,
      "loc": {
        "start": {
          "line": 219,
          "column": 2
        },
        "end": {
          "line": 219,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5786,
      "end": 5787,
      "loc": {
        "start": {
          "line": 220,
          "column": 0
        },
        "end": {
          "line": 220,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exports",
      "start": 5788,
      "end": 5795,
      "loc": {
        "start": {
          "line": 221,
          "column": 0
        },
        "end": {
          "line": 221,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5795,
      "end": 5796,
      "loc": {
        "start": {
          "line": 221,
          "column": 7
        },
        "end": {
          "line": 221,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "applyTo",
      "start": 5796,
      "end": 5803,
      "loc": {
        "start": {
          "line": 221,
          "column": 8
        },
        "end": {
          "line": 221,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5804,
      "end": 5805,
      "loc": {
        "start": {
          "line": 221,
          "column": 16
        },
        "end": {
          "line": 221,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "applyTo",
      "start": 5806,
      "end": 5813,
      "loc": {
        "start": {
          "line": 221,
          "column": 18
        },
        "end": {
          "line": 221,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5813,
      "end": 5814,
      "loc": {
        "start": {
          "line": 221,
          "column": 25
        },
        "end": {
          "line": 221,
          "column": 26
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before validation\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options\n * @name beforeValidate\n * @memberOf Sequelize.Model\n ",
      "start": 5816,
      "end": 6026,
      "loc": {
        "start": {
          "line": 223,
          "column": 0
        },
        "end": {
          "line": 229,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after validation\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options\n * @name afterValidate\n * @memberOf Sequelize.Model\n ",
      "start": 6028,
      "end": 6236,
      "loc": {
        "start": {
          "line": 231,
          "column": 0
        },
        "end": {
          "line": 237,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run when validation fails\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options, error. Error is the\n * SequelizeValidationError. If the callback throws an error, it will replace the original validation error.\n * @name validationFailed\n * @memberOf Sequelize.Model\n ",
      "start": 6238,
      "end": 6584,
      "loc": {
        "start": {
          "line": 239,
          "column": 0
        },
        "end": {
          "line": 246,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before creating a single instance\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with attributes, options\n * @name beforeCreate\n * @memberOf Sequelize.Model\n ",
      "start": 6586,
      "end": 6812,
      "loc": {
        "start": {
          "line": 248,
          "column": 0
        },
        "end": {
          "line": 254,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after creating a single instance\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with attributes, options\n * @name afterCreate\n * @memberOf Sequelize.Model\n ",
      "start": 6814,
      "end": 7038,
      "loc": {
        "start": {
          "line": 256,
          "column": 0
        },
        "end": {
          "line": 262,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before creating or updating a single instance, It proxies `beforeCreate` and `beforeUpdate`\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with attributes, options\n * @name beforeSave\n * @memberOf Sequelize.Model\n ",
      "start": 7040,
      "end": 7322,
      "loc": {
        "start": {
          "line": 264,
          "column": 0
        },
        "end": {
          "line": 270,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before upserting\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with attributes, options\n * @name beforeUpsert\n * @memberOf Sequelize.Model\n ",
      "start": 7324,
      "end": 7533,
      "loc": {
        "start": {
          "line": 272,
          "column": 0
        },
        "end": {
          "line": 278,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after upserting\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with attributes, options\n * @name afterUpsert\n * @memberOf Sequelize.Model\n ",
      "start": 7535,
      "end": 7742,
      "loc": {
        "start": {
          "line": 280,
          "column": 0
        },
        "end": {
          "line": 286,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n  * A hook that is run after creating or updating a single instance, It proxies `afterCreate` and `afterUpdate`\n  * @param {String}   name\n  * @param {Function} fn   A callback function that is called with attributes, options\n  * @name afterSave\n  * @memberOf Sequelize.Model\n  ",
      "start": 7745,
      "end": 8029,
      "loc": {
        "start": {
          "line": 288,
          "column": 1
        },
        "end": {
          "line": 294,
          "column": 4
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before destroying a single instance\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options\n *\n * @name beforeDestroy\n * @alias beforeDelete\n * @memberOf Sequelize.Model\n ",
      "start": 8031,
      "end": 8284,
      "loc": {
        "start": {
          "line": 296,
          "column": 0
        },
        "end": {
          "line": 304,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after destroying a single instance\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options\n *\n * @name afterDestroy\n * @alias afterDelete\n * @memberOf Sequelize.Model\n ",
      "start": 8286,
      "end": 8536,
      "loc": {
        "start": {
          "line": 306,
          "column": 0
        },
        "end": {
          "line": 314,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before restoring a single instance\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options\n *\n * @name beforeRestore\n * @memberOf Sequelize.Model\n ",
      "start": 8538,
      "end": 8767,
      "loc": {
        "start": {
          "line": 316,
          "column": 0
        },
        "end": {
          "line": 323,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after restoring a single instance\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options\n *\n * @name afterRestore\n * @memberOf Sequelize.Model\n ",
      "start": 8769,
      "end": 8996,
      "loc": {
        "start": {
          "line": 325,
          "column": 0
        },
        "end": {
          "line": 332,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before updating a single instance\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options\n * @name beforeUpdate\n * @memberOf Sequelize.Model\n ",
      "start": 8998,
      "end": 9222,
      "loc": {
        "start": {
          "line": 334,
          "column": 0
        },
        "end": {
          "line": 340,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after updating a single instance\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance, options\n * @name afterUpdate\n * @memberOf Sequelize.Model\n ",
      "start": 9224,
      "end": 9446,
      "loc": {
        "start": {
          "line": 342,
          "column": 0
        },
        "end": {
          "line": 348,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before creating instances in bulk\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instances, options\n * @name beforeBulkCreate\n * @memberOf Sequelize.Model\n ",
      "start": 9448,
      "end": 9677,
      "loc": {
        "start": {
          "line": 350,
          "column": 0
        },
        "end": {
          "line": 356,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after creating instances in bulk\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instances, options\n * @name afterBulkCreate\n * @memberOf Sequelize.Model\n ",
      "start": 9679,
      "end": 9906,
      "loc": {
        "start": {
          "line": 358,
          "column": 0
        },
        "end": {
          "line": 364,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before destroying instances in bulk\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n *\n * @name beforeBulkDestroy\n * @alias beforeBulkDelete\n * @memberOf Sequelize.Model\n ",
      "start": 9908,
      "end": 10159,
      "loc": {
        "start": {
          "line": 366,
          "column": 0
        },
        "end": {
          "line": 374,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after destroying instances in bulk\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n *\n * @name afterBulkDestroy\n * @alias afterBulkDelete\n * @memberOf Sequelize.Model\n ",
      "start": 10161,
      "end": 10409,
      "loc": {
        "start": {
          "line": 376,
          "column": 0
        },
        "end": {
          "line": 384,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before restoring instances in bulk\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n *\n * @name beforeBulkRestore\n * @memberOf Sequelize.Model\n ",
      "start": 10411,
      "end": 10634,
      "loc": {
        "start": {
          "line": 386,
          "column": 0
        },
        "end": {
          "line": 393,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after restoring instances in bulk\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n *\n * @name afterBulkRestore\n * @memberOf Sequelize.Model\n ",
      "start": 10636,
      "end": 10857,
      "loc": {
        "start": {
          "line": 395,
          "column": 0
        },
        "end": {
          "line": 402,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before updating instances in bulk\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n * @name beforeBulkUpdate\n * @memberOf Sequelize.Model\n ",
      "start": 10859,
      "end": 11077,
      "loc": {
        "start": {
          "line": 404,
          "column": 0
        },
        "end": {
          "line": 410,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after updating instances in bulk\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n * @name afterBulkUpdate\n * @memberOf Sequelize.Model\n ",
      "start": 11079,
      "end": 11295,
      "loc": {
        "start": {
          "line": 412,
          "column": 0
        },
        "end": {
          "line": 418,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before a find (select) query\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n * @name beforeFind\n * @memberOf Sequelize.Model\n ",
      "start": 11297,
      "end": 11504,
      "loc": {
        "start": {
          "line": 420,
          "column": 0
        },
        "end": {
          "line": 426,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before a find (select) query, after any { include: {all: ...} } options are expanded\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n * @name beforeFindAfterExpandIncludeAll\n * @memberOf Sequelize.Model\n ",
      "start": 11506,
      "end": 11790,
      "loc": {
        "start": {
          "line": 428,
          "column": 0
        },
        "end": {
          "line": 434,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before a find (select) query, after all option parsing is complete\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n * @name beforeFindAfterOptions\n * @memberOf Sequelize.Model\n ",
      "start": 11792,
      "end": 12049,
      "loc": {
        "start": {
          "line": 436,
          "column": 0
        },
        "end": {
          "line": 442,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after a find (select) query\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with instance(s), options\n * @name afterFind\n * @memberOf Sequelize.Model\n ",
      "start": 12051,
      "end": 12269,
      "loc": {
        "start": {
          "line": 444,
          "column": 0
        },
        "end": {
          "line": 450,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before a count query\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options\n * @name beforeCount\n * @memberOf Sequelize.Model\n ",
      "start": 12271,
      "end": 12471,
      "loc": {
        "start": {
          "line": 452,
          "column": 0
        },
        "end": {
          "line": 458,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before a define call\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with attributes, options\n * @name beforeDefine\n * @memberOf Sequelize\n ",
      "start": 12473,
      "end": 12680,
      "loc": {
        "start": {
          "line": 460,
          "column": 0
        },
        "end": {
          "line": 466,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after a define call\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with factory\n * @name afterDefine\n * @memberOf Sequelize\n ",
      "start": 12682,
      "end": 12875,
      "loc": {
        "start": {
          "line": 468,
          "column": 0
        },
        "end": {
          "line": 474,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before Sequelize() call\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with config, options\n * @name beforeInit\n * @memberOf Sequelize\n ",
      "start": 12877,
      "end": 13081,
      "loc": {
        "start": {
          "line": 476,
          "column": 0
        },
        "end": {
          "line": 482,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after Sequelize() call\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with sequelize\n * @name afterInit\n * @memberOf Sequelize\n ",
      "start": 13083,
      "end": 13279,
      "loc": {
        "start": {
          "line": 484,
          "column": 0
        },
        "end": {
          "line": 490,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before a connection is created\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with config passed to connection\n * @name beforeConnect\n * @memberOf Sequelize\n ",
      "start": 13281,
      "end": 13507,
      "loc": {
        "start": {
          "line": 492,
          "column": 0
        },
        "end": {
          "line": 498,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after a connection is created\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with the connection object and thye config passed to connection\n * @name afterConnect\n * @memberOf Sequelize\n ",
      "start": 13509,
      "end": 13764,
      "loc": {
        "start": {
          "line": 500,
          "column": 0
        },
        "end": {
          "line": 506,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run before Model.sync call\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options passed to Model.sync\n * @name beforeSync\n * @memberOf Sequelize\n ",
      "start": 13766,
      "end": 13982,
      "loc": {
        "start": {
          "line": 508,
          "column": 0
        },
        "end": {
          "line": 514,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A hook that is run after Model.sync call\n * @param {String}   name\n * @param {Function} fn   A callback function that is called with options passed to Model.sync\n * @name afterSync\n * @memberOf Sequelize\n ",
      "start": 13984,
      "end": 14198,
      "loc": {
        "start": {
          "line": 516,
          "column": 0
        },
        "end": {
          "line": 522,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n  * A hook that is run before sequelize.sync call\n  * @param {String}   name\n  * @param {Function} fn   A callback function that is called with options passed to sequelize.sync\n  * @name beforeBulkSync\n  * @memberOf Sequelize\n  ",
      "start": 14201,
      "end": 14435,
      "loc": {
        "start": {
          "line": 524,
          "column": 1
        },
        "end": {
          "line": 530,
          "column": 4
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n  * A hook that is run after sequelize.sync call\n  * @param {String}   name\n  * @param {Function} fn   A callback function that is called with options passed to sequelize.sync\n  * @name afterBulkSync\n  * @memberOf Sequelize\n  ",
      "start": 14438,
      "end": 14670,
      "loc": {
        "start": {
          "line": 532,
          "column": 1
        },
        "end": {
          "line": 538,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 14671,
      "end": 14671,
      "loc": {
        "start": {
          "line": 539,
          "column": 0
        },
        "end": {
          "line": 539,
          "column": 0
        }
      }
    }
  ]
}