(CommandList
  children: [
    (C {(set)} {(-e)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:candidate_list)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"ansible-bcpc-bootstrap ansible-bcpc-vm1 ansible-bcpc-vm2 ansible-bcpc-vm3 ansible-bcpc-vm4 ansible-bcpc-vm5 ansible-bcpc-vm6"
                )
              )
            }
          spids: [14]
        )
      ]
      spids: [14]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:existing_vms)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (Pipeline
                              children: [
                                (C {(VBoxManage)} {(list)} {(vms)})
                                (C {(awk)} {(-v)} 
                                  {(Lit_VarLike "vmpattern=") 
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name candidate_list>
                                        suffix_op: 
                                          (PatSub
                                            pat: {(" ")}
                                            replace: {("|")}
                                            do_all: True
                                            do_prefix: False
                                            do_suffix: False
                                          )
                                        spids: [37 44]
                                      )
                                    )
                                  } {(SQ <"$1 ~ vmpattern {gsub(/\"/,\"\",$1);print $1}">)}
                                )
                              ]
                              negated: False
                            )
                          ]
                        )
                      left_token: <Left_CommandSub "$(">
                      spids: [22 50]
                    )
                  }
                ]
              )
            }
          spids: [19]
        )
      ]
      spids: [19]
    )
    (ForEach
      iter_name: VM
      iter_words: [
        {
          (BracedVarSub
            token: <VSub_Name existing_vms>
            bracket_op: (WholeArray op_id:Lit_At)
            spids: [60 65]
          )
        }
      ]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (AndOr
              children: [
                (C {(VBoxManage)} {(controlvm)} {($ VSub_Name "$VM")} {(poweroff)})
                (C {(true)})
              ]
              op_id: Op_DAmp
            )
            (C {(VBoxManage)} {(unregistervm)} {($ VSub_Name "$VM")} {(--delete)})
          ]
          spids: [68 92]
        )
      spids: [59 66]
    )
  ]
)