{
  "programs": [
    "Program {\n    span: 1..714,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 314..323,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "Var(\n    VarDecl {\n        span: 117..136,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 117..128,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 133..147,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 133..145,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 1..155,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 8..9,\n                sym: \"A\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                    _,\n                ],\n            ),\n        ),\n    },\n)",
    "Var(\n    VarDecl {\n        span: 164..177,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 164..175,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 149..185,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 156..157,\n                sym: \"B\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                ],\n            ),\n        ),\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 179..315,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 186..187,\n                sym: \"B\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [],\n            ),\n        ),\n    },\n)",
    "Var(\n    VarDecl {\n        span: 332..354,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 332..343,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 374..400,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 374..385,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 424..451,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 424..435,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 448..475,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 448..459,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 472..493,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 472..483,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 401..499,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 408..409,\n                sym: \"Z\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                    _,\n                    _,\n                ],\n            ),\n        ),\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 355..501,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 362..363,\n                sym: \"Y\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                    _,\n                ],\n            ),\n        ),\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 317..509,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 324..325,\n                sym: \"X\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                    _,\n                ],\n            ),\n        ),\n    },\n)",
    "TsEnum(\n    TsEnumDecl {\n        span: 527..561,\n        ident: Ident {\n            span: 532..533,\n            sym: \"Y\",\n        },\n        declare: false,\n        is_const: false,\n        members: [\n            TsEnumMember {\n                span: 544..548,\n                name: Ident(\n                    Ident {\n                        span: 544..547,\n                        sym: \"Red\",\n                    },\n                ),\n                init: None,\n            },\n            TsEnumMember {\n                span: 549..559,\n                name: Ident(\n                    Ident {\n                        span: 549..553,\n                        sym: \"Blue\",\n                    },\n                ),\n                init: None,\n            },\n        ],\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 503..628,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 510..511,\n                sym: \"Y\",\n            },\n        ),\n        body: Some(\n            Namespace(\n                TsNamespaceDecl {\n                    span: 503..628,\n                    declare: false,\n                    global: false,\n                    id: Ident {\n                        span: 510..511,\n                        sym: \"Y\",\n                    },\n                    body: Namespace(\n                        TsNamespaceDecl {\n                            span: 512..628,\n                            declare: false,\n                            global: false,\n                            id: Ident {\n                                span: 512..513,\n                                sym: \"Y\",\n                            },\n                            body: ModuleBlock(\n                                [\n                                    _,\n                                ],\n                            ),\n                        },\n                    ),\n                },\n            ),\n        ),\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 644..695,\n        ident: Ident {\n            span: 654..655,\n            sym: \"D\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 666..683,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 666..668,\n                            sym: \"id\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 696..714,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 696..712,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 622..714,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 629..630,\n                sym: \"D\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                    _,\n                ],\n            ),\n        ),\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 121..122,\n        sym: \"A\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 123..128,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 137..139,\n        sym: \"_A\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 140..145,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 168..169,\n        sym: \"A\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 170..175,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 336..337,\n        sym: \"X\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 338..343,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 378..379,\n        sym: \"Y\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 380..385,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 428..429,\n        sym: \"X\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 430..435,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 452..453,\n        sym: \"Y\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 454..459,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 476..477,\n        sym: \"Z\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 478..483,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 700..701,\n        sym: \"E\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 702..712,\n        left: _,\n        right: _,\n    },\n)"
  ],
  "exprs": [
    "Lit(\n    Num(\n        NumberLit {\n            span: 125..127,\n            value: 12.0,\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 142..144,\n            value: \"\",\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 172..174,\n            value: 12.0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 340..342,\n            value: 13.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 382..384,\n            value: 13.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 432..434,\n            value: 12.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 456..458,\n            value: 12.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 480..482,\n            value: 12.0,\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 704..711,\n            value: \"hello\",\n        },\n    ),\n)"
  ],
  "module_decls": [
    "ExportDecl(\n    ExportDecl {\n        span: 394..499,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 348..501,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 520..561,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 637..695,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 689..714,\n        decl: _,\n    },\n)"
  ],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": [
    "Keyword(\n    Number,\n)"
  ]
}
