(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:PATH)
          op: Equal
          rhs: {(Lit_Other ':') (/bin) (Lit_Other ':') (/usr/bin)}
          spids: [8]
        )
      ]
      spids: [8]
    )
    (C {(export)} {(PATH)})
    (C {(echo)} {(-n)} {(DQ ('Shell test  1 '))})
    (C {(rm)} {(-rf)} {(DIR_SH1)})
    (C {(mkdir)} {(DIR_SH1)})
    (C {(cd)} {(DIR_SH1)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:f) op:Equal rhs:{(../test1.c)} spids:[42])]
      spids: [42]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(test)} {(-r)} {($ VSub_Name '$f')}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 54]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(sh1)} {(cannot)} {(read)} {($ VSub_Name '$f')})
          terminator: <Op_Semi ';'>
        )
        (Sentence child:(C {(exit)} {(1)}) terminator:<Op_Semi ';'>)
      ]
      spids: [60 78]
    )
    (SimpleCommand
      words: [{(echo)} {(DQ (abcdefghijklmnopqrstuvwxyz))}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(alpha)} spids:[90])]
    )
    (SimpleCommand
      words: [{(echo)} {(DQ (ABCDEFGHIJKLMNOPQRSTUVWXYZ))}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(ALPHA)} spids:[99])]
    )
    (SimpleCommand
      words: [{(echo)} {(DQ (0123456789))}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(num)} spids:[108])]
    )
    (SimpleCommand
      words: [{(echo)} {(DQ ('!@#') (Lit_Other '$') ('%^&*()_+=-{}[]:;<>?/.,'))}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(special)} spids:[119])]
    )
    (C {(cp)} {(/etc/rc)} {(rc)})
    (C {(cp)} {(/etc/passwd)} {(passwd)})
    (SimpleCommand
      words: [{(cat)} {(alpha)} {(ALPHA)} {(num)} {(rc)} {(passwd)} {(special)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(tmp)} spids:[148])]
    )
    (SimpleCommand
      words: [{(cat)} {(tmp)} {(tmp)} {(tmp)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(f1)} spids:[159])]
    )
    (C {(mkdir)} {(foo)})
    (C {(cp)} {(/etc/rc)} {(/etc/passwd)} {(foo)})
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(foo/rc)} {(/etc/rc)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 191]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(cp)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [197 212]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(cmp)} {(-s)} {(foo/passwd)} {(/etc/passwd)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 226]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(cp)} {(test)} {(2)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [232 247]
    )
    (C {(rm)} {(-rf)} {(foo)})
    (SimpleCommand
      words: [{(cat)} {(num)} {(num)} {(num)} {(num)} {(num)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(y)} spids:[271])]
    )
    (SimpleCommand
      words: [{(wc)} {(-c)} {(y)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(x1)} spids:[280])]
    )
    (SimpleCommand
      words: [{(echo)} {(DQ ('     55 y'))}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(x2)} spids:[289])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(x1)} {(x2)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 303]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(cat)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [309 324]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Less fd:-1 arg_word:{(y)} spids:[328])
        (Redir op_id:Redir_Great fd:-1 arg_word:{(z)} spids:[331])
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(y)} {(z)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 345]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(cat)} {(test)} {(2)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [351 366]
    )
    (SimpleCommand
      words: [{(cat)} {(passwd)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(p)} spids:[376])]
    )
    (C {(cp)} {(passwd)} {(q)})
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(p)} {(q)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 396]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(ar)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [402 417]
    )
    (SimpleCommand
      words: [{(date)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(r)} spids:[421])]
    )
    (SimpleCommand
      words: [{(ar)} {(r)} {(x.a)} {(p)} {(q)} {(r)}]
      redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[436])]
    )
    (C {(ar)} {(r)} {(x.a)} {(/usr/bin/cp)})
    (C {(ar)} {(r)} {(x.a)} {(/usr/bin/cat)})
    (C {(rm)} {(p)} {(q)})
    (C {(mv)} {(r)} {(R)})
    (C {(ar)} {(x)} {(x.a)})
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(p)} {(/etc/passwd)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 484]
        )
      ]
      else_action: [
        (Sentence child:(C {(Error)} {(on)} {(ar)} {(test)} {(2)}) terminator:<Op_Semi ';'>)
      ]
      spids: [490 503]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(q)} {(/etc/passwd)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 516]
        )
      ]
      else_action: [
        (Sentence child:(C {(Error)} {(on)} {(ar)} {(test)} {(3)}) terminator:<Op_Semi ';'>)
      ]
      spids: [522 535]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(r)} {(R)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 548]
        )
      ]
      else_action: [
        (Sentence child:(C {(Error)} {(on)} {(ar)} {(test)} {(4)}) terminator:<Op_Semi ';'>)
      ]
      spids: [554 567]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(cp)} {(/usr/bin/cp)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 580]
        )
      ]
      else_action: [
        (Sentence child:(C {(Error)} {(on)} {(ar)} {(test)} {(5)}) terminator:<Op_Semi ';'>)
      ]
      spids: [586 599]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(cat)} {(/usr/bin/cat)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 612]
        )
      ]
      else_action: [
        (Sentence child:(C {(Error)} {(on)} {(ar)} {(test)} {(6)}) terminator:<Op_Semi ';'>)
      ]
      spids: [618 631]
    )
    (C {(rm)} {(cp)} {(cat)} {(p)} {(q)} {(r)})
    (SimpleCommand
      words: [{(ar)} {(d)} {(x.a)} {(r)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[653])]
    )
    (C {(ar)} {(x)} {(x.a)})
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(test)} {(-r)} {(r)}) terminator:<Op_Semi ';'>)]
          action: [
            (Sentence
              child: (C {(echo)} {(Error)} {(on)} {(ar)} {(test)} {(7)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [-1 671]
        )
      ]
      spids: [-1 686]
    )
    (C {(rm)} {(-rf)} {(p)} {(q)} {(r)} {(R)})
    (If
      arms: [
        (if_arm
          cond: [
            (C {(test)} 
              {
                (CommandSubPart
                  command_list: (CommandList children:[(C {(basename)} {(/usr/ast/foo.c)} {(.c)})])
                  left_token: <Left_Backtick '`'>
                  spids: [708 714]
                )
              } {(KW_Bang '!') (Lit_Other '=')} {(SQ <foo>)}
            )
          ]
          action: [(C {(echo)} {(Error)} {(on)} {(basename)} {(test)} {(1)})]
          spids: [-1 724]
        )
      ]
      spids: [-1 738]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(test)} 
                  {
                    (CommandSubPart
                      command_list: (CommandList children:[(C {(basename)} {(a/b/c/d)})])
                      left_token: <Left_Backtick '`'>
                      spids: [745 749]
                    )
                  } {(KW_Bang '!') (Lit_Other '=')} {(SQ <d>)}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Sentence
              child: (C {(Error)} {(on)} {(basename)} {(test)} {(2)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [-1 759]
        )
      ]
      spids: [-1 772]
    )
    (C {(cp)} {($ VSub_Name '$f')} {(x.c)})
    (SimpleCommand
      words: [{(echo)} {(DQ ('/a/s//#####/g'))}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(s)} spids:[793])]
    )
    (SimpleCommand
      words: [{(sed)} {(-f)} {(s)}]
      redirects: [
        (Redir op_id:Redir_Less fd:-1 arg_word:{(x.c)} spids:[805])
        (Redir op_id:Redir_Great fd:-1 arg_word:{(y.c)} spids:[808])
      ]
    )
    (SimpleCommand
      words: [{(cdiff)} {(x.c)} {(y.c)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(y)} spids:[820])]
    )
    (SimpleCommand
      words: [{(patch)} {(x.c)} {(y)}]
      redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[832])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(x.c)} {(y.c)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 849]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(cdiff)} {(test)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [855 868]
    )
    (C {(rm)} {(x.c) (Lit_Other '*')} {(y.c)} {(s)} {(y)})
    (SimpleCommand
      words: [{(ls)} {(/etc)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(x)} spids:[889])]
    )
    (SimpleCommand
      words: [{(grep)} {(-v)} {(DQ (passwd))} {(x)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(y)} spids:[905])]
    )
    (SimpleCommand
      words: [{(comm)} {(-3)} {(x)} {(y)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(z)} spids:[919])]
    )
    (SimpleCommand
      words: [{(echo)} {(DQ (passwd))}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(w)} spids:[931])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(w)} {(z)}) terminator:<Op_Semi ';'>)]
          action: [
            (Sentence
              child: 
                (C {(Lit_Other ':')} {(KW_Else else)} {(echo)} {(Error)} {(on)} {(comm)} {(test)} {(1)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [-1 945]
        )
      ]
      spids: [-1 964]
    )
    (SimpleCommand
      words: [{(comm)} {(-13)} {(x)} {(y)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(z)} spids:[975])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(test)} {(-s)} {(z)}) terminator:<Op_Semi ';'>)]
          action: [
            (Sentence
              child: (C {(echo)} {(Error)} {(on)} {(comm)} {(test)} {(2)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [-1 990]
        )
      ]
      spids: [-1 1005]
    )
    (C {(rm)} {(-rf)} {(w)} {(x)} {(y)} {(z)})
    (SimpleCommand
      words: [{(compress)} {(-fc)} {($ VSub_Name '$f')}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(x.c.Z)} spids:[1029])]
    )
    (SimpleCommand
      words: [{(compress)} {(-cd)} {(x.c.Z)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(y)} spids:[1041])]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(cmp)} {(-s)} {($ VSub_Name '$f')} {(y)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Sentence
              child: 
                (C {(Lit_Other ':')} {(KW_Else else)} {(echo)} {(Error)} {(KW_In in)} {(compress)} {(test)} 
                  {(1)}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [-1 1058]
        )
      ]
      spids: [-1 1077]
    )
    (C {(rm)} {(-rf)} {(x.c.Z)} {(y)})
    (C {(cp)} {($ VSub_Name '$f')} {(x)})
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(y)} spids:[1102])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {(DQ ('g/a/s//#####/g\n') ('g/b/s//@@@@@/g\n') ('g/c/s//!!!!!/g\n') ('w\n') ('q\n'))}
          do_expansion: True
          here_end: END
          was_filled: True
          spids: [1105]
        )
      ]
    )
    (SimpleCommand
      words: [{(ed)} {(x)}]
      redirects: [
        (Redir op_id:Redir_Less fd:-1 arg_word:{(y)} spids:[1117])
        (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[1120])
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(y)} spids:[1125])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {(DQ ('g/#####/s//a/g\n') ('g/@@@@@/s//b/g\n') ('g/!!!!!/s//c/g\n') ('w\n') ('q\n'))}
          do_expansion: True
          here_end: END
          was_filled: True
          spids: [1128]
        )
      ]
    )
    (SimpleCommand
      words: [{(ed)} {(x)}]
      redirects: [
        (Redir op_id:Redir_Less fd:-1 arg_word:{(y)} spids:[1140])
        (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[1143])
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(cmp)} {(-s)} {(x)} {($ VSub_Name '$f')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 1157]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(ed)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [1163 1178]
    )
    (C {(rm)} {(x)} {(y)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(test)} 
                  {
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [(C {(expr)} {(1)} {(Lit_Other '+')} {(1)})]
                        )
                      left_token: <Left_Backtick '`'>
                      spids: [1194 1202]
                    )
                  } {(KW_Bang '!') (Lit_Other '=')} {(2)}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Sentence
              child: (C {(echo)} {(Error)} {(on)} {(expr)} {(test)} {(1)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [-1 1210]
        )
      ]
      spids: [-1 1225]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(test)} 
                  {
                    (CommandSubPart
                      command_list: (CommandList children:[(C {(expr)} {(10000)} {(-)} {(1)})])
                      left_token: <Left_Backtick '`'>
                      spids: [1231 1239]
                    )
                  } {(KW_Bang '!') (Lit_Other '=')} {(9999)}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Sentence
              child: (C {(echo)} {(Error)} {(on)} {(expr)} {(test)} {(2)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [-1 1247]
        )
      ]
      spids: [-1 1262]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(test)} 
                  {
                    (CommandSubPart
                      command_list: (CommandList children:[(C {(expr)} {(100)} {(SQ <'*'>)} {(50)})])
                      left_token: <Left_Backtick '`'>
                      spids: [1268 1278]
                    )
                  } {(KW_Bang '!') (Lit_Other '=')} {(5000)}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Sentence
              child: (C {(echo)} {(Error)} {(on)} {(expr)} {(test)} {(3)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [-1 1286]
        )
      ]
      spids: [-1 1301]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(test)} 
                  {
                    (CommandSubPart
                      command_list: (CommandList children:[(C {(expr)} {(120)} {(/)} {(5)})])
                      left_token: <Left_Backtick '`'>
                      spids: [1307 1315]
                    )
                  } {(KW_Bang '!') (Lit_Other '=')} {(24)}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Sentence
              child: (C {(echo)} {(Error)} {(on)} {(expr)} {(test)} {(4)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [-1 1323]
        )
      ]
      spids: [-1 1338]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(test)} 
                  {
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [(C {(expr)} {(143)} {(Lit_Other '%')} {(7)})]
                        )
                      left_token: <Left_Backtick '`'>
                      spids: [1344 1352]
                    )
                  } {(KW_Bang '!') (Lit_Other '=')} {(3)}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Sentence
              child: (C {(echo)} {(Error)} {(on)} {(expr)} {(test)} {(5)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [-1 1360]
        )
      ]
      spids: [-1 1375]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:a) op:Equal rhs:{(100)} spids:[1377])]
      spids: [1377]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:a)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [(C {(expr)} {($ VSub_Name '$a')} {(Lit_Other '+')} {(1)})]
                  )
                left_token: <Left_Backtick '`'>
                spids: [1381 1389]
              )
            }
          spids: [1380]
        )
      ]
      spids: [1380]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {($ VSub_Name '$a')} {(KW_Bang '!') (Lit_Other '=')} {(SQ <101>)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Sentence
              child: (C {(echo)} {(Error)} {(on)} {(expr)} {(test)} {(6)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [-1 1405]
        )
      ]
      spids: [-1 1420]
    )
    (SimpleCommand
      words: [{(fgrep)} {(DQ (abc))} {(alpha)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(z)} spids:[1434])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(alpha)} {(z)}) terminator:<Op_Semi ';'>)]
          action: [
            (Sentence
              child: 
                (C {(Lit_Other ':')} {(KW_Else else)} {(echo)} {(Error)} {(on)} {(fgrep)} {(test)} {(1)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [-1 1449]
        )
      ]
      spids: [-1 1468]
    )
    (SimpleCommand
      words: [{(fgrep)} {(DQ (abc))} {(num)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(z)} spids:[1478])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(test)} {(-s)} {(z)}) terminator:<Op_Semi ';'>)]
          action: [
            (Sentence
              child: (C {(echo)} {(Error)} {(on)} {(fgrep)} {(test)} {(2)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [-1 1490]
        )
      ]
      spids: [-1 1505]
    )
    (SimpleCommand
      words: [{(cat)} {(alpha)} {(num)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(z)} spids:[1513])]
    )
    (SimpleCommand
      words: [{(fgrep)} {(DQ (012))} {(z)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(w)} spids:[1524])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(w)} {(num)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 1538]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(fgrep)} {(test)} {(3)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [1544 1557]
    )
    (SimpleCommand
      words: [{(date)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(Rabbit)} spids:[1566])]
    )
    (SimpleCommand
      words: [{(echo)} {(DQ (Rabbit))}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(y)} spids:[1575])]
    )
    (SimpleCommand
      words: [{(find)} {(.)} {(-name)} {(Rabbit)} {(-print)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(z)} spids:[1588])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(y)} {(z)}) terminator:<Op_Semi ';'>)]
          action: [
            (Sentence
              child: 
                (C {(Lit_Other ':')} {(KW_Else else)} {(echo)} {(Error)} {(on)} {(find)} {(test)} {(1)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [-1 1602]
        )
      ]
      spids: [-1 1621]
    )
    (SimpleCommand
      words: [{(find)} {(.)} {(-name)} {(Bunny)} {(-print)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(z)} spids:[1633])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(test)} {(-s)} {(z)}) terminator:<Op_Semi ';'>)]
          action: [
            (Sentence
              child: (C {(echo)} {(Error)} {(on)} {(find)} {(test)} {(2)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [-1 1645]
        )
      ]
      spids: [-1 1660]
    )
    (C {(rm)} {(Rabbit)} {(y)} {(z)})
    (SimpleCommand
      words: [{(grep)} {(DQ (a))} {(alpha)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(x)} spids:[1682])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(x)} {(alpha)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 1696]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(grep)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [1702 1717]
    )
    (SimpleCommand
      words: [{(grep)} {(DQ (a))} {(ALPHA)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(x)} spids:[1727])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(test)} {(-s)} {(x)}) terminator:<Op_Semi ';'>)]
          action: [
            (Sentence
              child: (C {(echo)} {(Error)} {(on)} {(grep)} {(test)} {(2)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [-1 1739]
        )
      ]
      spids: [-1 1754]
    )
    (SimpleCommand
      words: [{(grep)} {(-v)} {(DQ (0))} {(alpha)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(x)} spids:[1766])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(x)} {(alpha)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 1780]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(grep)} {(test)} {(3)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [1786 1801]
    )
    (SimpleCommand
      words: [{(grep)} {(-s)} {(DQ (a))} {(alpha)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(x)} spids:[1813])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(test)} {(-s)} {(x)}) terminator:<Op_Semi ';'>)]
          action: [
            (Sentence
              child: (C {(echo)} {(Error)} {(on)} {(grep)} {(test)} {(4)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [-1 1825]
        )
      ]
      spids: [-1 1840]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (SimpleCommand
                  words: [{(grep)} {(-s)} {(DQ (a))} {(alpha)}]
                  redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(x)} spids:[1854])]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Sentence
              child: 
                (C {(Lit_Other ':')} {(KW_Else else)} {(echo)} {(Error)} {(on)} {(grep)} {(test)} {(5)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [-1 1858]
        )
      ]
      spids: [-1 1877]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (SimpleCommand
                  words: [{(grep)} {(-s)} {(DQ (a))} {(ALPHA)}]
                  redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(x)} spids:[1891])]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Sentence
              child: (C {(echo)} {(Error)} {(on)} {(grep)} {(test)} {(6)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [-1 1895]
        )
      ]
      spids: [-1 1910]
    )
    (SimpleCommand
      words: [{(head)} {(-1)} {(f1)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(x)} spids:[1922])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(x)} {(alpha)}) terminator:<Op_Semi ';'>)]
          action: [
            (Sentence
              child: 
                (C {(Lit_Other ':')} {(KW_Else else)} {(echo)} {(Error)} {(on)} {(head)} {(test)} {(1)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [-1 1936]
        )
      ]
      spids: [-1 1955]
    )
    (SimpleCommand
      words: [{(head)} {(-2)} {(f1)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(x)} spids:[1963])]
    )
    (SimpleCommand
      words: [{(cat)} {(alpha)} {(ALPHA)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(y)} spids:[1972])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(x)} {(y)}) terminator:<Op_Semi ';'>)]
          action: [
            (Sentence
              child: 
                (C {(Lit_Other ':')} {(KW_Else else)} {(echo)} {(Error)} {(on)} {(head)} {(test)} {(2)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [-1 1986]
        )
      ]
      spids: [-1 2005]
    )
    (C {(mkdir)} {(FOO)})
    (C {(cp)} {(passwd)} {(FOO/z)})
    (C {(cp)} {(alpha)} {(FOO/x)})
    (C {(cp)} {(ALPHA)} {(FOO/y)})
    (C {(cd)} {(FOO)})
    (SimpleCommand
      words: [{(ls)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(w)} spids:[2039])]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(w1)} spids:[2044])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {(DQ ('w\n') ('x\n') ('y\n') ('z\n'))}
          do_expansion: True
          here_end: END
          was_filled: True
          spids: [2047]
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(w)} {(w1)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 2065]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(ls)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [2071 2086]
    )
    (C {(rm)} {(Lit_Other '*')})
    (C {(cd)} {(..)})
    (C {(rmdir)} {(FOO)})
    (C {(mkdir)} {(Foo)} {(Bar)})
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(test)} {(-d)} {(Foo)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 2119]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(mkdir)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [2125 2140]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(test)} {(-d)} {(Bar)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 2151]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(mkdir)} {(test)} {(2)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [2157 2172]
    )
    (C {(rmdir)} {(Foo)} {(Bar)})
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(test)} {(-d)} {(Foo)}) terminator:<Op_Semi ';'>)]
          action: [
            (Sentence
              child: (C {(echo)} {(Error)} {(on)} {(mkdir)} {(test)} {(3)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [-1 2189]
        )
      ]
      spids: [-1 2204]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(test)} {(-d)} {(Foo)}) terminator:<Op_Semi ';'>)]
          action: [
            (Sentence
              child: (C {(echo)} {(Error)} {(on)} {(rmdir)} {(test)} {(4)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [-1 2215]
        )
      ]
      spids: [-1 2230]
    )
    (C {(mkdir)} {(MVDIR)})
    (C {(cp)} {($ VSub_Name '$f')} {(x)})
    (C {(mv)} {(x)} {(y)})
    (C {(mv)} {(y)} {(z)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(cmp)} {(-s)} {($ VSub_Name '$f')} {(z)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 2269]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(mv)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [2275 2290]
    )
    (C {(cp)} {($ VSub_Name '$f')} {(x)})
    (C {(mv)} {(x)} {(MVDIR/y)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(cmp)} {(-s)} {($ VSub_Name '$f')} {(MVDIR/y)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 2315]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(mv)} {(test)} {(2)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [2321 2336]
    )
    (Pipeline
      children: [
        (SimpleCommand
          words: [{(rev)}]
          redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{(f1)} spids:[2344])]
        )
        (SimpleCommand
          words: [{(head)} {(-1)}]
          redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(ahpla)} spids:[2353])]
        )
      ]
      negated: False
    )
    (SimpleCommand
      words: [{(echo)} {(DQ (zyxwvutsrqponmlkjihgfedcba))}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(x)} spids:[2362])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(x)} {(ahpla)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 2376]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(rev)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [2382 2397]
    )
    (SimpleCommand
      words: [{(rev)}]
      redirects: [
        (Redir op_id:Redir_Less fd:-1 arg_word:{($ VSub_Name '$f')} spids:[2401])
        (Redir op_id:Redir_Great fd:-1 arg_word:{(x)} spids:[2404])
      ]
    )
    (SimpleCommand
      words: [{(rev)}]
      redirects: [
        (Redir op_id:Redir_Less fd:-1 arg_word:{(x)} spids:[2409])
        (Redir op_id:Redir_Great fd:-1 arg_word:{(y)} spids:[2412])
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(cmp)} {(-s)} {($ VSub_Name '$f')} {(x)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Sentence
              child: (C {(echo)} {(Error)} {(on)} {(rev)} {(test)} {(2)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [-1 2426]
        )
      ]
      spids: [-1 2441]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(cmp)} {(-s)} {($ VSub_Name '$f')} {(y)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 2454]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(error)} {(on)} {(rev)} {(test)} {(3)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [2460 2475]
    )
    (C {(cp)} {($ VSub_Name '$f')} {(w)})
    (C {(cp)} {(alpha)} {(x)})
    (C {(cp)} {(ALPHA)} {(y)})
    (C {(cp)} {(num)} {(z)})
    (SimpleCommand
      words: [{(shar)} {(w)} {(x)} {(y)} {(z)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(x1)} spids:[2515])]
    )
    (C {(rm)} {(w)} {(x)} {(y)} {(z)})
    (SimpleCommand
      words: [{(sh)}]
      redirects: [
        (Redir op_id:Redir_Less fd:-1 arg_word:{(x1)} spids:[2530])
        (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[2533])
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(cmp)} {(-s)} {(w)} {($ VSub_Name '$f')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 2547]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(shar)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [2553 2568]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(x)} {(alpha)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 2581]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(shar)} {(test)} {(2)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [2587 2602]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(y)} {(ALPHA)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 2615]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(shar)} {(test)} {(3)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [2621 2636]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(z)} {(num)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 2649]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(shar)} {(test)} {(4)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [2655 2670]
    )
    (SimpleCommand
      words: [{(sort)}]
      redirects: [
        (Redir op_id:Redir_Less fd:-1 arg_word:{($ VSub_Name '$f')} spids:[2678])
        (Redir op_id:Redir_Great fd:-1 arg_word:{(x)} spids:[2681])
      ]
    )
    (SimpleCommand
      words: [{(wc)}]
      redirects: [
        (Redir op_id:Redir_Less fd:-1 arg_word:{($ VSub_Name '$f')} spids:[2686])
        (Redir op_id:Redir_Great fd:-1 arg_word:{(x1)} spids:[2689])
      ]
    )
    (SimpleCommand
      words: [{(wc)}]
      redirects: [
        (Redir op_id:Redir_Less fd:-1 arg_word:{(x)} spids:[2694])
        (Redir op_id:Redir_Great fd:-1 arg_word:{(x2)} spids:[2697])
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(x1)} {(x2)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 2711]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(sort)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [2717 2732]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(x)} spids:[2736])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {(DQ ('demit 10\n') ('epitonic 40\n') ('apoop 20\n') ('bibelot 3\n') ('comate 4\n'))}
          do_expansion: True
          here_end: END
          was_filled: True
          spids: [2739]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(y)} spids:[2749])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {(DQ ('apoop 20\n') ('bibelot 3\n') ('comate 4\n') ('demit 10\n') ('epitonic 40\n'))}
          do_expansion: True
          here_end: END
          was_filled: True
          spids: [2752]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(z)} spids:[2762])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {(DQ ('epitonic 40\n') ('demit 10\n') ('comate 4\n') ('bibelot 3\n') ('apoop 20\n'))}
          do_expansion: True
          here_end: END
          was_filled: True
          spids: [2765]
        )
      ]
    )
    (SimpleCommand
      words: [{(sort)}]
      redirects: [
        (Redir op_id:Redir_Less fd:-1 arg_word:{(x)} spids:[2775])
        (Redir op_id:Redir_Great fd:-1 arg_word:{(x1)} spids:[2778])
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(y)} {(x1)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 2792]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(sort)} {(test)} {(2)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [2798 2813]
    )
    (SimpleCommand
      words: [{(sort)} {(-r)}]
      redirects: [
        (Redir op_id:Redir_Less fd:-1 arg_word:{(x1)} spids:[2819])
        (Redir op_id:Redir_Great fd:-1 arg_word:{(x2)} spids:[2822])
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(x2)} {(z)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 2836]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(sort)} {(test)} {(3)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [2842 2857]
    )
    (Pipeline
      children: [
        (SimpleCommand
          words: [{(sort)} {(Lit_Other '+') (1)} {(-n)}]
          redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{(x)} spids:[2866])]
        )
        (SimpleCommand
          words: [{(head)} {(-1)}]
          redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(y)} spids:[2874])]
        )
      ]
      negated: False
    )
    (SimpleCommand
      words: [{(echo)} {(DQ ('bibelot 3'))}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(z)} spids:[2883])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(y)} {(z)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 2897]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(sort)} {(test)} {(4)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [2903 2918]
    )
    (SimpleCommand
      words: [{(tail)} {(-1)} {(f1)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(x)} spids:[2930])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(x)} {(special)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 2944]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(tail)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [2950 2965]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(x)} spids:[2973])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: 
            {
              (DQ ('a d\n') ('b e\n') ('c f\n') ('a c\n') ('p z\n') ('k p\n') ('a k\n') ('a b\n') ('b c\n') 
                ('c d\n') ('d e\n') ('e f\n') ('f k\n')
              )
            }
          do_expansion: True
          here_end: END
          was_filled: True
          spids: [2976]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(answer)} spids:[2994])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {(DQ ('a\n') ('b\n') ('c\n') ('d\n') ('e\n') ('f\n') ('k\n') ('p\n') ('z\n'))}
          do_expansion: True
          here_end: END
          was_filled: True
          spids: [2997]
        )
      ]
    )
    (SimpleCommand
      words: [{(tsort)}]
      redirects: [
        (Redir op_id:Redir_Less fd:-1 arg_word:{(x)} spids:[3011])
        (Redir op_id:Redir_Great fd:-1 arg_word:{(y)} spids:[3014])
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(y)} {(answer)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 3028]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(tsort)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [3034 3049]
    )
    (C {(cp)} {($ VSub_Name '$f')} {(x)})
    (C {(uue)} {(x)})
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(test)} {(-s)} {(x.uue)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 3074]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(uue/uud)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [3080 3095]
    )
    (C {(rm)} {(x)})
    (C {(uud)} {(x.uue)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(cmp)} {(-s)} {(x)} {($ VSub_Name '$f')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 3116]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(uue/uud)} {(test)} {(2)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [3122 3137]
    )
    (SimpleCommand
      words: [{(compress)} {(-fc)} {(x)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(x.Z)} spids:[3146])
        (Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3149])
      ]
    )
    (C {(uue)} {(x.Z)})
    (C {(rm)} {(x)} {(x.Z)})
    (C {(uud)} {(x.uue)})
    (SimpleCommand
      words: [{(compress)} {(-cd)} {(x.Z)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(x)} spids:[3172])]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(cmp)} {(-s)} {(x)} {($ VSub_Name '$f')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [-1 3186]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(uue/uud)} {(test)} {(3)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [3192 3207]
    )
    (C {(cd)} {(..)})
    (C {(rm)} {(-rf)} {(DIR_SH1)})
    (C {(echo)} {(ok)})
  ]
)