(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:iam)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(id)} {(-un)})])
                left_token: <Left_CommandSub '$('>
                spids: [13 17]
              )
            }
          spids: [12]
        )
      ]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:myhome)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (Pipeline
                          children: [
                            (C {(grep)} {(DQ ('^') (${ VSub_Name iam) (':'))} {(/etc/passwd)})
                            (C {(cut)} {(-d) (Lit_Other ':')} {(-f6)})
                          ]
                          negated: F
                        )
                      ]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [21 42]
                )
              )
            }
          spids: [19]
        )
      ]
      spids: [19]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$iam'))} {(KW_Bang '!') (Lit_Other '=')} 
                  {(DQ (guest))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (SimpleCommand
              words: [{(echo)} {(DQ ("Error: you really don't want to run fixguest on this account."))}]
              redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 69]
        )
      ]
      spids: [16777215 86]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {($ VSub_Name '$myhome') (/..template)} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (SimpleCommand
              words: [
                {(echo)}
                {(DQ ($ VSub_Number '$0') (': no template directory found for rebuilding.'))}
              ]
              redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 104]
        )
      ]
      spids: [16777215 122]
    )
    (C {(cd)} {($ VSub_Name '$myhome')})
    (C {(rm)} {(-rf)} {(Lit_Other '*')} 
      {
        (CommandSubPart
          command_list: 
            (CommandList
              children: [(C {(find)} {(.)} {(-name)} {(DQ ('.[a-zA-Z0-9]*'))} {(-print)})]
            )
          left_token: <Left_CommandSub '$('>
          spids: [140 152]
        )
      }
    )
    (C {(cp)} {(-Rp)} {(..template/) (Lit_Other '*')} {(.)})
    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
  ]
)