type: program
id: 0
range: 1:1 - 17:1
dataflow_sources:
    - 1
    - 30
    - 31
    - 36
    - 48
    - 49
    - 54
    - 63
    - 64
    - 93
    - 125
    - 126
children:
    - type: lexical_declaration
      id: 1
      range: 1:1 - 1:39
      dataflow_sources:
        - 2
        - 3
      children:
        - type: '"let"'
          id: 2
          range: 1:1 - 1:4
        - type: variable_declarator
          id: 3
          range: 1:5 - 1:39
          alias_of:
            - 6
          queries:
            - 1
          children:
            - type: identifier
              id: 4
              range: 1:5 - 1:8
              content: obj
            - type: '"="'
              id: 5
              range: 1:9 - 1:10
            - type: object
              id: 6
              range: 1:11 - 1:39
              dataflow_sources:
                - 7
                - 8
                - 24
                - 25
                - 29
              queries:
                - 0
              children:
                - type: '"{"'
                  id: 7
                  range: 1:11 - 1:12
                - type: pair
                  id: 8
                  range: 1:13 - 1:31
                  dataflow_sources:
                    - 9
                    - 10
                    - 11
                  children:
                    - type: property_identifier
                      id: 9
                      range: 1:13 - 1:14
                      content: x
                    - type: '":"'
                      id: 10
                      range: 1:14 - 1:15
                    - type: object
                      id: 11
                      range: 1:16 - 1:31
                      dataflow_sources:
                        - 12
                        - 13
                        - 23
                      queries:
                        - 0
                      children:
                        - type: '"{"'
                          id: 12
                          range: 1:16 - 1:17
                        - type: pair
                          id: 13
                          range: 1:18 - 1:29
                          dataflow_sources:
                            - 14
                            - 15
                            - 16
                          children:
                            - type: property_identifier
                              id: 14
                              range: 1:18 - 1:19
                              content: a
                            - type: '":"'
                              id: 15
                              range: 1:19 - 1:20
                            - type: object
                              id: 16
                              range: 1:21 - 1:29
                              dataflow_sources:
                                - 17
                                - 18
                                - 22
                              queries:
                                - 0
                              children:
                                - type: '"{"'
                                  id: 17
                                  range: 1:21 - 1:22
                                - type: pair
                                  id: 18
                                  range: 1:23 - 1:27
                                  dataflow_sources:
                                    - 19
                                    - 20
                                    - 21
                                  children:
                                    - type: property_identifier
                                      id: 19
                                      range: 1:23 - 1:24
                                      content: i
                                    - type: '":"'
                                      id: 20
                                      range: 1:24 - 1:25
                                    - type: number
                                      id: 21
                                      range: 1:26 - 1:27
                                      content: "3"
                                - type: '"}"'
                                  id: 22
                                  range: 1:28 - 1:29
                        - type: '"}"'
                          id: 23
                          range: 1:30 - 1:31
                - type: '","'
                  id: 24
                  range: 1:31 - 1:32
                - type: pair
                  id: 25
                  range: 1:33 - 1:37
                  dataflow_sources:
                    - 26
                    - 27
                    - 28
                  children:
                    - type: property_identifier
                      id: 26
                      range: 1:33 - 1:34
                      content: "y"
                    - type: '":"'
                      id: 27
                      range: 1:34 - 1:35
                    - type: number
                      id: 28
                      range: 1:36 - 1:37
                      content: "4"
                - type: '"}"'
                  id: 29
                  range: 1:38 - 1:39
    - type: comment
      id: 30
      range: 3:1 - 3:20
      content: // Known properties
    - type: expression_statement
      id: 31
      range: 4:1 - 4:6
      children:
        - type: member_expression
          id: 32
          range: 4:1 - 4:6
          dataflow_sources:
            - 33
          queries:
            - 5
          children:
            - type: identifier
              id: 33
              range: 4:1 - 4:4
              content: obj
              alias_of:
                - 3
            - type: '"."'
              id: 34
              range: 4:4 - 4:5
            - type: property_identifier
              id: 35
              range: 4:5 - 4:6
              content: x
    - type: expression_statement
      id: 36
      range: 5:1 - 5:11
      children:
        - type: member_expression
          id: 37
          range: 5:1 - 5:11
          dataflow_sources:
            - 38
          queries:
            - 5
          children:
            - type: subscript_expression
              id: 38
              range: 5:1 - 5:9
              dataflow_sources:
                - 39
              queries:
                - 6
              children:
                - type: identifier
                  id: 39
                  range: 5:1 - 5:4
                  content: obj
                  alias_of:
                    - 3
                - type: '"["'
                  id: 40
                  range: 5:4 - 5:5
                - type: string
                  id: 41
                  range: 5:5 - 5:8
                  dataflow_sources:
                    - 42
                    - 43
                    - 44
                  children:
                    - type: '"""'
                      id: 42
                      range: 5:5 - 5:6
                    - type: string_fragment
                      id: 43
                      range: 5:6 - 5:7
                      content: x
                    - type: '"""'
                      id: 44
                      range: 5:7 - 5:8
                - type: '"]"'
                  id: 45
                  range: 5:8 - 5:9
            - type: '"."'
              id: 46
              range: 5:9 - 5:10
            - type: property_identifier
              id: 47
              range: 5:10 - 5:11
              content: a
    - type: comment
      id: 48
      range: 7:1 - 7:22
      content: // Unknown properties
    - type: expression_statement
      id: 49
      range: 8:1 - 8:6
      children:
        - type: member_expression
          id: 50
          range: 8:1 - 8:6
          dataflow_sources:
            - 51
          queries:
            - 5
          children:
            - type: identifier
              id: 51
              range: 8:1 - 8:4
              content: obj
              alias_of:
                - 3
            - type: '"."'
              id: 52
              range: 8:4 - 8:5
            - type: property_identifier
              id: 53
              range: 8:5 - 8:6
              content: z
    - type: expression_statement
      id: 54
      range: 9:1 - 9:9
      children:
        - type: subscript_expression
          id: 55
          range: 9:1 - 9:9
          dataflow_sources:
            - 56
          queries:
            - 6
          children:
            - type: identifier
              id: 56
              range: 9:1 - 9:4
              content: obj
              alias_of:
                - 3
            - type: '"["'
              id: 57
              range: 9:4 - 9:5
            - type: string
              id: 58
              range: 9:5 - 9:8
              dataflow_sources:
                - 59
                - 60
                - 61
              children:
                - type: '"""'
                  id: 59
                  range: 9:5 - 9:6
                - type: string_fragment
                  id: 60
                  range: 9:6 - 9:7
                  content: w
                - type: '"""'
                  id: 61
                  range: 9:7 - 9:8
            - type: '"]"'
              id: 62
              range: 9:8 - 9:9
    - type: comment
      id: 63
      range: 11:1 - 11:8
      content: // Call
    - type: expression_statement
      id: 64
      range: 12:1 - 12:42
      children:
        - type: call_expression
          id: 65
          range: 12:1 - 12:42
          dataflow_sources:
            - 70
          queries:
            - 7
          children:
            - type: member_expression
              id: 66
              range: 12:1 - 12:6
              dataflow_sources:
                - 67
              queries:
                - 5
              children:
                - type: identifier
                  id: 67
                  range: 12:1 - 12:4
                  content: obj
                  alias_of:
                    - 3
                - type: '"."'
                  id: 68
                  range: 12:4 - 12:5
                - type: property_identifier
                  id: 69
                  range: 12:5 - 12:6
                  content: x
            - type: arguments
              id: 70
              range: 12:6 - 12:42
              dataflow_sources:
                - 71
                - 72
                - 82
                - 83
                - 92
              children:
                - type: '"("'
                  id: 71
                  range: 12:6 - 12:7
                - type: object
                  id: 72
                  range: 12:7 - 12:21
                  dataflow_sources:
                    - 73
                    - 74
                    - 81
                  queries:
                    - 0
                  children:
                    - type: '"{"'
                      id: 73
                      range: 12:7 - 12:8
                    - type: pair
                      id: 74
                      range: 12:9 - 12:19
                      dataflow_sources:
                        - 75
                        - 76
                        - 77
                      children:
                        - type: property_identifier
                          id: 75
                          range: 12:9 - 12:14
                          content: email
                        - type: '":"'
                          id: 76
                          range: 12:14 - 12:15
                        - type: string
                          id: 77
                          range: 12:16 - 12:19
                          dataflow_sources:
                            - 78
                            - 79
                            - 80
                          children:
                            - type: '"""'
                              id: 78
                              range: 12:16 - 12:17
                            - type: string_fragment
                              id: 79
                              range: 12:17 - 12:18
                              content: ' '
                            - type: '"""'
                              id: 80
                              range: 12:18 - 12:19
                    - type: '"}"'
                      id: 81
                      range: 12:20 - 12:21
                - type: '","'
                  id: 82
                  range: 12:21 - 12:22
                - type: object
                  id: 83
                  range: 12:23 - 12:41
                  dataflow_sources:
                    - 84
                    - 85
                    - 91
                  queries:
                    - 0
                  children:
                    - type: '"{"'
                      id: 84
                      range: 12:23 - 12:24
                    - type: pair
                      id: 85
                      range: 12:25 - 12:39
                      dataflow_sources:
                        - 86
                        - 87
                        - 88
                      children:
                        - type: property_identifier
                          id: 86
                          range: 12:25 - 12:35
                          content: first_name
                        - type: '":"'
                          id: 87
                          range: 12:35 - 12:36
                        - type: string
                          id: 88
                          range: 12:37 - 12:39
                          dataflow_sources:
                            - 89
                            - 90
                          children:
                            - type: '"""'
                              id: 89
                              range: 12:37 - 12:38
                            - type: '"""'
                              id: 90
                              range: 12:38 - 12:39
                    - type: '"}"'
                      id: 91
                      range: 12:40 - 12:41
                - type: '")"'
                  id: 92
                  range: 12:41 - 12:42
    - type: expression_statement
      id: 93
      range: 13:1 - 13:44
      children:
        - type: member_expression
          id: 94
          range: 13:1 - 13:44
          dataflow_sources:
            - 95
          queries:
            - 5
          children:
            - type: call_expression
              id: 95
              range: 13:1 - 13:42
              dataflow_sources:
                - 100
              queries:
                - 7
              children:
                - type: member_expression
                  id: 96
                  range: 13:1 - 13:6
                  dataflow_sources:
                    - 97
                  queries:
                    - 5
                  children:
                    - type: identifier
                      id: 97
                      range: 13:1 - 13:4
                      content: obj
                      alias_of:
                        - 3
                    - type: '"."'
                      id: 98
                      range: 13:4 - 13:5
                    - type: property_identifier
                      id: 99
                      range: 13:5 - 13:6
                      content: x
                - type: arguments
                  id: 100
                  range: 13:6 - 13:42
                  dataflow_sources:
                    - 101
                    - 102
                    - 112
                    - 113
                    - 122
                  children:
                    - type: '"("'
                      id: 101
                      range: 13:6 - 13:7
                    - type: object
                      id: 102
                      range: 13:7 - 13:21
                      dataflow_sources:
                        - 103
                        - 104
                        - 111
                      queries:
                        - 0
                      children:
                        - type: '"{"'
                          id: 103
                          range: 13:7 - 13:8
                        - type: pair
                          id: 104
                          range: 13:9 - 13:19
                          dataflow_sources:
                            - 105
                            - 106
                            - 107
                          children:
                            - type: property_identifier
                              id: 105
                              range: 13:9 - 13:14
                              content: email
                            - type: '":"'
                              id: 106
                              range: 13:14 - 13:15
                            - type: string
                              id: 107
                              range: 13:16 - 13:19
                              dataflow_sources:
                                - 108
                                - 109
                                - 110
                              children:
                                - type: '"""'
                                  id: 108
                                  range: 13:16 - 13:17
                                - type: string_fragment
                                  id: 109
                                  range: 13:17 - 13:18
                                  content: ' '
                                - type: '"""'
                                  id: 110
                                  range: 13:18 - 13:19
                        - type: '"}"'
                          id: 111
                          range: 13:20 - 13:21
                    - type: '","'
                      id: 112
                      range: 13:21 - 13:22
                    - type: object
                      id: 113
                      range: 13:23 - 13:41
                      dataflow_sources:
                        - 114
                        - 115
                        - 121
                      queries:
                        - 0
                      children:
                        - type: '"{"'
                          id: 114
                          range: 13:23 - 13:24
                        - type: pair
                          id: 115
                          range: 13:25 - 13:39
                          dataflow_sources:
                            - 116
                            - 117
                            - 118
                          children:
                            - type: property_identifier
                              id: 116
                              range: 13:25 - 13:35
                              content: first_name
                            - type: '":"'
                              id: 117
                              range: 13:35 - 13:36
                            - type: string
                              id: 118
                              range: 13:37 - 13:39
                              dataflow_sources:
                                - 119
                                - 120
                              children:
                                - type: '"""'
                                  id: 119
                                  range: 13:37 - 13:38
                                - type: '"""'
                                  id: 120
                                  range: 13:38 - 13:39
                        - type: '"}"'
                          id: 121
                          range: 13:40 - 13:41
                    - type: '")"'
                      id: 122
                      range: 13:41 - 13:42
            - type: '"."'
              id: 123
              range: 13:42 - 13:43
            - type: property_identifier
              id: 124
              range: 13:43 - 13:44
              content: a
    - type: comment
      id: 125
      range: 15:1 - 15:18
      content: // Deconstruction
    - type: lexical_declaration
      id: 126
      range: 16:1 - 16:16
      dataflow_sources:
        - 127
        - 128
      children:
        - type: '"let"'
          id: 127
          range: 16:1 - 16:4
        - type: variable_declarator
          id: 128
          range: 16:5 - 16:16
          alias_of:
            - 134
          children:
            - type: object_pattern
              id: 129
              range: 16:5 - 16:10
              dataflow_sources:
                - 130
                - 131
                - 132
              children:
                - type: '"{"'
                  id: 130
                  range: 16:5 - 16:6
                - type: shorthand_property_identifier_pattern
                  id: 131
                  range: 16:7 - 16:8
                  content: x
                  queries:
                    - 2
                - type: '"}"'
                  id: 132
                  range: 16:9 - 16:10
            - type: '"="'
              id: 133
              range: 16:11 - 16:12
            - type: identifier
              id: 134
              range: 16:13 - 16:16
              content: obj
              alias_of:
                - 3

- node: 3
  content: 'obj = { x: { a: { i: 3 } }, y: 4 }'
  data:
    properties:
        - name: obj
          node:
            id: 3
            typeid: 3
            contentstart:
                byte: 4
                line: 1
                column: 5
            contentend:
                byte: 38
                line: 1
                column: 39
            executingdetectors: []
          object:
            ruleid: object
            matchnode:
                id: 6
                typeid: 6
                contentstart:
                    byte: 10
                    line: 1
                    column: 11
                contentend:
                    byte: 38
                    line: 1
                    column: 39
                executingdetectors: []
            data:
                properties:
                    - name: x
                      node:
                        id: 8
                        typeid: 8
                        contentstart:
                            byte: 12
                            line: 1
                            column: 13
                        contentend:
                            byte: 30
                            line: 1
                            column: 31
                        executingdetectors: []
                      object:
                        ruleid: object
                        matchnode:
                            id: 11
                            typeid: 6
                            contentstart:
                                byte: 15
                                line: 1
                                column: 16
                            contentend:
                                byte: 30
                                line: 1
                                column: 31
                            executingdetectors: []
                        data:
                            properties:
                                - name: a
                                  node:
                                    id: 13
                                    typeid: 8
                                    contentstart:
                                        byte: 17
                                        line: 1
                                        column: 18
                                    contentend:
                                        byte: 28
                                        line: 1
                                        column: 29
                                    executingdetectors: []
                                  object:
                                    ruleid: object
                                    matchnode:
                                        id: 16
                                        typeid: 6
                                        contentstart:
                                            byte: 20
                                            line: 1
                                            column: 21
                                        contentend:
                                            byte: 28
                                            line: 1
                                            column: 29
                                        executingdetectors: []
                                    data:
                                        properties:
                                            - name: i
                                              node:
                                                id: 18
                                                typeid: 8
                                                contentstart:
                                                    byte: 22
                                                    line: 1
                                                    column: 23
                                                contentend:
                                                    byte: 26
                                                    line: 1
                                                    column: 27
                                                executingdetectors: []
                                              object: null
                                        isvirtual: false
                            isvirtual: false
                    - name: "y"
                      node:
                        id: 25
                        typeid: 8
                        contentstart:
                            byte: 32
                            line: 1
                            column: 33
                        contentend:
                            byte: 36
                            line: 1
                            column: 37
                        executingdetectors: []
                      object: null
                isvirtual: false
    isvirtual: true
- node: 32
  content: obj.x
  data:
    properties:
        - name: a
          node:
            id: 13
            typeid: 8
            contentstart:
                byte: 17
                line: 1
                column: 18
            contentend:
                byte: 28
                line: 1
                column: 29
            executingdetectors: []
          object:
            ruleid: object
            matchnode:
                id: 16
                typeid: 6
                contentstart:
                    byte: 20
                    line: 1
                    column: 21
                contentend:
                    byte: 28
                    line: 1
                    column: 29
                executingdetectors: []
            data:
                properties:
                    - name: i
                      node:
                        id: 18
                        typeid: 8
                        contentstart:
                            byte: 22
                            line: 1
                            column: 23
                        contentend:
                            byte: 26
                            line: 1
                            column: 27
                        executingdetectors: []
                      object: null
                isvirtual: false
    isvirtual: false
- node: 32
  content: obj.x
  data:
    properties:
        - name: x
          node: null
          object:
            ruleid: object
            matchnode:
                id: 32
                typeid: 16
                contentstart:
                    byte: 60
                    line: 4
                    column: 1
                contentend:
                    byte: 65
                    line: 4
                    column: 6
                executingdetectors: []
            data:
                properties:
                    - name: a
                      node:
                        id: 13
                        typeid: 8
                        contentstart:
                            byte: 17
                            line: 1
                            column: 18
                        contentend:
                            byte: 28
                            line: 1
                            column: 29
                        executingdetectors: []
                      object:
                        ruleid: object
                        matchnode:
                            id: 16
                            typeid: 6
                            contentstart:
                                byte: 20
                                line: 1
                                column: 21
                            contentend:
                                byte: 28
                                line: 1
                                column: 29
                            executingdetectors: []
                        data:
                            properties:
                                - name: i
                                  node:
                                    id: 18
                                    typeid: 8
                                    contentstart:
                                        byte: 22
                                        line: 1
                                        column: 23
                                    contentend:
                                        byte: 26
                                        line: 1
                                        column: 27
                                    executingdetectors: []
                                  object: null
                            isvirtual: false
                isvirtual: false
    isvirtual: true
- node: 32
  content: obj.x
  data:
    properties:
        - name: obj
          node: null
          object:
            ruleid: object
            matchnode:
                id: 32
                typeid: 16
                contentstart:
                    byte: 60
                    line: 4
                    column: 1
                contentend:
                    byte: 65
                    line: 4
                    column: 6
                executingdetectors: []
            data:
                properties:
                    - name: x
                      node: null
                      object: null
                isvirtual: true
    isvirtual: true
- node: 37
  content: obj["x"].a
  data:
    properties:
        - name: i
          node:
            id: 18
            typeid: 8
            contentstart:
                byte: 22
                line: 1
                column: 23
            contentend:
                byte: 26
                line: 1
                column: 27
            executingdetectors: []
          object: null
    isvirtual: false
- node: 37
  content: obj["x"].a
  data:
    properties:
        - name: a
          node: null
          object:
            ruleid: object
            matchnode:
                id: 37
                typeid: 16
                contentstart:
                    byte: 66
                    line: 5
                    column: 1
                contentend:
                    byte: 76
                    line: 5
                    column: 11
                executingdetectors: []
            data:
                properties:
                    - name: i
                      node:
                        id: 18
                        typeid: 8
                        contentstart:
                            byte: 22
                            line: 1
                            column: 23
                        contentend:
                            byte: 26
                            line: 1
                            column: 27
                        executingdetectors: []
                      object: null
                isvirtual: false
    isvirtual: true
- node: 37
  content: obj["x"].a
  data:
    properties:
        - name: x
          node: null
          object:
            ruleid: object
            matchnode:
                id: 37
                typeid: 16
                contentstart:
                    byte: 66
                    line: 5
                    column: 1
                contentend:
                    byte: 76
                    line: 5
                    column: 11
                executingdetectors: []
            data:
                properties:
                    - name: a
                      node: null
                      object: null
                isvirtual: true
    isvirtual: true
- node: 50
  content: obj.z
  data:
    properties:
        - name: obj
          node: null
          object:
            ruleid: object
            matchnode:
                id: 50
                typeid: 16
                contentstart:
                    byte: 100
                    line: 8
                    column: 1
                contentend:
                    byte: 105
                    line: 8
                    column: 6
                executingdetectors: []
            data:
                properties:
                    - name: z
                      node: null
                      object: null
                isvirtual: true
    isvirtual: true
- node: 55
  content: obj["w"]
  data:
    properties:
        - name: obj
          node: null
          object:
            ruleid: object
            matchnode:
                id: 55
                typeid: 18
                contentstart:
                    byte: 106
                    line: 9
                    column: 1
                contentend:
                    byte: 114
                    line: 9
                    column: 9
                executingdetectors: []
            data:
                properties:
                    - name: w
                      node: null
                      object: null
                isvirtual: true
    isvirtual: true
- node: 65
  content: 'obj.x({ email: " " }, { first_name: "" })'
  data:
    properties:
        - name: ""
          node: null
          object:
            ruleid: object
            matchnode:
                id: 66
                typeid: 16
                contentstart:
                    byte: 124
                    line: 12
                    column: 1
                contentend:
                    byte: 129
                    line: 12
                    column: 6
                executingdetectors: []
            data:
                properties:
                    - name: a
                      node:
                        id: 13
                        typeid: 8
                        contentstart:
                            byte: 17
                            line: 1
                            column: 18
                        contentend:
                            byte: 28
                            line: 1
                            column: 29
                        executingdetectors: []
                      object:
                        ruleid: object
                        matchnode:
                            id: 16
                            typeid: 6
                            contentstart:
                                byte: 20
                                line: 1
                                column: 21
                            contentend:
                                byte: 28
                                line: 1
                                column: 29
                            executingdetectors: []
                        data:
                            properties:
                                - name: i
                                  node:
                                    id: 18
                                    typeid: 8
                                    contentstart:
                                        byte: 22
                                        line: 1
                                        column: 23
                                    contentend:
                                        byte: 26
                                        line: 1
                                        column: 27
                                    executingdetectors: []
                                  object: null
                            isvirtual: false
                isvirtual: false
        - name: ""
          node: null
          object:
            ruleid: object
            matchnode:
                id: 66
                typeid: 16
                contentstart:
                    byte: 124
                    line: 12
                    column: 1
                contentend:
                    byte: 129
                    line: 12
                    column: 6
                executingdetectors: []
            data:
                properties:
                    - name: x
                      node: null
                      object:
                        ruleid: object
                        matchnode:
                            id: 66
                            typeid: 16
                            contentstart:
                                byte: 124
                                line: 12
                                column: 1
                            contentend:
                                byte: 129
                                line: 12
                                column: 6
                            executingdetectors: []
                        data:
                            properties:
                                - name: a
                                  node:
                                    id: 13
                                    typeid: 8
                                    contentstart:
                                        byte: 17
                                        line: 1
                                        column: 18
                                    contentend:
                                        byte: 28
                                        line: 1
                                        column: 29
                                    executingdetectors: []
                                  object:
                                    ruleid: object
                                    matchnode:
                                        id: 16
                                        typeid: 6
                                        contentstart:
                                            byte: 20
                                            line: 1
                                            column: 21
                                        contentend:
                                            byte: 28
                                            line: 1
                                            column: 29
                                        executingdetectors: []
                                    data:
                                        properties:
                                            - name: i
                                              node:
                                                id: 18
                                                typeid: 8
                                                contentstart:
                                                    byte: 22
                                                    line: 1
                                                    column: 23
                                                contentend:
                                                    byte: 26
                                                    line: 1
                                                    column: 27
                                                executingdetectors: []
                                              object: null
                                        isvirtual: false
                            isvirtual: false
                isvirtual: true
        - name: ""
          node: null
          object:
            ruleid: object
            matchnode:
                id: 66
                typeid: 16
                contentstart:
                    byte: 124
                    line: 12
                    column: 1
                contentend:
                    byte: 129
                    line: 12
                    column: 6
                executingdetectors: []
            data:
                properties:
                    - name: obj
                      node: null
                      object:
                        ruleid: object
                        matchnode:
                            id: 66
                            typeid: 16
                            contentstart:
                                byte: 124
                                line: 12
                                column: 1
                            contentend:
                                byte: 129
                                line: 12
                                column: 6
                            executingdetectors: []
                        data:
                            properties:
                                - name: x
                                  node: null
                                  object: null
                            isvirtual: true
                isvirtual: true
    isvirtual: true
- node: 94
  content: 'obj.x({ email: " " }, { first_name: "" }).a'
  data:
    properties:
        - name: x
          node: null
          object:
            ruleid: object
            matchnode:
                id: 94
                typeid: 16
                contentstart:
                    byte: 166
                    line: 13
                    column: 1
                contentend:
                    byte: 209
                    line: 13
                    column: 44
                executingdetectors: []
            data:
                properties:
                    - name: a
                      node: null
                      object: null
                isvirtual: true
    isvirtual: true
- node: 6
  content: '{ x: { a: { i: 3 } }, y: 4 }'
  data:
    properties:
        - name: x
          node:
            id: 8
            typeid: 8
            contentstart:
                byte: 12
                line: 1
                column: 13
            contentend:
                byte: 30
                line: 1
                column: 31
            executingdetectors: []
          object:
            ruleid: object
            matchnode:
                id: 11
                typeid: 6
                contentstart:
                    byte: 15
                    line: 1
                    column: 16
                contentend:
                    byte: 30
                    line: 1
                    column: 31
                executingdetectors: []
            data:
                properties:
                    - name: a
                      node:
                        id: 13
                        typeid: 8
                        contentstart:
                            byte: 17
                            line: 1
                            column: 18
                        contentend:
                            byte: 28
                            line: 1
                            column: 29
                        executingdetectors: []
                      object:
                        ruleid: object
                        matchnode:
                            id: 16
                            typeid: 6
                            contentstart:
                                byte: 20
                                line: 1
                                column: 21
                            contentend:
                                byte: 28
                                line: 1
                                column: 29
                            executingdetectors: []
                        data:
                            properties:
                                - name: i
                                  node:
                                    id: 18
                                    typeid: 8
                                    contentstart:
                                        byte: 22
                                        line: 1
                                        column: 23
                                    contentend:
                                        byte: 26
                                        line: 1
                                        column: 27
                                    executingdetectors: []
                                  object: null
                            isvirtual: false
                isvirtual: false
        - name: "y"
          node:
            id: 25
            typeid: 8
            contentstart:
                byte: 32
                line: 1
                column: 33
            contentend:
                byte: 36
                line: 1
                column: 37
            executingdetectors: []
          object: null
    isvirtual: false
- node: 38
  content: obj["x"]
  data:
    properties:
        - name: a
          node:
            id: 13
            typeid: 8
            contentstart:
                byte: 17
                line: 1
                column: 18
            contentend:
                byte: 28
                line: 1
                column: 29
            executingdetectors: []
          object:
            ruleid: object
            matchnode:
                id: 16
                typeid: 6
                contentstart:
                    byte: 20
                    line: 1
                    column: 21
                contentend:
                    byte: 28
                    line: 1
                    column: 29
                executingdetectors: []
            data:
                properties:
                    - name: i
                      node:
                        id: 18
                        typeid: 8
                        contentstart:
                            byte: 22
                            line: 1
                            column: 23
                        contentend:
                            byte: 26
                            line: 1
                            column: 27
                        executingdetectors: []
                      object: null
                isvirtual: false
    isvirtual: false
- node: 38
  content: obj["x"]
  data:
    properties:
        - name: x
          node: null
          object:
            ruleid: object
            matchnode:
                id: 38
                typeid: 18
                contentstart:
                    byte: 66
                    line: 5
                    column: 1
                contentend:
                    byte: 74
                    line: 5
                    column: 9
                executingdetectors: []
            data:
                properties:
                    - name: a
                      node:
                        id: 13
                        typeid: 8
                        contentstart:
                            byte: 17
                            line: 1
                            column: 18
                        contentend:
                            byte: 28
                            line: 1
                            column: 29
                        executingdetectors: []
                      object:
                        ruleid: object
                        matchnode:
                            id: 16
                            typeid: 6
                            contentstart:
                                byte: 20
                                line: 1
                                column: 21
                            contentend:
                                byte: 28
                                line: 1
                                column: 29
                            executingdetectors: []
                        data:
                            properties:
                                - name: i
                                  node:
                                    id: 18
                                    typeid: 8
                                    contentstart:
                                        byte: 22
                                        line: 1
                                        column: 23
                                    contentend:
                                        byte: 26
                                        line: 1
                                        column: 27
                                    executingdetectors: []
                                  object: null
                            isvirtual: false
                isvirtual: false
    isvirtual: true
- node: 38
  content: obj["x"]
  data:
    properties:
        - name: obj
          node: null
          object:
            ruleid: object
            matchnode:
                id: 38
                typeid: 18
                contentstart:
                    byte: 66
                    line: 5
                    column: 1
                contentend:
                    byte: 74
                    line: 5
                    column: 9
                executingdetectors: []
            data:
                properties:
                    - name: x
                      node: null
                      object: null
                isvirtual: true
    isvirtual: true
- node: 66
  content: obj.x
  data:
    properties:
        - name: a
          node:
            id: 13
            typeid: 8
            contentstart:
                byte: 17
                line: 1
                column: 18
            contentend:
                byte: 28
                line: 1
                column: 29
            executingdetectors: []
          object:
            ruleid: object
            matchnode:
                id: 16
                typeid: 6
                contentstart:
                    byte: 20
                    line: 1
                    column: 21
                contentend:
                    byte: 28
                    line: 1
                    column: 29
                executingdetectors: []
            data:
                properties:
                    - name: i
                      node:
                        id: 18
                        typeid: 8
                        contentstart:
                            byte: 22
                            line: 1
                            column: 23
                        contentend:
                            byte: 26
                            line: 1
                            column: 27
                        executingdetectors: []
                      object: null
                isvirtual: false
    isvirtual: false
- node: 66
  content: obj.x
  data:
    properties:
        - name: x
          node: null
          object:
            ruleid: object
            matchnode:
                id: 66
                typeid: 16
                contentstart:
                    byte: 124
                    line: 12
                    column: 1
                contentend:
                    byte: 129
                    line: 12
                    column: 6
                executingdetectors: []
            data:
                properties:
                    - name: a
                      node:
                        id: 13
                        typeid: 8
                        contentstart:
                            byte: 17
                            line: 1
                            column: 18
                        contentend:
                            byte: 28
                            line: 1
                            column: 29
                        executingdetectors: []
                      object:
                        ruleid: object
                        matchnode:
                            id: 16
                            typeid: 6
                            contentstart:
                                byte: 20
                                line: 1
                                column: 21
                            contentend:
                                byte: 28
                                line: 1
                                column: 29
                            executingdetectors: []
                        data:
                            properties:
                                - name: i
                                  node:
                                    id: 18
                                    typeid: 8
                                    contentstart:
                                        byte: 22
                                        line: 1
                                        column: 23
                                    contentend:
                                        byte: 26
                                        line: 1
                                        column: 27
                                    executingdetectors: []
                                  object: null
                            isvirtual: false
                isvirtual: false
    isvirtual: true
- node: 66
  content: obj.x
  data:
    properties:
        - name: obj
          node: null
          object:
            ruleid: object
            matchnode:
                id: 66
                typeid: 16
                contentstart:
                    byte: 124
                    line: 12
                    column: 1
                contentend:
                    byte: 129
                    line: 12
                    column: 6
                executingdetectors: []
            data:
                properties:
                    - name: x
                      node: null
                      object: null
                isvirtual: true
    isvirtual: true
- node: 95
  content: 'obj.x({ email: " " }, { first_name: "" })'
  data:
    properties:
        - name: ""
          node: null
          object:
            ruleid: object
            matchnode:
                id: 96
                typeid: 16
                contentstart:
                    byte: 166
                    line: 13
                    column: 1
                contentend:
                    byte: 171
                    line: 13
                    column: 6
                executingdetectors: []
            data:
                properties:
                    - name: a
                      node:
                        id: 13
                        typeid: 8
                        contentstart:
                            byte: 17
                            line: 1
                            column: 18
                        contentend:
                            byte: 28
                            line: 1
                            column: 29
                        executingdetectors: []
                      object:
                        ruleid: object
                        matchnode:
                            id: 16
                            typeid: 6
                            contentstart:
                                byte: 20
                                line: 1
                                column: 21
                            contentend:
                                byte: 28
                                line: 1
                                column: 29
                            executingdetectors: []
                        data:
                            properties:
                                - name: i
                                  node:
                                    id: 18
                                    typeid: 8
                                    contentstart:
                                        byte: 22
                                        line: 1
                                        column: 23
                                    contentend:
                                        byte: 26
                                        line: 1
                                        column: 27
                                    executingdetectors: []
                                  object: null
                            isvirtual: false
                isvirtual: false
        - name: ""
          node: null
          object:
            ruleid: object
            matchnode:
                id: 96
                typeid: 16
                contentstart:
                    byte: 166
                    line: 13
                    column: 1
                contentend:
                    byte: 171
                    line: 13
                    column: 6
                executingdetectors: []
            data:
                properties:
                    - name: x
                      node: null
                      object:
                        ruleid: object
                        matchnode:
                            id: 96
                            typeid: 16
                            contentstart:
                                byte: 166
                                line: 13
                                column: 1
                            contentend:
                                byte: 171
                                line: 13
                                column: 6
                            executingdetectors: []
                        data:
                            properties:
                                - name: a
                                  node:
                                    id: 13
                                    typeid: 8
                                    contentstart:
                                        byte: 17
                                        line: 1
                                        column: 18
                                    contentend:
                                        byte: 28
                                        line: 1
                                        column: 29
                                    executingdetectors: []
                                  object:
                                    ruleid: object
                                    matchnode:
                                        id: 16
                                        typeid: 6
                                        contentstart:
                                            byte: 20
                                            line: 1
                                            column: 21
                                        contentend:
                                            byte: 28
                                            line: 1
                                            column: 29
                                        executingdetectors: []
                                    data:
                                        properties:
                                            - name: i
                                              node:
                                                id: 18
                                                typeid: 8
                                                contentstart:
                                                    byte: 22
                                                    line: 1
                                                    column: 23
                                                contentend:
                                                    byte: 26
                                                    line: 1
                                                    column: 27
                                                executingdetectors: []
                                              object: null
                                        isvirtual: false
                            isvirtual: false
                isvirtual: true
        - name: ""
          node: null
          object:
            ruleid: object
            matchnode:
                id: 96
                typeid: 16
                contentstart:
                    byte: 166
                    line: 13
                    column: 1
                contentend:
                    byte: 171
                    line: 13
                    column: 6
                executingdetectors: []
            data:
                properties:
                    - name: obj
                      node: null
                      object:
                        ruleid: object
                        matchnode:
                            id: 96
                            typeid: 16
                            contentstart:
                                byte: 166
                                line: 13
                                column: 1
                            contentend:
                                byte: 171
                                line: 13
                                column: 6
                            executingdetectors: []
                        data:
                            properties:
                                - name: x
                                  node: null
                                  object: null
                            isvirtual: true
                isvirtual: true
    isvirtual: true
- node: 72
  content: '{ email: " " }'
  data:
    properties:
        - name: email
          node:
            id: 74
            typeid: 8
            contentstart:
                byte: 132
                line: 12
                column: 9
            contentend:
                byte: 142
                line: 12
                column: 19
            executingdetectors: []
          object: null
    isvirtual: false
- node: 83
  content: '{ first_name: "" }'
  data:
    properties:
        - name: first_name
          node:
            id: 85
            typeid: 8
            contentstart:
                byte: 148
                line: 12
                column: 25
            contentend:
                byte: 162
                line: 12
                column: 39
            executingdetectors: []
          object: null
    isvirtual: false
- node: 96
  content: obj.x
  data:
    properties:
        - name: a
          node:
            id: 13
            typeid: 8
            contentstart:
                byte: 17
                line: 1
                column: 18
            contentend:
                byte: 28
                line: 1
                column: 29
            executingdetectors: []
          object:
            ruleid: object
            matchnode:
                id: 16
                typeid: 6
                contentstart:
                    byte: 20
                    line: 1
                    column: 21
                contentend:
                    byte: 28
                    line: 1
                    column: 29
                executingdetectors: []
            data:
                properties:
                    - name: i
                      node:
                        id: 18
                        typeid: 8
                        contentstart:
                            byte: 22
                            line: 1
                            column: 23
                        contentend:
                            byte: 26
                            line: 1
                            column: 27
                        executingdetectors: []
                      object: null
                isvirtual: false
    isvirtual: false
- node: 96
  content: obj.x
  data:
    properties:
        - name: x
          node: null
          object:
            ruleid: object
            matchnode:
                id: 96
                typeid: 16
                contentstart:
                    byte: 166
                    line: 13
                    column: 1
                contentend:
                    byte: 171
                    line: 13
                    column: 6
                executingdetectors: []
            data:
                properties:
                    - name: a
                      node:
                        id: 13
                        typeid: 8
                        contentstart:
                            byte: 17
                            line: 1
                            column: 18
                        contentend:
                            byte: 28
                            line: 1
                            column: 29
                        executingdetectors: []
                      object:
                        ruleid: object
                        matchnode:
                            id: 16
                            typeid: 6
                            contentstart:
                                byte: 20
                                line: 1
                                column: 21
                            contentend:
                                byte: 28
                                line: 1
                                column: 29
                            executingdetectors: []
                        data:
                            properties:
                                - name: i
                                  node:
                                    id: 18
                                    typeid: 8
                                    contentstart:
                                        byte: 22
                                        line: 1
                                        column: 23
                                    contentend:
                                        byte: 26
                                        line: 1
                                        column: 27
                                    executingdetectors: []
                                  object: null
                            isvirtual: false
                isvirtual: false
    isvirtual: true
- node: 96
  content: obj.x
  data:
    properties:
        - name: obj
          node: null
          object:
            ruleid: object
            matchnode:
                id: 96
                typeid: 16
                contentstart:
                    byte: 166
                    line: 13
                    column: 1
                contentend:
                    byte: 171
                    line: 13
                    column: 6
                executingdetectors: []
            data:
                properties:
                    - name: x
                      node: null
                      object: null
                isvirtual: true
    isvirtual: true
- node: 131
  content: x
  data:
    properties:
        - name: a
          node:
            id: 13
            typeid: 8
            contentstart:
                byte: 17
                line: 1
                column: 18
            contentend:
                byte: 28
                line: 1
                column: 29
            executingdetectors: []
          object:
            ruleid: object
            matchnode:
                id: 16
                typeid: 6
                contentstart:
                    byte: 20
                    line: 1
                    column: 21
                contentend:
                    byte: 28
                    line: 1
                    column: 29
                executingdetectors: []
            data:
                properties:
                    - name: i
                      node:
                        id: 18
                        typeid: 8
                        contentstart:
                            byte: 22
                            line: 1
                            column: 23
                        contentend:
                            byte: 26
                            line: 1
                            column: 27
                        executingdetectors: []
                      object: null
                isvirtual: false
    isvirtual: false
- node: 131
  content: x
  data:
    properties:
        - name: x
          node: null
          object:
            ruleid: object
            matchnode:
                id: 131
                typeid: 29
                contentstart:
                    byte: 235
                    line: 16
                    column: 7
                contentend:
                    byte: 236
                    line: 16
                    column: 8
                executingdetectors: []
            data:
                properties:
                    - name: a
                      node:
                        id: 13
                        typeid: 8
                        contentstart:
                            byte: 17
                            line: 1
                            column: 18
                        contentend:
                            byte: 28
                            line: 1
                            column: 29
                        executingdetectors: []
                      object:
                        ruleid: object
                        matchnode:
                            id: 16
                            typeid: 6
                            contentstart:
                                byte: 20
                                line: 1
                                column: 21
                            contentend:
                                byte: 28
                                line: 1
                                column: 29
                            executingdetectors: []
                        data:
                            properties:
                                - name: i
                                  node:
                                    id: 18
                                    typeid: 8
                                    contentstart:
                                        byte: 22
                                        line: 1
                                        column: 23
                                    contentend:
                                        byte: 26
                                        line: 1
                                        column: 27
                                    executingdetectors: []
                                  object: null
                            isvirtual: false
                isvirtual: false
    isvirtual: true
- node: 131
  content: x
  data:
    properties:
        - name: obj
          node: null
          object:
            ruleid: object
            matchnode:
                id: 131
                typeid: 29
                contentstart:
                    byte: 235
                    line: 16
                    column: 7
                contentend:
                    byte: 236
                    line: 16
                    column: 8
                executingdetectors: []
            data:
                properties:
                    - name: x
                      node: null
                      object: null
                isvirtual: true
    isvirtual: true
- node: 11
  content: '{ a: { i: 3 } }'
  data:
    properties:
        - name: a
          node:
            id: 13
            typeid: 8
            contentstart:
                byte: 17
                line: 1
                column: 18
            contentend:
                byte: 28
                line: 1
                column: 29
            executingdetectors: []
          object:
            ruleid: object
            matchnode:
                id: 16
                typeid: 6
                contentstart:
                    byte: 20
                    line: 1
                    column: 21
                contentend:
                    byte: 28
                    line: 1
                    column: 29
                executingdetectors: []
            data:
                properties:
                    - name: i
                      node:
                        id: 18
                        typeid: 8
                        contentstart:
                            byte: 22
                            line: 1
                            column: 23
                        contentend:
                            byte: 26
                            line: 1
                            column: 27
                        executingdetectors: []
                      object: null
                isvirtual: false
    isvirtual: false
- node: 102
  content: '{ email: " " }'
  data:
    properties:
        - name: email
          node:
            id: 104
            typeid: 8
            contentstart:
                byte: 174
                line: 13
                column: 9
            contentend:
                byte: 184
                line: 13
                column: 19
            executingdetectors: []
          object: null
    isvirtual: false
- node: 113
  content: '{ first_name: "" }'
  data:
    properties:
        - name: first_name
          node:
            id: 115
            typeid: 8
            contentstart:
                byte: 190
                line: 13
                column: 25
            contentend:
                byte: 204
                line: 13
                column: 39
            executingdetectors: []
          object: null
    isvirtual: false
- node: 16
  content: '{ i: 3 }'
  data:
    properties:
        - name: i
          node:
            id: 18
            typeid: 8
            contentstart:
                byte: 22
                line: 1
                column: 23
            contentend:
                byte: 26
                line: 1
                column: 27
            executingdetectors: []
          object: null
    isvirtual: false

