(command.CommandList
  children: [
    (C {<.>} {<'/lib/lsb/init-functions'>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:PATH)
          op: assign_op.Equal
          rhs: 
            {<'/sbin'> <Id.Lit_Colon ':'> <'/usr/sbin'> <Id.Lit_Colon ':'> <'/bin'> <Id.Lit_Colon ':'> 
              <'/usr/bin'>
            }
          spids: [39]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$DELAYLOGIN'))} {<Id.Lit_RBracket ']'>})
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:DELAYLOGIN)
              op: assign_op.Equal
              rhs: {<yes>}
              spids: [58]
            )
          ]
        )
      ]
    )
    (C {<.>} {<'/lib/init/vars.sh'>})
    (command.ShFunction
      name: do_start
      body: 
        (BraceGroup
          children: [
            (command.Case
              to_match: {(DQ ($ Id.VSub_DollarName '$DELAYLOGIN'))}
              arms: [
                (case_arm
                  pat_list: [{<Y> <Id.Lit_Star '*'>} {<y> <Id.Lit_Star '*'>}]
                  action: [
                    (command.Simple
                      words: [{<echo>} {(DQ <'System bootup in progress - please wait'>)}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/var/lib/initscripts/nologin'>}
                        )
                      ]
                      do_fork: T
                    )
                  ]
                  spids: [99 104 118 -1]
                )
              ]
            )
            (command.Simple
              words: [{<Id.Lit_Colon ':'>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/var/run/utmp'>}
                )
              ]
              do_fork: T
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (C {<grep>} {<-q>} {<Id.Lit_Other '^'> <utmp> <Id.Lit_Colon ':'>} 
                          {<'/etc/group'>}
                        )
                      ]
                    )
                  action: [
                    (C {<chmod>} {<664>} {<'/var/run/utmp'>})
                    (C {<chgrp>} {<utmp>} {<'/var/run/utmp'>})
                  ]
                  spids: [136 149]
                )
              ]
            )
            (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 ($ Id.VSub_Number '$1'))}
      arms: [
        (case_arm
          pat_list: [{<start>} {(DQ )}]
          action: [(C {<do_start>})]
          spids: [211 215 221 -1]
        )
        (case_arm
          pat_list: [{<restart>} {<reload>} {<force-reload>}]
          action: [
            (command.Simple
              words: [
                {<echo>}
                {(DQ <'Error: argument \''> ($ Id.VSub_Number '$1') <'\' not supported'>)}
              ]
              redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              do_fork: T
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<3>})
          ]
          spids: [224 229 249 -1]
        )
        (case_arm pat_list:[{<stop>} {<status>}] spids:[252 255 262 -1])
        (case_arm
          pat_list: [{<Id.Lit_Star '*'>}]
          action: [
            (command.Simple
              words: [{<echo>} {(DQ <'Usage: bootmisc.sh [start|stop]'>)}]
              redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              do_fork: T
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<3>})
          ]
          spids: [265 266 284 -1]
        )
      ]
    )
    (C {<Id.Lit_Colon ':'>})
  ]
)