{
    "children":
    [
      {
        "attributes":
        {
          "argumentTypes": null,
          "commonType":
          {
            "typeIdentifier": "t_uint256",
            "typeString": "uint256"
          },
          "isConstant": false,
          "isLValue": false,
          "isPure": false,
          "lValueRequested": false,
          "operator": "<",
          "type": "bool"
        },
        "children":
        [
          {
            "attributes":
            {
              "argumentTypes": null,
              "overloadedDeclarations":
              [
                null
              ],
              "referencedDeclaration": 69,
              "type": "uint256",
              "value": "i"
            },
            "id": 82,
            "name": "Identifier",
            "src": "592:1:0"
          },
          {
            "attributes":
            {
              "argumentTypes": null,
              "hexvalue": "3130",
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "lValueRequested": false,
              "subdenomination": null,
              "token": "number",
              "type": "int_const 10",
              "value": "10"
            },
            "id": 83,
            "name": "Literal",
            "src": "596:2:0"
          }
        ],
        "id": 84,
        "name": "BinaryOperation",
        "src": "592:6:0"
      },
      {
        "children":
        [
          {
            "children":
            [
              {
                "attributes":
                {
                  "argumentTypes": null,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": false,
                  "isStructConstructorCall": false,
                  "lValueRequested": false,
                  "names":
                  [
                    null
                  ],
                  "type": "uint256",
                  "type_conversion": false
                },
                "children":
                [
                  {
                    "attributes":
                    {
                      "argumentTypes":
                      [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "member_name": "push",
                      "referencedDeclaration": null,
                      "type": "function (uint256) returns (uint256)"
                    },
                    "children":
                    [
                      {
                        "attributes":
                        {
                          "argumentTypes": null,
                          "overloadedDeclarations":
                          [
                            null
                          ],
                          "referencedDeclaration": 4,
                          "type": "uint256[] storage ref",
                          "value": "array"
                        },
                        "id": 72,
                        "name": "Identifier",
                        "src": "544:5:0"
                      }
                    ],
                    "id": 74,
                    "name": "MemberAccess",
                    "src": "544:10:0"
                  },
                  {
                    "attributes":
                    {
                      "argumentTypes": null,
                      "overloadedDeclarations":
                      [
                        null
                      ],
                      "referencedDeclaration": 69,
                      "type": "uint256",
                      "value": "i"
                    },
                    "id": 75,
                    "name": "Identifier",
                    "src": "555:1:0"
                  }
                ],
                "id": 76,
                "name": "FunctionCall",
                "src": "544:13:0"
              }
            ],
            "id": 77,
            "name": "ExpressionStatement",
            "src": "544:13:0"
          },
          {
            "children":
            [
              {
                "attributes":
                {
                  "argumentTypes": null,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": false,
                  "lValueRequested": false,
                  "operator": "++",
                  "prefix": false,
                  "type": "uint256"
                },
                "children":
                [
                  {
                    "attributes":
                    {
                      "argumentTypes": null,
                      "overloadedDeclarations":
                      [
                        null
                      ],
                      "referencedDeclaration": 69,
                      "type": "uint256",
                      "value": "i"
                    },
                    "id": 78,
                    "name": "Identifier",
                    "src": "571:1:0"
                  }
                ],
                "id": 79,
                "name": "UnaryOperation",
                "src": "571:3:0"
              }
            ],
            "id": 80,
            "name": "ExpressionStatement",
            "src": "571:3:0"
          }
        ],
        "id": 81,
        "name": "Block",
        "src": "530:55:0"
      }
    ],
    "id": 85,
    "name": "DoWhileStatement",
    "src": "528:72:0"
  }