{
  "type": "File",
  "start": 0,
  "end": 360,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 12,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 360,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 12,
        "column": 0
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "VariableDeclaration",
        "start": 15,
        "end": 53,
        "loc": {
          "start": {
            "line": 3,
            "column": 0
          },
          "end": {
            "line": 3,
            "column": 38
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 21,
            "end": 52,
            "loc": {
              "start": {
                "line": 3,
                "column": 6
              },
              "end": {
                "line": 3,
                "column": 37
              }
            },
            "id": {
              "type": "Identifier",
              "start": 21,
              "end": 32,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 6
                },
                "end": {
                  "line": 3,
                  "column": 17
                },
                "identifierName": "Association"
              },
              "name": "Association"
            },
            "init": {
              "type": "CallExpression",
              "start": 35,
              "end": 52,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 20
                },
                "end": {
                  "line": 3,
                  "column": 37
                }
              },
              "callee": {
                "type": "Identifier",
                "start": 35,
                "end": 42,
                "loc": {
                  "start": {
                    "line": 3,
                    "column": 20
                  },
                  "end": {
                    "line": 3,
                    "column": 27
                  },
                  "identifierName": "require"
                },
                "name": "require"
              },
              "arguments": [
                {
                  "type": "StringLiteral",
                  "start": 43,
                  "end": 51,
                  "loc": {
                    "start": {
                      "line": 3,
                      "column": 28
                    },
                    "end": {
                      "line": 3,
                      "column": 36
                    }
                  },
                  "extra": {
                    "rawValue": "./base",
                    "raw": "'./base'"
                  },
                  "value": "./base"
                }
              ]
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "ExpressionStatement",
        "start": 54,
        "end": 102,
        "loc": {
          "start": {
            "line": 4,
            "column": 0
          },
          "end": {
            "line": 4,
            "column": 48
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 54,
          "end": 101,
          "loc": {
            "start": {
              "line": 4,
              "column": 0
            },
            "end": {
              "line": 4,
              "column": 47
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 54,
            "end": 75,
            "loc": {
              "start": {
                "line": 4,
                "column": 0
              },
              "end": {
                "line": 4,
                "column": 21
              }
            },
            "object": {
              "type": "Identifier",
              "start": 54,
              "end": 65,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 0
                },
                "end": {
                  "line": 4,
                  "column": 11
                },
                "identifierName": "Association"
              },
              "name": "Association"
            },
            "property": {
              "type": "Identifier",
              "start": 66,
              "end": 75,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 12
                },
                "end": {
                  "line": 4,
                  "column": 21
                },
                "identifierName": "BelongsTo"
              },
              "name": "BelongsTo"
            },
            "computed": false
          },
          "right": {
            "type": "CallExpression",
            "start": 78,
            "end": 101,
            "loc": {
              "start": {
                "line": 4,
                "column": 24
              },
              "end": {
                "line": 4,
                "column": 47
              }
            },
            "callee": {
              "type": "Identifier",
              "start": 78,
              "end": 85,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 24
                },
                "end": {
                  "line": 4,
                  "column": 31
                },
                "identifierName": "require"
              },
              "name": "require"
            },
            "arguments": [
              {
                "type": "StringLiteral",
                "start": 86,
                "end": 100,
                "loc": {
                  "start": {
                    "line": 4,
                    "column": 32
                  },
                  "end": {
                    "line": 4,
                    "column": 46
                  }
                },
                "extra": {
                  "rawValue": "./belongs-to",
                  "raw": "'./belongs-to'"
                },
                "value": "./belongs-to"
              }
            ]
          }
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 103,
        "end": 145,
        "loc": {
          "start": {
            "line": 5,
            "column": 0
          },
          "end": {
            "line": 5,
            "column": 42
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 103,
          "end": 144,
          "loc": {
            "start": {
              "line": 5,
              "column": 0
            },
            "end": {
              "line": 5,
              "column": 41
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 103,
            "end": 121,
            "loc": {
              "start": {
                "line": 5,
                "column": 0
              },
              "end": {
                "line": 5,
                "column": 18
              }
            },
            "object": {
              "type": "Identifier",
              "start": 103,
              "end": 114,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 0
                },
                "end": {
                  "line": 5,
                  "column": 11
                },
                "identifierName": "Association"
              },
              "name": "Association"
            },
            "property": {
              "type": "Identifier",
              "start": 115,
              "end": 121,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 12
                },
                "end": {
                  "line": 5,
                  "column": 18
                },
                "identifierName": "HasOne"
              },
              "name": "HasOne"
            },
            "computed": false
          },
          "right": {
            "type": "CallExpression",
            "start": 124,
            "end": 144,
            "loc": {
              "start": {
                "line": 5,
                "column": 21
              },
              "end": {
                "line": 5,
                "column": 41
              }
            },
            "callee": {
              "type": "Identifier",
              "start": 124,
              "end": 131,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 21
                },
                "end": {
                  "line": 5,
                  "column": 28
                },
                "identifierName": "require"
              },
              "name": "require"
            },
            "arguments": [
              {
                "type": "StringLiteral",
                "start": 132,
                "end": 143,
                "loc": {
                  "start": {
                    "line": 5,
                    "column": 29
                  },
                  "end": {
                    "line": 5,
                    "column": 40
                  }
                },
                "extra": {
                  "rawValue": "./has-one",
                  "raw": "'./has-one'"
                },
                "value": "./has-one"
              }
            ]
          }
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 146,
        "end": 190,
        "loc": {
          "start": {
            "line": 6,
            "column": 0
          },
          "end": {
            "line": 6,
            "column": 44
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 146,
          "end": 189,
          "loc": {
            "start": {
              "line": 6,
              "column": 0
            },
            "end": {
              "line": 6,
              "column": 43
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 146,
            "end": 165,
            "loc": {
              "start": {
                "line": 6,
                "column": 0
              },
              "end": {
                "line": 6,
                "column": 19
              }
            },
            "object": {
              "type": "Identifier",
              "start": 146,
              "end": 157,
              "loc": {
                "start": {
                  "line": 6,
                  "column": 0
                },
                "end": {
                  "line": 6,
                  "column": 11
                },
                "identifierName": "Association"
              },
              "name": "Association"
            },
            "property": {
              "type": "Identifier",
              "start": 158,
              "end": 165,
              "loc": {
                "start": {
                  "line": 6,
                  "column": 12
                },
                "end": {
                  "line": 6,
                  "column": 19
                },
                "identifierName": "HasMany"
              },
              "name": "HasMany"
            },
            "computed": false
          },
          "right": {
            "type": "CallExpression",
            "start": 168,
            "end": 189,
            "loc": {
              "start": {
                "line": 6,
                "column": 22
              },
              "end": {
                "line": 6,
                "column": 43
              }
            },
            "callee": {
              "type": "Identifier",
              "start": 168,
              "end": 175,
              "loc": {
                "start": {
                  "line": 6,
                  "column": 22
                },
                "end": {
                  "line": 6,
                  "column": 29
                },
                "identifierName": "require"
              },
              "name": "require"
            },
            "arguments": [
              {
                "type": "StringLiteral",
                "start": 176,
                "end": 188,
                "loc": {
                  "start": {
                    "line": 6,
                    "column": 30
                  },
                  "end": {
                    "line": 6,
                    "column": 42
                  }
                },
                "extra": {
                  "rawValue": "./has-many",
                  "raw": "'./has-many'"
                },
                "value": "./has-many"
              }
            ]
          }
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 191,
        "end": 248,
        "loc": {
          "start": {
            "line": 7,
            "column": 0
          },
          "end": {
            "line": 7,
            "column": 57
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 191,
          "end": 247,
          "loc": {
            "start": {
              "line": 7,
              "column": 0
            },
            "end": {
              "line": 7,
              "column": 56
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 191,
            "end": 216,
            "loc": {
              "start": {
                "line": 7,
                "column": 0
              },
              "end": {
                "line": 7,
                "column": 25
              }
            },
            "object": {
              "type": "Identifier",
              "start": 191,
              "end": 202,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 0
                },
                "end": {
                  "line": 7,
                  "column": 11
                },
                "identifierName": "Association"
              },
              "name": "Association"
            },
            "property": {
              "type": "Identifier",
              "start": 203,
              "end": 216,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 12
                },
                "end": {
                  "line": 7,
                  "column": 25
                },
                "identifierName": "BelongsToMany"
              },
              "name": "BelongsToMany"
            },
            "computed": false
          },
          "right": {
            "type": "CallExpression",
            "start": 219,
            "end": 247,
            "loc": {
              "start": {
                "line": 7,
                "column": 28
              },
              "end": {
                "line": 7,
                "column": 56
              }
            },
            "callee": {
              "type": "Identifier",
              "start": 219,
              "end": 226,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 28
                },
                "end": {
                  "line": 7,
                  "column": 35
                },
                "identifierName": "require"
              },
              "name": "require"
            },
            "arguments": [
              {
                "type": "StringLiteral",
                "start": 227,
                "end": 246,
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 36
                  },
                  "end": {
                    "line": 7,
                    "column": 55
                  }
                },
                "extra": {
                  "rawValue": "./belongs-to-many",
                  "raw": "'./belongs-to-many'"
                },
                "value": "./belongs-to-many"
              }
            ]
          }
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 250,
        "end": 279,
        "loc": {
          "start": {
            "line": 9,
            "column": 0
          },
          "end": {
            "line": 9,
            "column": 29
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 250,
          "end": 278,
          "loc": {
            "start": {
              "line": 9,
              "column": 0
            },
            "end": {
              "line": 9,
              "column": 28
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 250,
            "end": 264,
            "loc": {
              "start": {
                "line": 9,
                "column": 0
              },
              "end": {
                "line": 9,
                "column": 14
              }
            },
            "object": {
              "type": "Identifier",
              "start": 250,
              "end": 256,
              "loc": {
                "start": {
                  "line": 9,
                  "column": 0
                },
                "end": {
                  "line": 9,
                  "column": 6
                },
                "identifierName": "module"
              },
              "name": "module"
            },
            "property": {
              "type": "Identifier",
              "start": 257,
              "end": 264,
              "loc": {
                "start": {
                  "line": 9,
                  "column": 7
                },
                "end": {
                  "line": 9,
                  "column": 14
                },
                "identifierName": "exports"
              },
              "name": "exports"
            },
            "computed": false
          },
          "right": {
            "type": "Identifier",
            "start": 267,
            "end": 278,
            "loc": {
              "start": {
                "line": 9,
                "column": 17
              },
              "end": {
                "line": 9,
                "column": 28
              },
              "identifierName": "Association"
            },
            "name": "Association"
          }
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 280,
        "end": 317,
        "loc": {
          "start": {
            "line": 10,
            "column": 0
          },
          "end": {
            "line": 10,
            "column": 37
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 280,
          "end": 316,
          "loc": {
            "start": {
              "line": 10,
              "column": 0
            },
            "end": {
              "line": 10,
              "column": 36
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 280,
            "end": 302,
            "loc": {
              "start": {
                "line": 10,
                "column": 0
              },
              "end": {
                "line": 10,
                "column": 22
              }
            },
            "object": {
              "type": "MemberExpression",
              "start": 280,
              "end": 294,
              "loc": {
                "start": {
                  "line": 10,
                  "column": 0
                },
                "end": {
                  "line": 10,
                  "column": 14
                }
              },
              "object": {
                "type": "Identifier",
                "start": 280,
                "end": 286,
                "loc": {
                  "start": {
                    "line": 10,
                    "column": 0
                  },
                  "end": {
                    "line": 10,
                    "column": 6
                  },
                  "identifierName": "module"
                },
                "name": "module"
              },
              "property": {
                "type": "Identifier",
                "start": 287,
                "end": 294,
                "loc": {
                  "start": {
                    "line": 10,
                    "column": 7
                  },
                  "end": {
                    "line": 10,
                    "column": 14
                  },
                  "identifierName": "exports"
                },
                "name": "exports"
              },
              "computed": false
            },
            "property": {
              "type": "Identifier",
              "start": 295,
              "end": 302,
              "loc": {
                "start": {
                  "line": 10,
                  "column": 15
                },
                "end": {
                  "line": 10,
                  "column": 22
                },
                "identifierName": "default"
              },
              "name": "default"
            },
            "computed": false
          },
          "right": {
            "type": "Identifier",
            "start": 305,
            "end": 316,
            "loc": {
              "start": {
                "line": 10,
                "column": 25
              },
              "end": {
                "line": 10,
                "column": 36
              },
              "identifierName": "Association"
            },
            "name": "Association"
          }
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 318,
        "end": 359,
        "loc": {
          "start": {
            "line": 11,
            "column": 0
          },
          "end": {
            "line": 11,
            "column": 41
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 318,
          "end": 358,
          "loc": {
            "start": {
              "line": 11,
              "column": 0
            },
            "end": {
              "line": 11,
              "column": 40
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 318,
            "end": 344,
            "loc": {
              "start": {
                "line": 11,
                "column": 0
              },
              "end": {
                "line": 11,
                "column": 26
              }
            },
            "object": {
              "type": "MemberExpression",
              "start": 318,
              "end": 332,
              "loc": {
                "start": {
                  "line": 11,
                  "column": 0
                },
                "end": {
                  "line": 11,
                  "column": 14
                }
              },
              "object": {
                "type": "Identifier",
                "start": 318,
                "end": 324,
                "loc": {
                  "start": {
                    "line": 11,
                    "column": 0
                  },
                  "end": {
                    "line": 11,
                    "column": 6
                  },
                  "identifierName": "module"
                },
                "name": "module"
              },
              "property": {
                "type": "Identifier",
                "start": 325,
                "end": 332,
                "loc": {
                  "start": {
                    "line": 11,
                    "column": 7
                  },
                  "end": {
                    "line": 11,
                    "column": 14
                  },
                  "identifierName": "exports"
                },
                "name": "exports"
              },
              "computed": false
            },
            "property": {
              "type": "Identifier",
              "start": 333,
              "end": 344,
              "loc": {
                "start": {
                  "line": 11,
                  "column": 15
                },
                "end": {
                  "line": 11,
                  "column": 26
                },
                "identifierName": "Association"
              },
              "name": "Association"
            },
            "computed": false
          },
          "right": {
            "type": "Identifier",
            "start": 347,
            "end": 358,
            "loc": {
              "start": {
                "line": 11,
                "column": 29
              },
              "end": {
                "line": 11,
                "column": 40
              },
              "identifierName": "Association"
            },
            "name": "Association"
          }
        }
      }
    ],
    "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": [],
  "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": "Association",
      "start": 21,
      "end": 32,
      "loc": {
        "start": {
          "line": 3,
          "column": 6
        },
        "end": {
          "line": 3,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 33,
      "end": 34,
      "loc": {
        "start": {
          "line": 3,
          "column": 18
        },
        "end": {
          "line": 3,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "require",
      "start": 35,
      "end": 42,
      "loc": {
        "start": {
          "line": 3,
          "column": 20
        },
        "end": {
          "line": 3,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 42,
      "end": 43,
      "loc": {
        "start": {
          "line": 3,
          "column": 27
        },
        "end": {
          "line": 3,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./base",
      "start": 43,
      "end": 51,
      "loc": {
        "start": {
          "line": 3,
          "column": 28
        },
        "end": {
          "line": 3,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 51,
      "end": 52,
      "loc": {
        "start": {
          "line": 3,
          "column": 36
        },
        "end": {
          "line": 3,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 52,
      "end": 53,
      "loc": {
        "start": {
          "line": 3,
          "column": 37
        },
        "end": {
          "line": 3,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Association",
      "start": 54,
      "end": 65,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 65,
      "end": 66,
      "loc": {
        "start": {
          "line": 4,
          "column": 11
        },
        "end": {
          "line": 4,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BelongsTo",
      "start": 66,
      "end": 75,
      "loc": {
        "start": {
          "line": 4,
          "column": 12
        },
        "end": {
          "line": 4,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 76,
      "end": 77,
      "loc": {
        "start": {
          "line": 4,
          "column": 22
        },
        "end": {
          "line": 4,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "require",
      "start": 78,
      "end": 85,
      "loc": {
        "start": {
          "line": 4,
          "column": 24
        },
        "end": {
          "line": 4,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 85,
      "end": 86,
      "loc": {
        "start": {
          "line": 4,
          "column": 31
        },
        "end": {
          "line": 4,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./belongs-to",
      "start": 86,
      "end": 100,
      "loc": {
        "start": {
          "line": 4,
          "column": 32
        },
        "end": {
          "line": 4,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 100,
      "end": 101,
      "loc": {
        "start": {
          "line": 4,
          "column": 46
        },
        "end": {
          "line": 4,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 101,
      "end": 102,
      "loc": {
        "start": {
          "line": 4,
          "column": 47
        },
        "end": {
          "line": 4,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Association",
      "start": 103,
      "end": 114,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 114,
      "end": 115,
      "loc": {
        "start": {
          "line": 5,
          "column": 11
        },
        "end": {
          "line": 5,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "HasOne",
      "start": 115,
      "end": 121,
      "loc": {
        "start": {
          "line": 5,
          "column": 12
        },
        "end": {
          "line": 5,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 122,
      "end": 123,
      "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": "require",
      "start": 124,
      "end": 131,
      "loc": {
        "start": {
          "line": 5,
          "column": 21
        },
        "end": {
          "line": 5,
          "column": 28
        }
      }
    },
    {
      "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": 28
        },
        "end": {
          "line": 5,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./has-one",
      "start": 132,
      "end": 143,
      "loc": {
        "start": {
          "line": 5,
          "column": 29
        },
        "end": {
          "line": 5,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 143,
      "end": 144,
      "loc": {
        "start": {
          "line": 5,
          "column": 40
        },
        "end": {
          "line": 5,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 144,
      "end": 145,
      "loc": {
        "start": {
          "line": 5,
          "column": 41
        },
        "end": {
          "line": 5,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Association",
      "start": 146,
      "end": 157,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 157,
      "end": 158,
      "loc": {
        "start": {
          "line": 6,
          "column": 11
        },
        "end": {
          "line": 6,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "HasMany",
      "start": 158,
      "end": 165,
      "loc": {
        "start": {
          "line": 6,
          "column": 12
        },
        "end": {
          "line": 6,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 166,
      "end": 167,
      "loc": {
        "start": {
          "line": 6,
          "column": 20
        },
        "end": {
          "line": 6,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "require",
      "start": 168,
      "end": 175,
      "loc": {
        "start": {
          "line": 6,
          "column": 22
        },
        "end": {
          "line": 6,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 175,
      "end": 176,
      "loc": {
        "start": {
          "line": 6,
          "column": 29
        },
        "end": {
          "line": 6,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./has-many",
      "start": 176,
      "end": 188,
      "loc": {
        "start": {
          "line": 6,
          "column": 30
        },
        "end": {
          "line": 6,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 188,
      "end": 189,
      "loc": {
        "start": {
          "line": 6,
          "column": 42
        },
        "end": {
          "line": 6,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 189,
      "end": 190,
      "loc": {
        "start": {
          "line": 6,
          "column": 43
        },
        "end": {
          "line": 6,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Association",
      "start": 191,
      "end": 202,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 202,
      "end": 203,
      "loc": {
        "start": {
          "line": 7,
          "column": 11
        },
        "end": {
          "line": 7,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "BelongsToMany",
      "start": 203,
      "end": 216,
      "loc": {
        "start": {
          "line": 7,
          "column": 12
        },
        "end": {
          "line": 7,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 217,
      "end": 218,
      "loc": {
        "start": {
          "line": 7,
          "column": 26
        },
        "end": {
          "line": 7,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "require",
      "start": 219,
      "end": 226,
      "loc": {
        "start": {
          "line": 7,
          "column": 28
        },
        "end": {
          "line": 7,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 226,
      "end": 227,
      "loc": {
        "start": {
          "line": 7,
          "column": 35
        },
        "end": {
          "line": 7,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./belongs-to-many",
      "start": 227,
      "end": 246,
      "loc": {
        "start": {
          "line": 7,
          "column": 36
        },
        "end": {
          "line": 7,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 246,
      "end": 247,
      "loc": {
        "start": {
          "line": 7,
          "column": 55
        },
        "end": {
          "line": 7,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 247,
      "end": 248,
      "loc": {
        "start": {
          "line": 7,
          "column": 56
        },
        "end": {
          "line": 7,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "module",
      "start": 250,
      "end": 256,
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 256,
      "end": 257,
      "loc": {
        "start": {
          "line": 9,
          "column": 6
        },
        "end": {
          "line": 9,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exports",
      "start": 257,
      "end": 264,
      "loc": {
        "start": {
          "line": 9,
          "column": 7
        },
        "end": {
          "line": 9,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 265,
      "end": 266,
      "loc": {
        "start": {
          "line": 9,
          "column": 15
        },
        "end": {
          "line": 9,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Association",
      "start": 267,
      "end": 278,
      "loc": {
        "start": {
          "line": 9,
          "column": 17
        },
        "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": 278,
      "end": 279,
      "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": "module",
      "start": 280,
      "end": 286,
      "loc": {
        "start": {
          "line": 10,
          "column": 0
        },
        "end": {
          "line": 10,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 286,
      "end": 287,
      "loc": {
        "start": {
          "line": 10,
          "column": 6
        },
        "end": {
          "line": 10,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exports",
      "start": 287,
      "end": 294,
      "loc": {
        "start": {
          "line": 10,
          "column": 7
        },
        "end": {
          "line": 10,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 294,
      "end": 295,
      "loc": {
        "start": {
          "line": 10,
          "column": 14
        },
        "end": {
          "line": 10,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "default",
        "keyword": "default",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 295,
      "end": 302,
      "loc": {
        "start": {
          "line": 10,
          "column": 15
        },
        "end": {
          "line": 10,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 303,
      "end": 304,
      "loc": {
        "start": {
          "line": 10,
          "column": 23
        },
        "end": {
          "line": 10,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Association",
      "start": 305,
      "end": 316,
      "loc": {
        "start": {
          "line": 10,
          "column": 25
        },
        "end": {
          "line": 10,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 316,
      "end": 317,
      "loc": {
        "start": {
          "line": 10,
          "column": 36
        },
        "end": {
          "line": 10,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "module",
      "start": 318,
      "end": 324,
      "loc": {
        "start": {
          "line": 11,
          "column": 0
        },
        "end": {
          "line": 11,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 324,
      "end": 325,
      "loc": {
        "start": {
          "line": 11,
          "column": 6
        },
        "end": {
          "line": 11,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exports",
      "start": 325,
      "end": 332,
      "loc": {
        "start": {
          "line": 11,
          "column": 7
        },
        "end": {
          "line": 11,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 332,
      "end": 333,
      "loc": {
        "start": {
          "line": 11,
          "column": 14
        },
        "end": {
          "line": 11,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Association",
      "start": 333,
      "end": 344,
      "loc": {
        "start": {
          "line": 11,
          "column": 15
        },
        "end": {
          "line": 11,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 345,
      "end": 346,
      "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": "Association",
      "start": 347,
      "end": 358,
      "loc": {
        "start": {
          "line": 11,
          "column": 29
        },
        "end": {
          "line": 11,
          "column": 40
        }
      }
    },
    {
      "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": 11,
          "column": 40
        },
        "end": {
          "line": 11,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 360,
      "end": 360,
      "loc": {
        "start": {
          "line": 12,
          "column": 0
        },
        "end": {
          "line": 12,
          "column": 0
        }
      }
    }
  ]
}