{
  "programs": [
    "Program {\n    span: 19..428,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 44..57,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 54..69,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 66..79,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 76..91,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 89..101,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 99..113,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 111..123,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 121..137,\n        expr: _,\n    },\n)",
    "Empty(\n    EmptyStmt {\n        span: 207..208,\n    },\n)",
    "For(\n    ForStmt {\n        span: 189..212,\n        head: In(\n            ForInHead {\n                left: Expr(\n                    _,\n                ),\n                right: _,\n            },\n        ),\n        body: _,\n    },\n)",
    "Empty(\n    EmptyStmt {\n        span: 229..230,\n    },\n)",
    "For(\n    ForStmt {\n        span: 209..234,\n        head: In(\n            ForInHead {\n                left: Expr(\n                    _,\n                ),\n                right: _,\n            },\n        ),\n        body: _,\n    },\n)",
    "Empty(\n    EmptyStmt {\n        span: 249..250,\n    },\n)",
    "For(\n    ForStmt {\n        span: 231..254,\n        head: Of(\n            ForOfHead {\n                is_await: false,\n                left: Expr(\n                    _,\n                ),\n                right: _,\n            },\n        ),\n        body: _,\n    },\n)",
    "Empty(\n    EmptyStmt {\n        span: 271..272,\n    },\n)",
    "For(\n    ForStmt {\n        span: 251..275,\n        head: Of(\n            ForOfHead {\n                is_await: false,\n                left: Expr(\n                    _,\n                ),\n                right: _,\n            },\n        ),\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 274..303,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 302..333,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 332..361,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 360..391,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 390..409,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 408..428,\n        expr: _,\n    },\n)"
  ],
  "decls": [
    "Var(\n    VarDecl {\n        span: 27..47,\n        kind: Const,\n        declare: true,\n        declarators: [\n            VarDeclarator {\n                span: 27..42,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 33..36,\n        sym: \"obj\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 44..47,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 47..52,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 49..50,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "OptChain(\n    OptChainExpr {\n        span: 47..52,\n        base: _,\n    },\n)",
    "Update(\n    UpdateExpr {\n        span: 50..53,\n        op: PlusPlus,\n        arg: _,\n        prefix: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 54..57,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 57..61,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 59..60,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "OptChain(\n    OptChainExpr {\n        span: 57..61,\n        base: _,\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 60..64,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 61..62,\n                sym: \"b\",\n            },\n        ),\n    },\n)",
    "Update(\n    UpdateExpr {\n        span: 62..65,\n        op: PlusPlus,\n        arg: _,\n        prefix: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 66..69,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 69..74,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 71..72,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "OptChain(\n    OptChainExpr {\n        span: 69..74,\n        base: _,\n    },\n)",
    "Update(\n    UpdateExpr {\n        span: 72..75,\n        op: MinusMinus,\n        arg: _,\n        prefix: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 76..79,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 79..83,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 81..82,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "OptChain(\n    OptChainExpr {\n        span: 79..83,\n        base: _,\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 82..86,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 83..84,\n                sym: \"b\",\n            },\n        ),\n    },\n)",
    "Update(\n    UpdateExpr {\n        span: 84..87,\n        op: MinusMinus,\n        arg: _,\n        prefix: false,\n    },\n)",
    "Ident(\n    Ident {\n        span: 91..94,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 94..98,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 96..97,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "OptChain(\n    OptChainExpr {\n        span: 94..98,\n        base: _,\n    },\n)",
    "Update(\n    UpdateExpr {\n        span: 89..98,\n        op: PlusPlus,\n        arg: _,\n        prefix: true,\n    },\n)",
    "Ident(\n    Ident {\n        span: 101..104,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 104..108,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 106..107,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "OptChain(\n    OptChainExpr {\n        span: 104..108,\n        base: _,\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 107..110,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 108..109,\n                sym: \"b\",\n            },\n        ),\n    },\n)",
    "Update(\n    UpdateExpr {\n        span: 99..110,\n        op: PlusPlus,\n        arg: _,\n        prefix: true,\n    },\n)",
    "Ident(\n    Ident {\n        span: 113..116,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 116..120,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 118..119,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "OptChain(\n    OptChainExpr {\n        span: 116..120,\n        base: _,\n    },\n)",
    "Update(\n    UpdateExpr {\n        span: 111..120,\n        op: MinusMinus,\n        arg: _,\n        prefix: true,\n    },\n)",
    "Ident(\n    Ident {\n        span: 123..126,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 126..130,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 128..129,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "OptChain(\n    OptChainExpr {\n        span: 126..130,\n        base: _,\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 129..132,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 130..131,\n                sym: \"b\",\n            },\n        ),\n    },\n)",
    "Update(\n    UpdateExpr {\n        span: 121..132,\n        op: MinusMinus,\n        arg: _,\n        prefix: true,\n    },\n)",
    "Ident(\n    Ident {\n        span: 194..197,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 197..203,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 199..200,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "OptChain(\n    OptChainExpr {\n        span: 197..203,\n        base: _,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 204..207,\n        props: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 214..217,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 217..221,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 219..220,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "OptChain(\n    OptChainExpr {\n        span: 217..221,\n        base: _,\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 220..225,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 221..222,\n                sym: \"b\",\n            },\n        ),\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 226..229,\n        props: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 236..239,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 239..245,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 241..242,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "OptChain(\n    OptChainExpr {\n        span: 239..245,\n        base: _,\n    },\n)",
    "Array(\n    ArrayExpr {\n        span: 246..249,\n        elems: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 256..259,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 259..263,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 261..262,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "OptChain(\n    OptChainExpr {\n        span: 259..263,\n        base: _,\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 262..267,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 263..264,\n                sym: \"b\",\n            },\n        ),\n    },\n)",
    "Array(\n    ArrayExpr {\n        span: 268..271,\n        elems: [],\n    },\n)",
    "Ident(\n    Ident {\n        span: 280..283,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 283..288,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 285..286,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "OptChain(\n    OptChainExpr {\n        span: 283..288,\n        base: _,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 275..290,\n        props: [\n            KeyValueProp {\n                span: 277..288,\n                key: Ident(\n                    Ident {\n                        span: 277..278,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 296..297,\n            value: 1.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 291..300,\n        props: [\n            KeyValueProp {\n                span: 293..299,\n                key: Ident(\n                    Ident {\n                        span: 293..294,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 289..300,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 274..301,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 308..311,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 311..315,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 313..314,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "OptChain(\n    OptChainExpr {\n        span: 311..315,\n        base: _,\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 314..318,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 315..316,\n                sym: \"b\",\n            },\n        ),\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 303..320,\n        props: [\n            KeyValueProp {\n                span: 305..318,\n                key: Ident(\n                    Ident {\n                        span: 305..306,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 326..327,\n            value: 1.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 321..330,\n        props: [\n            KeyValueProp {\n                span: 323..329,\n                key: Ident(\n                    Ident {\n                        span: 323..324,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 319..330,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 302..331,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 338..341,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 341..346,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 343..344,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "OptChain(\n    OptChainExpr {\n        span: 341..346,\n        base: _,\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 333..348,\n        props: [\n            KeyValueProp {\n                span: 335..346,\n                key: Ident(\n                    Ident {\n                        span: 335..335,\n                        sym: \"__spread__\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 354..355,\n            value: 1.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 349..358,\n        props: [\n            KeyValueProp {\n                span: 351..357,\n                key: Ident(\n                    Ident {\n                        span: 351..352,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 347..358,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 332..359,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 366..369,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 369..373,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 371..372,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "OptChain(\n    OptChainExpr {\n        span: 369..373,\n        base: _,\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 372..376,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 373..374,\n                sym: \"b\",\n            },\n        ),\n    },\n)",
    "Object(\n    ObjectExpr {\n        span: 361..378,\n        props: [\n            KeyValueProp {\n                span: 363..376,\n                key: Ident(\n                    Ident {\n                        span: 363..363,\n                        sym: \"__spread__\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 384..385,\n            value: 1.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 379..388,\n        props: [\n            KeyValueProp {\n                span: 381..387,\n                key: Ident(\n                    Ident {\n                        span: 381..382,\n                        sym: \"a\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 377..388,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Paren(\n    ParenExpr {\n        span: 360..389,\n        expr: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 394..397,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 397..401,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 399..400,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "OptChain(\n    OptChainExpr {\n        span: 397..401,\n        base: _,\n    },\n)",
    "Array(\n    ArrayExpr {\n        span: 390..403,\n        elems: [\n            Some(\n                ExprOrSpread {\n                    spread: true,\n                    expr: _,\n                },\n            ),\n        ],\n    },\n)",
    "Array(\n    ArrayExpr {\n        span: 404..407,\n        elems: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 402..407,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 412..415,\n        sym: \"obj\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 415..419,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 417..418,\n                sym: \"a\",\n            },\n        ),\n    },\n)",
    "OptChain(\n    OptChainExpr {\n        span: 415..419,\n        base: _,\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 418..421,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 419..420,\n                sym: \"b\",\n            },\n        ),\n    },\n)",
    "Array(\n    ArrayExpr {\n        span: 408..423,\n        elems: [\n            Some(\n                ExprOrSpread {\n                    spread: true,\n                    expr: _,\n                },\n            ),\n        ],\n    },\n)",
    "Array(\n    ArrayExpr {\n        span: 424..427,\n        elems: [],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 422..427,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": []
}
