(CommandList
  children: [
    (FuncDef
      name: pull_repo
      body: 
        (BraceGroup
          children: [
            (C {(rm)} {(-rf)} {(DQ (packages/alt-) ($ VSub_Number "$1") (-0.tar.bz2))} 
              {(build/packages/alt-) ($ VSub_Number "$1")}
            )
            (C {(mkdir)} {(-p)} {(build/packages/alt-) ($ VSub_Number "$1")})
            (AndOr
              children: [
                (C {(pushd)} {(build/packages/alt-) ($ VSub_Number "$1")})
                (AndOr
                  children: [
                    (C {(ln)} {(-s)} {(../../../repos/) ($ VSub_Number "$1") (/.git)} {(.git)})
                    (AndOr
                      children: [(C {(git)} {(checkout)} {(-f)} {(master)}) (C {(git)} {(pull)})]
                      op_id: Op_DAmp
                    )
                  ]
                  op_id: Op_DAmp
                )
              ]
              op_id: Op_DAmp
            )
            (C {(popd)})
          ]
          spids: [16]
        )
      spids: [12 15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LeftVar name:SNAPSHOTS)
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: 
                    (C {(find)} {(snapshots)} {(-mindepth)} {(1)} {(-maxdepth)} {(1)} {(-type)} {(d)})
                  spids: [94 110]
                )
              )
            }
          spids: [92]
        )
      ]
      spids: [92]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LeftVar name:COUNT)
          rhs: 
            {
              (ArithSubPart
                anode: 
                  (ArithBinary
                    op_id: Arith_Minus
                    left: 
                      (ArithWord
                        w: 
                          {
                            (CommandSubPart
                              command_list: 
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ($ VSub_Name "$SNAPSHOTS"))})
                                    (C {(wc)} {(-l)})
                                  ]
                                  negated: False
                                )
                              spids: [116 128]
                            )
                          }
                      )
                    right: (ArithWord w:{(Lit_Digits 30)})
                  )
                spids: [114 135]
              )
            }
          spids: [113]
        )
      ]
      spids: [113]
    )
    (If
      arms: [
        (if_arm
          cond: (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$COUNT"))} {(-gt)} {(0)} {(Lit_Other "]")})
          action: 
            (CommandList
              children: [
                (C {(rm)} {(-rf)} 
                  {
                    (CommandSubPart
                      command_list: 
                        (Pipeline
                          children: [
                            (C {(echo)} {(DQ ($ VSub_Name "$SNAPSHOTS"))})
                            (C {(sort)})
                            (C {(head)} {(-n)} {($ VSub_Name "$COUNT")})
                          ]
                          negated: False
                        )
                      spids: [162 182]
                    )
                  }
                )
                (C {(rm)} {(-rf)} 
                  {
                    (CommandSubPart
                      command_list: (C {(find)} {(-L)} {(snapshots)} {(-type)} {(l)})
                      spids: [189 199]
                    )
                  }
                )
              ]
            )
          spids: [-1 151]
        )
      ]
      spids: [-1 201]
    )
    (C {(echo)} {(Lit_Other "=") (Lit_Other "=") (Lit_Other "=")} {(Begin)} {(cron)} {(job)})
    (Assignment
      keyword: Assign_Export
      pairs: [
        (assign_pair
          lhs: (LeftVar name:SNAPSHOT_DATE)
          rhs: 
            {
              (CommandSubPart
                command_list: (C {(date)} {(Lit_Other "+") (DQ ("%Y-%m-%d"))})
                spids: [224 231]
              )
            }
          spids: [223]
        )
      ]
      spids: [221]
    )
    (AndOr
      children: [
        (C {(mkdir)} {(-p)} {(snapshots/) ($ VSub_Name "$SNAPSHOT_DATE") (/base)})
        (AndOr
          children: [
            (C {(rm)} {(snapshots/latest)})
            (AndOr
              children: [
                (C {(ln)} {(-sf)} {($ VSub_Name "$SNAPSHOT_DATE")} {(snapshots/latest)})
                (C {(exit)} {(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          op_id: Op_DAmp
        )
      ]
      op_id: Op_DAmp
    )
    (FuncDef
      name: build_snapshot
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$USE_ALT"))} {(Lit_Other "]")})
                  action: 
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LeftVar name:SNAPNAME) rhs:{(base)} spids:[291])]
                      spids: [291]
                    )
                  spids: [-1 288]
                )
              ]
              else_action: 
                (CommandList
                  children: [
                    (C {(pull_repo)} {($ VSub_Name "$USE_ALT")})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LeftVar name:SNAPNAME)
                          rhs: {($ VSub_Name "$USE_ALT")}
                          spids: [303]
                        )
                      ]
                      spids: [303]
                    )
                  ]
                )
              spids: [295 307]
            )
            (C {(echo)} {(Lit_Other "=") (Lit_Other "=") (Lit_Other "=")} {(Building)} {(snapshot)} 
              {($ VSub_Name "$SNAPNAME")}
            )
            (AndOr
              children: [
                (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$USE_ALT"))} {(Lit_Other "=") (Lit_Other "=")} 
                  {(linux)} {(Lit_Other "]")}
                )
                (C {(more/for-each-arch.sh)} {(SQ <"more/migrate-kernel.sh $TARGET">)})
              ]
              op_id: Op_DAmp
            )
            (C {(./download.sh)})
            (If
              arms: [
                (if_arm
                  cond: 
                    (C {(cmp)} {(-s)} {(snapshots/latest/) ($ VSub_Name "$SNAPNAME") (/MANIFEST)} 
                      {(packages/MANIFEST)}
                    )
                  action: 
                    (CommandList
                      children: [
                        (C {(cp)} {(-rl)} 
                          {(snapshots/latest/) ($ VSub_Name "$SNAPNAME") (/) (Lit_Other "*")} {(snapshots/) ($ VSub_Name "$SNAPSHOT_DATE") (/) ($ VSub_Name "$SNAPNAME")}
                        )
                        (C {(return)})
                      ]
                    )
                  spids: [-1 376]
                )
              ]
              spids: [-1 397]
            )
            (C {(nice)} {(-n)} {(20)} {(more/buildall.sh)})
            (C {(rm)} {(build/simple-cross-compiler-) (Lit_Other "*") (.tar.bz2)})
            (C {(mv)} {(build/) (Lit_Other "*") (.tar.bz2)} {(build/logs)} {(build/MANIFEST)} 
              {(snapshots/) ($ VSub_Name "$SNAPSHOT_DATE") (/) ($ VSub_Name "$SNAPNAME")}
            )
          ]
          spids: [272]
        )
      spids: [268 271]
    )
    (C {(build_snapshot)} {(base)})
    (C {(echo)} {(Lit_Other "=") (Lit_Other "=") (Lit_Other "=")} {(Building)} {(QEMU)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LeftVar name:QPATH) rhs:{(DQ )} spids:[460])]
      spids: [460]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LeftVar name:CPUS)
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (Pipeline
                    children: [
                      (C {(echo)} 
                        {(/sys/devices/system/cpu/cpu) (Lit_Other "[") (0-9) (Lit_Other "]") 
                          (Lit_Other "*")
                        }
                      )
                      (C {(wc)} {(-w)})
                    ]
                    negated: False
                  )
                spids: [465 479]
              )
            }
          spids: [464]
        )
      ]
      spids: [464]
    )
    (C {(pull_repo)} {(qemu)})
    (C {(pushd)} {(build/packages/alt-qemu)})
    (AndOr
      children: [
        (C {(./configure)} {(--disable-werror)})
        (AndOr
          children: [
            (Pipeline
              children: [
                (SimpleCommand
                  words: [{(nice)} {(-n)} {(20)} {(make)} {(-j)} {($ VSub_Name "$CPUS")}]
                  redirects: [(Redirect op_id:Redir_GreatAnd arg_word:{(1)} fd:2 spids:[507])]
                )
                (C {(tee)} {(build/logs/alt-qemu.txt)})
              ]
              negated: False
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LeftVar name:QPATH)
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (ForEach
                              iter_name: i
                              iter_words: [{(Lit_Other "*") (-softmmu)}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  child: 
                                    (Sentence
                                      command: 
                                        (C {(echo)} {(-n)} 
                                          {(CommandSubPart command_list:(C {(pwd)}) spids:[536538]) 
                                            (/) ($ VSub_Name "$i") (Lit_Other ":")
                                          }
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  spids: [530 544]
                                )
                              spids: [526 529]
                            )
                          spids: [520 545]
                        )
                      )
                    }
                  spids: [518]
                )
              ]
              spids: [518]
            )
          ]
          op_id: Op_DAmp
        )
      ]
      op_id: Op_DAmp
    )
    (C {(popd)})
    (AndOr
      children: [
        (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$QPATH"))} {(Lit_Other "]")})
        (SimpleCommand
          words: [
            {(more/for-each-target.sh)}
            {
              (SQ 
                <
"more/smoketest.sh $TARGET | tee snapshots/$SNAPSHOT_DATE/base/logs/newqemu-smoketest-$TARGET.txt"
                >
              )
            }
          ]
          more_env: [
            (env_pair
              name: PATH
              val: {(DQ ($ VSub_Name "$QPATH") (":") ($ VSub_Name "$PATH"))}
              spids: [568]
            )
          ]
        )
      ]
      op_id: Op_DPipe
    )
  ]
)