(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:PATH)
          op: assign_op.Equal
          rhs: {<Id.Lit_Other ':'> </bin> <Id.Lit_Other ':'> </usr/bin>}
          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>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:f)
          op: assign_op.Equal
          rhs: {<../test1.c>}
          spids: [42]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {<test>} {<-r>} {($ Id.VSub_DollarName '$f')})
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [45 54]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<sh1>} {<cannot>} {<read>} {($ Id.VSub_DollarName '$f')})
          terminator: <Id.Op_Semi _>
        )
        (command.Sentence
          child: (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (command.Simple
      words: [{<echo>} {(DQ <abcdefghijklmnopqrstuvwxyz>)}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<alpha>})]
    )
    (command.Simple
      words: [{<echo>} {(DQ <ABCDEFGHIJKLMNOPQRSTUVWXYZ>)}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<ALPHA>})]
    )
    (command.Simple
      words: [{<echo>} {(DQ <0123456789>)}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<num>})]
    )
    (command.Simple
      words: [{<echo>} {(DQ <'!@#'> <Id.Lit_Other '$'> <'%^&*()_+=-{}[]:;<>?/.,'>)}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<special>})]
    )
    (C {<cp>} {</etc/rc>} {<rc>})
    (C {<cp>} {</etc/passwd>} {<passwd>})
    (command.Simple
      words: [{<cat>} {<alpha>} {<ALPHA>} {<num>} {<rc>} {<passwd>} {<special>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<tmp>})]
    )
    (command.Simple
      words: [{<cat>} {<tmp>} {<tmp>} {<tmp>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<f1>})]
    )
    (C {<mkdir>} {<foo>})
    (C {<cp>} {</etc/rc>} {</etc/passwd>} {<foo>})
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {<cmp>} {<-s>} {<foo/rc>} {</etc/rc>})
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [179 191]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<cp>} {<test>} {<1>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {<cmp>} {<-s>} {<foo/passwd>} {</etc/passwd>})
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [214 226]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<cp>} {<test>} {<2>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (C {<rm>} {<-rf>} {<foo>})
    (command.Simple
      words: [{<cat>} {<num>} {<num>} {<num>} {<num>} {<num>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<y>})]
    )
    (command.Simple
      words: [{<wc>} {<-c>} {<y>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<x1>})]
    )
    (command.Simple
      words: [{<echo>} {(DQ <'     55 y'>)}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<x2>})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<cmp>} {<-s>} {<x1>} {<x2>}) terminator:<Id.Op_Semi _>)]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [292 303]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<cat>} {<test>} {<1>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (command.Simple
      words: [{<cat>}]
      redirects: [
        (redir.Redir op:<Id.Redir_Less '<'> fd:-1 arg_word:{<y>})
        (redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<z>})
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<cmp>} {<-s>} {<y>} {<z>}) terminator:<Id.Op_Semi _>)]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [334 345]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<cat>} {<test>} {<2>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (command.Simple
      words: [{<cat>} {<passwd>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<p>})]
    )
    (C {<cp>} {<passwd>} {<q>})
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<cmp>} {<-s>} {<p>} {<q>}) terminator:<Id.Op_Semi _>)]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [385 396]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<ar>} {<test>} {<1>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (command.Simple
      words: [{<date>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<r>})]
    )
    (command.Simple
      words: [{<ar>} {<r>} {<x.a>} {<p>} {<q>} {<r>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>})]
    )
    (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>})
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {<cmp>} {<-s>} {<p>} {</etc/passwd>})
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [473 484]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<Error>} {<on>} {<ar>} {<test>} {<2>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {<cmp>} {<-s>} {<q>} {</etc/passwd>})
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [505 516]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<Error>} {<on>} {<ar>} {<test>} {<3>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<cmp>} {<-s>} {<r>} {<R>}) terminator:<Id.Op_Semi _>)]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [537 548]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<Error>} {<on>} {<ar>} {<test>} {<4>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {<cmp>} {<-s>} {<cp>} {</usr/bin/cp>})
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [569 580]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<Error>} {<on>} {<ar>} {<test>} {<5>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {<cmp>} {<-s>} {<cat>} {</usr/bin/cat>})
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [601 612]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<Error>} {<on>} {<ar>} {<test>} {<6>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (C {<rm>} {<cp>} {<cat>} {<p>} {<q>} {<r>})
    (command.Simple
      words: [{<ar>} {<d>} {<x.a>} {<r>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{</dev/null>})]
    )
    (C {<ar>} {<x>} {<x.a>})
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<test>} {<-r>} {<r>}) terminator:<Id.Op_Semi _>)]
          action: [
            (command.Sentence
              child: (C {<echo>} {<Error>} {<on>} {<ar>} {<test>} {<7>})
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [662 671]
        )
      ]
    )
    (C {<rm>} {<-rf>} {<p>} {<q>} {<r>} {<R>})
    (command.If
      arms: [
        (if_arm
          cond: [
            (C {<test>} 
              {
                (command_sub
                  left_token: <Id.Left_Backtick '`'>
                  command_list: 
                    (command.CommandList
                      children: [(C {<basename>} {</usr/ast/foo.c>} {<.c>})]
                    )
                )
              } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(SQ <foo>)}
            )
          ]
          action: [(C {<echo>} {<Error>} {<on>} {<basename>} {<test>} {<1>})]
          spids: [704 726]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<test>} 
                  {
                    (command_sub
                      left_token: <Id.Left_Backtick '`'>
                      command_list: (command.CommandList children:[(C {<basename>} {<a/b/c/d>})])
                    )
                  } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(SQ <d>)}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (command.Sentence
              child: (C {<Error>} {<on>} {<basename>} {<test>} {<2>})
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [743 763]
        )
      ]
    )
    (C {<cp>} {($ Id.VSub_DollarName '$f')} {<x.c>})
    (command.Simple
      words: [{<echo>} {(DQ <'/a/s//#####/g'>)}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<s>})]
    )
    (command.Simple
      words: [{<sed>} {<-f>} {<s>}]
      redirects: [
        (redir.Redir op:<Id.Redir_Less '<'> fd:-1 arg_word:{<x.c>})
        (redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<y.c>})
      ]
    )
    (command.Simple
      words: [{<cdiff>} {<x.c>} {<y.c>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<y>})]
    )
    (command.Simple
      words: [{<patch>} {<x.c>} {<y>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<cmp>} {<-s>} {<x.c>} {<y.c>}) terminator:<Id.Op_Semi _>)]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [842 853]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<Id.KW_In in>} {<cdiff>} {<test>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (C {<rm>} {<x.c> <Id.Lit_Star '*'>} {<y.c>} {<s>} {<y>})
    (command.Simple
      words: [{<ls>} {</etc>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<x>})]
    )
    (command.Simple
      words: [{<grep>} {<-v>} {(DQ <passwd>)} {<x>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<y>})]
    )
    (command.Simple
      words: [{<comm>} {<-3>} {<x>} {<y>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<z>})]
    )
    (command.Simple
      words: [{<echo>} {(DQ <passwd>)}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<w>})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<cmp>} {<-s>} {<w>} {<z>}) terminator:<Id.Op_Semi _>)]
          action: [
            (command.Sentence
              child: 
                (C {<Id.Lit_Other ':'>} {<Id.KW_Else else>} {<echo>} {<Error>} {<on>} {<comm>} {<test>} {<1>})
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [938 949]
        )
      ]
    )
    (command.Simple
      words: [{<comm>} {<-13>} {<x>} {<y>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<z>})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<test>} {<-s>} {<z>}) terminator:<Id.Op_Semi _>)]
          action: [
            (command.Sentence
              child: (C {<echo>} {<Error>} {<on>} {<comm>} {<test>} {<2>})
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [985 994]
        )
      ]
    )
    (C {<rm>} {<-rf>} {<w>} {<x>} {<y>} {<z>})
    (command.Simple
      words: [{<compress>} {<-fc>} {($ Id.VSub_DollarName '$f')}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<x.c.Z>})]
    )
    (command.Simple
      words: [{<compress>} {<-cd>} {<x.c.Z>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<y>})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {<cmp>} {<-s>} {($ Id.VSub_DollarName '$f')} {<y>})
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (command.Sentence
              child: 
                (C {<Id.Lit_Other ':'>} {<Id.KW_Else else>} {<echo>} {<Error>} {<Id.KW_In in>} {<compress>} 
                  {<test>} {<1>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [1051 1062]
        )
      ]
    )
    (C {<rm>} {<-rf>} {<x.c.Z>} {<y>})
    (C {<cp>} {($ Id.VSub_DollarName '$f')} {<x>})
    (command.Simple
      words: [{<cat>}]
      redirects: [
        (redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<y>})
        (redir.HereDoc
          op: <Id.Redir_DLess '<<'>
          fd: -1
          here_begin: {<END>}
          here_end_span_id: 1118
          stdin_parts: [<'g/a/s//#####/g\n'> <'g/b/s//@@@@@/g\n'> <'g/c/s//!!!!!/g\n'> <'w\n'> <'q\n'>]
        )
      ]
    )
    (command.Simple
      words: [{<ed>} {<x>}]
      redirects: [
        (redir.Redir op:<Id.Redir_Less '<'> fd:-1 arg_word:{<y>})
        (redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{</dev/null>})
      ]
    )
    (command.Simple
      words: [{<cat>}]
      redirects: [
        (redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<y>})
        (redir.HereDoc
          op: <Id.Redir_DLess '<<'>
          fd: -1
          here_begin: {<END>}
          here_end_span_id: 1143
          stdin_parts: [<'g/#####/s//a/g\n'> <'g/@@@@@/s//b/g\n'> <'g/!!!!!/s//c/g\n'> <'w\n'> <'q\n'>]
        )
      ]
    )
    (command.Simple
      words: [{<ed>} {<x>}]
      redirects: [
        (redir.Redir op:<Id.Redir_Less '<'> fd:-1 arg_word:{<y>})
        (redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{</dev/null>})
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {<cmp>} {<-s>} {<x>} {($ Id.VSub_DollarName '$f')})
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [1154 1165]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<Id.KW_In in>} {<ed>} {<test>} {<1>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (C {<rm>} {<x>} {<y>})
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<test>} 
                  {
                    (command_sub
                      left_token: <Id.Left_Backtick '`'>
                      command_list: 
                        (command.CommandList
                          children: [(C {<expr>} {<1>} {<Id.Lit_Other '+'>} {<1>})]
                        )
                    )
                  } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<2>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (command.Sentence
              child: (C {<echo>} {<Error>} {<on>} {<expr>} {<test>} {<1>})
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [1198 1220]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<test>} 
                  {
                    (command_sub
                      left_token: <Id.Left_Backtick '`'>
                      command_list: 
                        (command.CommandList
                          children: [(C {<expr>} {<10000>} {<->} {<1>})]
                        )
                    )
                  } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<9999>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (command.Sentence
              child: (C {<echo>} {<Error>} {<on>} {<expr>} {<test>} {<2>})
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [1237 1259]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<test>} 
                  {
                    (command_sub
                      left_token: <Id.Left_Backtick '`'>
                      command_list: 
                        (command.CommandList
                          children: [(C {<expr>} {<100>} {(SQ <'*'>)} {<50>})]
                        )
                    )
                  } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<5000>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (command.Sentence
              child: (C {<echo>} {<Error>} {<on>} {<expr>} {<test>} {<3>})
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [1276 1300]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<test>} 
                  {
                    (command_sub
                      left_token: <Id.Left_Backtick '`'>
                      command_list: (command.CommandList children:[(C {<expr>} {<120>} {</>} {<5>})])
                    )
                  } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<24>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (command.Sentence
              child: (C {<echo>} {<Error>} {<on>} {<expr>} {<test>} {<4>})
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [1317 1339]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<test>} 
                  {
                    (command_sub
                      left_token: <Id.Left_Backtick '`'>
                      command_list: 
                        (command.CommandList
                          children: [(C {<expr>} {<143>} {<Id.Lit_Other '%'>} {<7>})]
                        )
                    )
                  } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<3>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (command.Sentence
              child: (C {<echo>} {<Error>} {<on>} {<expr>} {<test>} {<5>})
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [1356 1378]
        )
      ]
    )
    (command.ShAssignment
      pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:a) op:assign_op.Equal rhs:{<100>} spids:[1395])]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:a)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                command_list: 
                  (command.CommandList
                    children: [(C {<expr>} {($ Id.VSub_DollarName '$a')} {<Id.Lit_Other '+'>} {<1>})]
                  )
              )
            }
          spids: [1398]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<test>} {($ Id.VSub_DollarName '$a')} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} 
                  {(SQ <101>)}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (command.Sentence
              child: (C {<echo>} {<Error>} {<on>} {<expr>} {<test>} {<6>})
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [1411 1425]
        )
      ]
    )
    (command.Simple
      words: [{<fgrep>} {(DQ <abc>)} {<alpha>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<z>})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<cmp>} {<-s>} {<alpha>} {<z>}) terminator:<Id.Op_Semi _>)]
          action: [
            (command.Sentence
              child: 
                (C {<Id.Lit_Other ':'>} {<Id.KW_Else else>} {<echo>} {<Error>} {<on>} {<fgrep>} {<test>} 
                  {<1>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [1457 1469]
        )
      ]
    )
    (command.Simple
      words: [{<fgrep>} {(DQ <abc>)} {<num>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<z>})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<test>} {<-s>} {<z>}) terminator:<Id.Op_Semi _>)]
          action: [
            (command.Sentence
              child: (C {<echo>} {<Error>} {<on>} {<fgrep>} {<test>} {<2>})
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [1501 1510]
        )
      ]
    )
    (command.Simple
      words: [{<cat>} {<alpha>} {<num>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<z>})]
    )
    (command.Simple
      words: [{<fgrep>} {(DQ <012>)} {<z>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<w>})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<cmp>} {<-s>} {<w>} {<num>}) terminator:<Id.Op_Semi _>)]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [1547 1558]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<fgrep>} {<test>} {<3>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (command.Simple
      words: [{<date>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<Rabbit>})]
    )
    (command.Simple
      words: [{<echo>} {(DQ <Rabbit>)}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<y>})]
    )
    (command.Simple
      words: [{<find>} {<.>} {<-name>} {<Rabbit>} {<-print>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<z>})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<cmp>} {<-s>} {<y>} {<z>}) terminator:<Id.Op_Semi _>)]
          action: [
            (command.Sentence
              child: 
                (C {<Id.Lit_Other ':'>} {<Id.KW_Else else>} {<echo>} {<Error>} {<on>} {<find>} {<test>} {<1>})
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [1611 1622]
        )
      ]
    )
    (command.Simple
      words: [{<find>} {<.>} {<-name>} {<Bunny>} {<-print>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<z>})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<test>} {<-s>} {<z>}) terminator:<Id.Op_Semi _>)]
          action: [
            (command.Sentence
              child: (C {<echo>} {<Error>} {<on>} {<find>} {<test>} {<2>})
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [1656 1665]
        )
      ]
    )
    (C {<rm>} {<Rabbit>} {<y>} {<z>})
    (command.Simple
      words: [{<grep>} {(DQ <a>)} {<alpha>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<x>})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<cmp>} {<-s>} {<x>} {<alpha>}) terminator:<Id.Op_Semi _>)]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [1705 1716]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<grep>} {<test>} {<1>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (command.Simple
      words: [{<grep>} {(DQ <a>)} {<ALPHA>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<x>})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<test>} {<-s>} {<x>}) terminator:<Id.Op_Semi _>)]
          action: [
            (command.Sentence
              child: (C {<echo>} {<Error>} {<on>} {<grep>} {<test>} {<2>})
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [1750 1759]
        )
      ]
    )
    (command.Simple
      words: [{<grep>} {<-v>} {(DQ <0>)} {<alpha>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<x>})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<cmp>} {<-s>} {<x>} {<alpha>}) terminator:<Id.Op_Semi _>)]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [1789 1800]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<grep>} {<test>} {<3>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (command.Simple
      words: [{<grep>} {<-s>} {(DQ <a>)} {<alpha>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<x>})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<test>} {<-s>} {<x>}) terminator:<Id.Op_Semi _>)]
          action: [
            (command.Sentence
              child: (C {<echo>} {<Error>} {<on>} {<grep>} {<test>} {<4>})
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [1836 1845]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.Simple
                  words: [{<grep>} {<-s>} {(DQ <a>)} {<alpha>}]
                  redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<x>})]
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (command.Sentence
              child: 
                (C {<Id.Lit_Other ':'>} {<Id.KW_Else else>} {<echo>} {<Error>} {<on>} {<grep>} {<test>} {<5>})
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [1862 1878]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.Simple
                  words: [{<grep>} {<-s>} {(DQ <a>)} {<ALPHA>}]
                  redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<x>})]
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (command.Sentence
              child: (C {<echo>} {<Error>} {<on>} {<grep>} {<test>} {<6>})
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [1899 1915]
        )
      ]
    )
    (command.Simple
      words: [{<head>} {<-1>} {<f1>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<x>})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<cmp>} {<-s>} {<x>} {<alpha>}) terminator:<Id.Op_Semi _>)]
          action: [
            (command.Sentence
              child: 
                (C {<Id.Lit_Other ':'>} {<Id.KW_Else else>} {<echo>} {<Error>} {<on>} {<head>} {<test>} {<1>})
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [1945 1956]
        )
      ]
    )
    (command.Simple
      words: [{<head>} {<-2>} {<f1>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<x>})]
    )
    (command.Simple
      words: [{<cat>} {<alpha>} {<ALPHA>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<y>})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<cmp>} {<-s>} {<x>} {<y>}) terminator:<Id.Op_Semi _>)]
          action: [
            (command.Sentence
              child: 
                (C {<Id.Lit_Other ':'>} {<Id.KW_Else else>} {<echo>} {<Error>} {<on>} {<head>} {<test>} {<2>})
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [1995 2006]
        )
      ]
    )
    (C {<mkdir>} {<FOO>})
    (C {<cp>} {<passwd>} {<FOO/z>})
    (C {<cp>} {<alpha>} {<FOO/x>})
    (C {<cp>} {<ALPHA>} {<FOO/y>})
    (C {<cd>} {<FOO>})
    (command.Simple
      words: [{<ls>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<w>})]
    )
    (command.Simple
      words: [{<cat>}]
      redirects: [
        (redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<w1>})
        (redir.HereDoc
          op: <Id.Redir_DLess '<<'>
          fd: -1
          here_begin: {<END>}
          here_end_span_id: 2075
          stdin_parts: [<'w\n'> <'x\n'> <'y\n'> <'z\n'>]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<cmp>} {<-s>} {<w>} {<w1>}) terminator:<Id.Op_Semi _>)]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [2076 2087]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<ls>} {<test>} {<1>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (C {<rm>} {<Id.Lit_Star '*'>})
    (C {<cd>} {<..>})
    (C {<rmdir>} {<FOO>})
    (C {<mkdir>} {<Foo>} {<Bar>})
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<test>} {<-d>} {<Foo>}) terminator:<Id.Op_Semi _>)]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [2132 2141]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<mkdir>} {<test>} {<1>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<test>} {<-d>} {<Bar>}) terminator:<Id.Op_Semi _>)]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [2164 2173]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<mkdir>} {<test>} {<2>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (C {<rmdir>} {<Foo>} {<Bar>})
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<test>} {<-d>} {<Foo>}) terminator:<Id.Op_Semi _>)]
          action: [
            (command.Sentence
              child: (C {<echo>} {<Error>} {<on>} {<mkdir>} {<test>} {<3>})
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [2202 2211]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<test>} {<-d>} {<Foo>}) terminator:<Id.Op_Semi _>)]
          action: [
            (command.Sentence
              child: (C {<echo>} {<Error>} {<on>} {<rmdir>} {<test>} {<4>})
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [2228 2237]
        )
      ]
    )
    (C {<mkdir>} {<MVDIR>})
    (C {<cp>} {($ Id.VSub_DollarName '$f')} {<x>})
    (C {<mv>} {<x>} {<y>})
    (C {<mv>} {<y>} {<z>})
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {<cmp>} {<-s>} {($ Id.VSub_DollarName '$f')} {<z>})
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [2280 2291]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<mv>} {<test>} {<1>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (C {<cp>} {($ Id.VSub_DollarName '$f')} {<x>})
    (C {<mv>} {<x>} {<MVDIR/y>})
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {<cmp>} {<-s>} {($ Id.VSub_DollarName '$f')} {<MVDIR/y>})
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [2326 2337]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<mv>} {<test>} {<2>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (command.Pipeline
      children: [
        (command.Simple
          words: [{<rev>}]
          redirects: [(redir.Redir op:<Id.Redir_Less '<'> fd:-1 arg_word:{<f1>})]
        )
        (command.Simple
          words: [{<head>} {<-1>}]
          redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<ahpla>})]
        )
      ]
      negated: F
    )
    (command.Simple
      words: [{<echo>} {(DQ <zyxwvutsrqponmlkjihgfedcba>)}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<x>})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<cmp>} {<-s>} {<x>} {<ahpla>}) terminator:<Id.Op_Semi _>)]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [2387 2398]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<rev>} {<test>} {<1>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (command.Simple
      words: [{<rev>}]
      redirects: [
        (redir.Redir op:<Id.Redir_Less '<'> fd:-1 arg_word:{($ Id.VSub_DollarName '$f')})
        (redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<x>})
      ]
    )
    (command.Simple
      words: [{<rev>}]
      redirects: [
        (redir.Redir op:<Id.Redir_Less '<'> fd:-1 arg_word:{<x>})
        (redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<y>})
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {<cmp>} {<-s>} {($ Id.VSub_DollarName '$f')} {<x>})
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (command.Sentence
              child: (C {<echo>} {<Error>} {<on>} {<rev>} {<test>} {<2>})
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [2437 2448]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {<cmp>} {<-s>} {($ Id.VSub_DollarName '$f')} {<y>})
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [2465 2476]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<error>} {<on>} {<rev>} {<test>} {<3>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (C {<cp>} {($ Id.VSub_DollarName '$f')} {<w>})
    (C {<cp>} {<alpha>} {<x>})
    (C {<cp>} {<ALPHA>} {<y>})
    (C {<cp>} {<num>} {<z>})
    (command.Simple
      words: [{<shar>} {<w>} {<x>} {<y>} {<z>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<x1>})]
    )
    (C {<rm>} {<w>} {<x>} {<y>} {<z>})
    (command.Simple
      words: [{<sh>}]
      redirects: [
        (redir.Redir op:<Id.Redir_Less '<'> fd:-1 arg_word:{<x1>})
        (redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{</dev/null>})
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {<cmp>} {<-s>} {<w>} {($ Id.VSub_DollarName '$f')})
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [2558 2569]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<shar>} {<test>} {<1>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<cmp>} {<-s>} {<x>} {<alpha>}) terminator:<Id.Op_Semi _>)]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [2592 2603]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<shar>} {<test>} {<2>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<cmp>} {<-s>} {<y>} {<ALPHA>}) terminator:<Id.Op_Semi _>)]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [2626 2637]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<shar>} {<test>} {<3>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<cmp>} {<-s>} {<z>} {<num>}) terminator:<Id.Op_Semi _>)]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [2660 2671]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<shar>} {<test>} {<4>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (command.Simple
      words: [{<sort>}]
      redirects: [
        (redir.Redir op:<Id.Redir_Less '<'> fd:-1 arg_word:{($ Id.VSub_DollarName '$f')})
        (redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<x>})
      ]
    )
    (command.Simple
      words: [{<wc>}]
      redirects: [
        (redir.Redir op:<Id.Redir_Less '<'> fd:-1 arg_word:{($ Id.VSub_DollarName '$f')})
        (redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<x1>})
      ]
    )
    (command.Simple
      words: [{<wc>}]
      redirects: [
        (redir.Redir op:<Id.Redir_Less '<'> fd:-1 arg_word:{<x>})
        (redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<x2>})
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<cmp>} {<-s>} {<x1>} {<x2>}) terminator:<Id.Op_Semi _>)]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [2722 2733]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<sort>} {<test>} {<1>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (command.Simple
      words: [{<cat>}]
      redirects: [
        (redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<x>})
        (redir.HereDoc
          op: <Id.Redir_DLess '<<'>
          fd: -1
          here_begin: {<END>}
          here_end_span_id: 2770
          stdin_parts: [<'demit 10\n'> <'epitonic 40\n'> <'apoop 20\n'> <'bibelot 3\n'> <'comate 4\n'>]
        )
      ]
    )
    (command.Simple
      words: [{<cat>}]
      redirects: [
        (redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<y>})
        (redir.HereDoc
          op: <Id.Redir_DLess '<<'>
          fd: -1
          here_begin: {<END>}
          here_end_span_id: 2785
          stdin_parts: [<'apoop 20\n'> <'bibelot 3\n'> <'comate 4\n'> <'demit 10\n'> <'epitonic 40\n'>]
        )
      ]
    )
    (command.Simple
      words: [{<cat>}]
      redirects: [
        (redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<z>})
        (redir.HereDoc
          op: <Id.Redir_DLess '<<'>
          fd: -1
          here_begin: {<END>}
          here_end_span_id: 2800
          stdin_parts: [<'epitonic 40\n'> <'demit 10\n'> <'comate 4\n'> <'bibelot 3\n'> <'apoop 20\n'>]
        )
      ]
    )
    (command.Simple
      words: [{<sort>}]
      redirects: [
        (redir.Redir op:<Id.Redir_Less '<'> fd:-1 arg_word:{<x>})
        (redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<x1>})
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<cmp>} {<-s>} {<y>} {<x1>}) terminator:<Id.Op_Semi _>)]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [2809 2820]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<sort>} {<test>} {<2>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (command.Simple
      words: [{<sort>} {<-r>}]
      redirects: [
        (redir.Redir op:<Id.Redir_Less '<'> fd:-1 arg_word:{<x1>})
        (redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<x2>})
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<cmp>} {<-s>} {<x2>} {<z>}) terminator:<Id.Op_Semi _>)]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [2853 2864]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<sort>} {<test>} {<3>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (command.Pipeline
      children: [
        (command.Simple
          words: [{<sort>} {<Id.Lit_Other '+'> <1>} {<-n>}]
          redirects: [(redir.Redir op:<Id.Redir_Less '<'> fd:-1 arg_word:{<x>})]
        )
        (command.Simple
          words: [{<head>} {<-1>}]
          redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<y>})]
        )
      ]
      negated: F
    )
    (command.Simple
      words: [{<echo>} {(DQ <'bibelot 3'>)}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<z>})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<cmp>} {<-s>} {<y>} {<z>}) terminator:<Id.Op_Semi _>)]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [2914 2925]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<sort>} {<test>} {<4>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (command.Simple
      words: [{<tail>} {<-1>} {<f1>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<x>})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {<cmp>} {<-s>} {<x>} {<special>})
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [2961 2972]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<tail>} {<test>} {<1>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (command.Simple
      words: [{<cat>}]
      redirects: [
        (redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<x>})
        (redir.HereDoc
          op: <Id.Redir_DLess '<<'>
          fd: -1
          here_begin: {<END>}
          here_end_span_id: 3021
          stdin_parts: [
            <'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'>
          ]
        )
      ]
    )
    (command.Simple
      words: [{<cat>}]
      redirects: [
        (redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<answer>})
        (redir.HereDoc
          op: <Id.Redir_DLess '<<'>
          fd: -1
          here_begin: {<END>}
          here_end_span_id: 3040
          stdin_parts: [<'a\n'> <'b\n'> <'c\n'> <'d\n'> <'e\n'> <'f\n'> <'k\n'> <'p\n'> <'z\n'>]
        )
      ]
    )
    (command.Simple
      words: [{<tsort>}]
      redirects: [
        (redir.Redir op:<Id.Redir_Less '<'> fd:-1 arg_word:{<x>})
        (redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<y>})
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {<cmp>} {<-s>} {<y>} {<answer>})
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [3049 3060]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<tsort>} {<test>} {<1>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (C {<cp>} {($ Id.VSub_DollarName '$f')} {<x>})
    (C {<uue>} {<x>})
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {<test>} {<-s>} {<x.uue>}) terminator:<Id.Op_Semi _>)]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [3097 3106]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<uue/uud>} {<test>} {<1>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (C {<rm>} {<x>})
    (C {<uud>} {<x.uue>})
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {<cmp>} {<-s>} {<x>} {($ Id.VSub_DollarName '$f')})
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [3137 3148]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<uue/uud>} {<test>} {<2>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (command.Simple
      words: [{<compress>} {<-fc>} {<x>}]
      redirects: [
        (redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<x.Z>})
        (redir.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>})
      ]
    )
    (C {<uue>} {<x.Z>})
    (C {<rm>} {<x>} {<x.Z>})
    (C {<uud>} {<x.uue>})
    (command.Simple
      words: [{<compress>} {<-cd>} {<x.Z>}]
      redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<x>})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {<cmp>} {<-s>} {<x>} {($ Id.VSub_DollarName '$f')})
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [(command.Sentence child:(C {<Id.Lit_Other ':'>}) terminator:<Id.Op_Semi _>)]
          spids: [3207 3218]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {<echo>} {<Error>} {<on>} {<uue/uud>} {<test>} {<3>})
          terminator: <Id.Op_Semi _>
        )
      ]
    )
    (C {<cd>} {<..>})
    (C {<rm>} {<-rf>} {<DIR_SH1>})
    (C {<echo>} {<ok>})
  ]
)