(command.CommandList
  children: [
    (C {(.)} {(/lib/lsb/init-functions)})
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:PATH)
          op: Equal
          rhs: {(/sbin) (Lit_Other ':') (/usr/sbin) (Lit_Other ':') (/bin) (Lit_Other ':') (/usr/bin)}
        )
      ]
    )
    (command.AndOr
      ops: [Op_DPipe]
      children: [
        (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$DELAYLOGIN'))} {(Lit_Other ']')})
        (command.Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(lhs_expr.LhsName name:DELAYLOGIN) op:Equal rhs:{(yes)})]
        )
      ]
    )
    (C {(.)} {(/lib/init/vars.sh)})
    (command.FuncDef
      name: do_start
      body: 
        (command.BraceGroup
          children: [
            (command.Case
              to_match: {(DQ ($ VSub_DollarName '$DELAYLOGIN'))}
              arms: [
                (case_arm
                  pat_list: [{(Y) (Lit_Other '*')} {(y) (Lit_Other '*')}]
                  action: [
                    (command.SimpleCommand
                      words: [{(echo)} {(DQ ('System bootup in progress - please wait'))}]
                      redirects: [
                        (redir.Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {(/var/lib/initscripts/nologin)}
                        )
                      ]
                    )
                  ]
                )
              ]
            )
            (command.SimpleCommand
              words: [{(Lit_Other ':')}]
              redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/var/run/utmp)})]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [(C {(grep)} {(-q)} {(Lit_Other '^') (utmp) (Lit_Other ':')} {(/etc/group)})]
                  action: [
                    (C {(chmod)} {(664)} {(/var/run/utmp)})
                    (C {(chgrp)} {(utmp)} {(/var/run/utmp)})
                  ]
                )
              ]
            )
            (C {(rm)} {(-f)} {(/tmp/.clean)} {(/run/.clean)} {(/run/lock/.clean)})
            (C {(rm)} {(-f)} {(/tmp/.tmpfs)} {(/run/.tmpfs)} {(/run/lock/.tmpfs)})
          ]
        )
    )
    (command.Case
      to_match: {(DQ ($ VSub_Number '$1'))}
      arms: [
        (case_arm pat_list:[{(start)} {(DQ )}] action:[(C {(do_start)})])
        (case_arm
          pat_list: [{(restart)} {(reload)} {(force-reload)}]
          action: [
            (command.SimpleCommand
              words: [{(echo)} {(DQ ("Error: argument '") ($ VSub_Number '$1') ("' not supported"))}]
              redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
            )
            (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(3)})
          ]
        )
        (case_arm pat_list:[{(stop)} {(status)}])
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [
            (command.SimpleCommand
              words: [{(echo)} {(DQ ('Usage: bootmisc.sh [start|stop]'))}]
              redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
            )
            (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(3)})
          ]
        )
      ]
    )
    (C {(Lit_Other ':')})
  ]
)