(command.CommandList
  children: [
    (C {(.)} {(/etc/rc.subr)})
    (C {(load_rc_config)} {(SQ (Token id:Id.Lit_Chars val:XXX span_id:85))})
    (command.ShFunction
      name: usage
      body: 
        (command.BraceGroup
          children: [
            (C {(echo)} {(SQ )})
            (C {(echo)} {(SQ (Token id:Id.Lit_Chars val:'Usage:' span_id:106))})
            (C {(echo)} 
              {
                (DQ 
                  (braced_var_sub
                    token: (Token id:Id.VSub_Number val:0 span_id:114)
                    suffix_op: (suffix_op.Unary op_id:Id.VOp1_DPound arg_word:{('*') (Id.Lit_Slash /)})
                  ) (' -e')
                )
              }
            )
            (C {(echo)} 
              {
                (DQ 
                  (braced_var_sub
                    token: (Token id:Id.VSub_Number val:0 span_id:127)
                    suffix_op: (suffix_op.Unary op_id:Id.VOp1_DPound arg_word:{('*') (Id.Lit_Slash /)})
                  ) (' -R')
                )
              }
            )
            (C {(echo)} 
              {
                (DQ 
                  (braced_var_sub
                    token: (Token id:Id.VSub_Number val:0 span_id:140)
                    suffix_op: (suffix_op.Unary op_id:Id.VOp1_DPound arg_word:{('*') (Id.Lit_Slash /)})
                  ) (' [-v] -l | -r')
                )
              }
            )
            (C {(echo)} 
              {
                (DQ 
                  (braced_var_sub
                    token: (Token id:Id.VSub_Number val:0 span_id:153)
                    suffix_op: (suffix_op.Unary op_id:Id.VOp1_DPound arg_word:{('*') (Id.Lit_Slash /)})
                  ) (' [-v] <rc.d script> start|stop|etc.')
                )
              }
            )
            (C {(echo)} 
              {
                (DQ 
                  (braced_var_sub
                    token: (Token id:Id.VSub_Number val:0 span_id:166)
                    suffix_op: (suffix_op.Unary op_id:Id.VOp1_DPound arg_word:{('*') (Id.Lit_Slash /)})
                  ) (' -h')
                )
              }
            )
            (C {(echo)} {(SQ )})
            (C {(echo)} 
              {(SQ (Token id:Id.Lit_Chars val:'-e\tShow services that are enabled' span_id:184))}
            )
            (C {(echo)} 
              {
                (DQ ('-R\tStop and start enabled ') ($ Id.VSub_DollarName '$local_startup') 
                  (' services')
                )
              }
            )
            (C {(echo)} 
              {
                (DQ ('-l\tList all scripts in /etc/rc.d and ') ($ Id.VSub_DollarName '$local_startup'))
              }
            )
            (C {(echo)} 
              {
                (SQ 
                  (Token
                    id: Id.Lit_Chars
                    val: '-r\tShow the results of boot time rcorder'
                    span_id: 208
                  )
                )
              }
            )
            (C {(echo)} {(SQ (Token id:Id.Lit_Chars val:'-v\tVerbose' span_id:215))})
            (C {(echo)} {(SQ )})
          ]
        )
    )
    (command.WhileUntil
      keyword: (Token id:Id.KW_While val:while span_id:227)
      cond: [
        (command.Sentence
          child: 
            (C {(getopts)} {(SQ (Token id:Id.Lit_Chars val:ehlrRv span_id:232))} 
              {(COMMAND_LINE_ARGUMENT)}
            )
          terminator: (Token id:Id.Op_Semi val:';' span_id:237)
        )
      ]
      body: 
        (command.DoGroup
          children: [
            (command.Case
              to_match: {(DQ (${ Id.VSub_Name COMMAND_LINE_ARGUMENT))}
              arms: [
                (case_arm
                  pat_list: [{(e)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ENABLED)
                          op: assign_op.Equal
                          rhs: {(eopt)}
                          spids: [256]
                        )
                      ]
                    )
                  ]
                  spids: [253 254 259 -1]
                )
                (case_arm
                  pat_list: [{(h)}]
                  action: [
                    (command.Sentence
                      child: (C {(usage)})
                      terminator: (Token id:Id.Op_Semi val:';' span_id:267)
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Exit val:exit span_id:269)
                      arg_word: {(0)}
                    )
                  ]
                  spids: [262 263 273 -1]
                )
                (case_arm
                  pat_list: [{(l)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:LIST)
                          op: assign_op.Equal
                          rhs: {(lopt)}
                          spids: [279]
                        )
                      ]
                    )
                  ]
                  spids: [276 277 282 -1]
                )
                (case_arm
                  pat_list: [{(r)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:RCORDER)
                          op: assign_op.Equal
                          rhs: {(ropt)}
                          spids: [288]
                        )
                      ]
                    )
                  ]
                  spids: [285 286 291 -1]
                )
                (case_arm
                  pat_list: [{(R)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:RESTART)
                          op: assign_op.Equal
                          rhs: {(Ropt)}
                          spids: [297]
                        )
                      ]
                    )
                  ]
                  spids: [294 295 300 -1]
                )
                (case_arm
                  pat_list: [{(v)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:VERBOSE)
                          op: assign_op.Equal
                          rhs: {(vopt)}
                          spids: [306]
                        )
                      ]
                    )
                  ]
                  spids: [303 304 309 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_Star '*')}]
                  action: [
                    (command.Sentence
                      child: (C {(usage)})
                      terminator: (Token id:Id.Op_Semi val:';' span_id:317)
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Exit val:exit span_id:319)
                      arg_word: {(1)}
                    )
                  ]
                  spids: [312 313 323 -1]
                )
              ]
            )
          ]
        )
    )
    (C {(shift)} 
      {
        (word_part.ArithSub
          anode: 
            (arith_expr.Binary
              op_id: Id.Arith_Minus
              left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$OPTIND')})
              right: (arith_expr.ArithWord w:{(Id.Lit_Digits 1)})
            )
        )
      }
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Id.Lit_LBracket '[')} {(-n)} {(DQ ($ Id.VSub_DollarName '$RESTART'))} 
                  {(Id.Lit_RBracket ']')}
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:355)
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:skip)
                  op: assign_op.Equal
                  rhs: {(DQ ('-s nostart'))}
                  spids: [360]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Id.Lit_LBracket '[')} 
                          {
                            (command_sub
                              left_token: (Token id:Id.Left_Backtick val:'`' span_id:370)
                              command_list: 
                                (command.CommandList
                                  children: [(C {(/sbin/sysctl)} {(-n)} {(security.jail.jailed)})]
                                )
                            )
                          } {(-eq)} {(1)} {(Id.Lit_RBracket ']')}
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:385)
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:skip)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName '$skip') (' -s nojail'))}
                          spids: [390]
                        )
                      ]
                    )
                  ]
                  spids: [366 387]
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {(Id.Lit_LBracket '[')} {(-n)} {(DQ ($ Id.VSub_DollarName '$local_startup'))} 
                  {(Id.Lit_RBracket ']')}
                )
                (C {(find_local_scripts_new)})
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:files)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: (Token id:Id.Left_Backtick val:'`' span_id:416)
                        command_list: 
                          (command.CommandList
                            children: [
                              (command.Simple
                                words: [
                                  {(rcorder)}
                                  {(${ Id.VSub_Name skip)}
                                  {(${ Id.VSub_Name local_rc)}
                                ]
                                redirects: [
                                  (redir.Redir
                                    op: (Token id:Id.Redir_Great val:'2>' span_id:429)
                                    fd: 2
                                    arg_word: {(/dev/null)}
                                  )
                                ]
                              )
                            ]
                          )
                      )
                    }
                  spids: [415]
                )
              ]
            )
            (command.ForEach
              iter_name: file
              iter_words: [
                {
                  (command_sub
                    left_token: (Token id:Id.Left_Backtick val:'`' span_id:441)
                    command_list: 
                      (command.CommandList
                        children: [(C {(reverse_list)} {(${ Id.VSub_Name files)})]
                      )
                  )
                }
              ]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (C {(grep)} {(-q)} {(Id.Lit_Other '^') (rcvar)} 
                                  {($ Id.VSub_DollarName '$file')}
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:465)
                            )
                          ]
                          action: [
                            (C {(eval)} 
                              {
                                (command_sub
                                  left_token: (Token id:Id.Left_Backtick val:'`' span_id:472)
                                  command_list: 
                                    (command.CommandList
                                      children: [
                                        (C {(grep)} {(Id.Lit_Other '^') (Id.Lit_VarLike 'name=')} 
                                          {($ Id.VSub_DollarName '$file')}
                                        )
                                      ]
                                    )
                                )
                              }
                            )
                            (C {(eval)} 
                              {
                                (command_sub
                                  left_token: (Token id:Id.Left_Backtick val:'`' span_id:486)
                                  command_list: 
                                    (command.CommandList
                                      children: [
                                        (C {(grep)} {(Id.Lit_Other '^') (rcvar)} 
                                          {($ Id.VSub_DollarName '$file')}
                                        )
                                      ]
                                    )
                                )
                              }
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {(Id.Lit_LBracket '[')} {(-n)} 
                                          {(DQ ($ Id.VSub_DollarName '$rcvar'))} {(Id.Lit_RBracket ']')}
                                        )
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:509)
                                    )
                                  ]
                                  action: [
                                    (C {(load_rc_config_var)} {(${ Id.VSub_Name name)} 
                                      {(${ Id.VSub_Name rcvar)}
                                    )
                                  ]
                                  spids: [498 511]
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [
                                (command.Simple
                                  words: [{(checkyesno)} {($ Id.VSub_DollarName '$rcvar')}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'2>' span_id:532)
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                    )
                                  ]
                                )
                                (C {(run_rc_script)} {(${ Id.VSub_Name file)} {(stop)})
                              ]
                            )
                          ]
                          spids: [455 467]
                        )
                      ]
                    )
                  ]
                )
            )
            (command.ForEach
              iter_name: file
              iter_words: [{($ Id.VSub_DollarName '$files')}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (C {(grep)} {(-q)} {(Id.Lit_Other '^') (rcvar)} 
                                  {($ Id.VSub_DollarName '$file')}
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:574)
                            )
                          ]
                          action: [
                            (C {(eval)} 
                              {
                                (command_sub
                                  left_token: (Token id:Id.Left_Backtick val:'`' span_id:581)
                                  command_list: 
                                    (command.CommandList
                                      children: [
                                        (C {(grep)} {(Id.Lit_Other '^') (Id.Lit_VarLike 'name=')} 
                                          {($ Id.VSub_DollarName '$file')}
                                        )
                                      ]
                                    )
                                )
                              }
                            )
                            (C {(eval)} 
                              {
                                (command_sub
                                  left_token: (Token id:Id.Left_Backtick val:'`' span_id:595)
                                  command_list: 
                                    (command.CommandList
                                      children: [
                                        (C {(grep)} {(Id.Lit_Other '^') (rcvar)} 
                                          {($ Id.VSub_DollarName '$file')}
                                        )
                                      ]
                                    )
                                )
                              }
                            )
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [
                                (command.Simple
                                  words: [{(checkyesno)} {($ Id.VSub_DollarName '$rcvar')}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'2>' span_id:611)
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                    )
                                  ]
                                )
                                (C {(run_rc_script)} {(${ Id.VSub_Name file)} {(start)})
                              ]
                            )
                          ]
                          spids: [564 576]
                        )
                      ]
                    )
                  ]
                )
            )
            (command.ControlFlow
              token: (Token id:Id.ControlFlow_Exit val:exit span_id:632)
              arg_word: {(0)}
            )
          ]
          spids: [344 357]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Id.Lit_LBracket '[')} {(-n)} {(DQ ($ Id.VSub_DollarName '$ENABLED'))} {(-o)} {(-n)} 
                  {(DQ ($ Id.VSub_DollarName '$RCORDER'))} {(Id.Lit_RBracket ']')}
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:658)
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:skip)
                  op: assign_op.Equal
                  rhs: {(DQ ('-s nostart'))}
                  spids: [667]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Id.Lit_LBracket '[')} 
                          {
                            (command_sub
                              left_token: (Token id:Id.Left_Backtick val:'`' span_id:677)
                              command_list: 
                                (command.CommandList
                                  children: [(C {(/sbin/sysctl)} {(-n)} {(security.jail.jailed)})]
                                )
                            )
                          } {(-eq)} {(1)} {(Id.Lit_RBracket ']')}
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:692)
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:skip)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName '$skip') (' -s nojail'))}
                          spids: [697]
                        )
                      ]
                    )
                  ]
                  spids: [673 694]
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {(Id.Lit_LBracket '[')} {(-n)} {(DQ ($ Id.VSub_DollarName '$local_startup'))} 
                  {(Id.Lit_RBracket ']')}
                )
                (C {(find_local_scripts_new)})
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:files)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: (Token id:Id.Left_Backtick val:'`' span_id:723)
                        command_list: 
                          (command.CommandList
                            children: [
                              (command.Simple
                                words: [
                                  {(rcorder)}
                                  {(${ Id.VSub_Name skip)}
                                  {(/etc/rc.d/) (Id.Lit_Star '*')}
                                  {(${ Id.VSub_Name local_rc)}
                                ]
                                redirects: [
                                  (redir.Redir
                                    op: (Token id:Id.Redir_Great val:'2>' span_id:739)
                                    fd: 2
                                    arg_word: {(/dev/null)}
                                  )
                                ]
                              )
                            ]
                          )
                      )
                    }
                  spids: [722]
                )
              ]
            )
          ]
          spids: [639 660]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Id.Lit_LBracket '[')} {(-n)} {(DQ ($ Id.VSub_DollarName '$ENABLED'))} 
                  {(Id.Lit_RBracket ']')}
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:757)
            )
          ]
          action: [
            (command.ForEach
              iter_name: file
              iter_words: [{($ Id.VSub_DollarName '$files')}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (C {(grep)} {(-q)} {(Id.Lit_Other '^') (rcvar)} 
                                  {($ Id.VSub_DollarName '$file')}
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:784)
                            )
                          ]
                          action: [
                            (C {(eval)} 
                              {
                                (command_sub
                                  left_token: (Token id:Id.Left_Backtick val:'`' span_id:791)
                                  command_list: 
                                    (command.CommandList
                                      children: [
                                        (C {(grep)} {(Id.Lit_Other '^') (Id.Lit_VarLike 'name=')} 
                                          {($ Id.VSub_DollarName '$file')}
                                        )
                                      ]
                                    )
                                )
                              }
                            )
                            (C {(eval)} 
                              {
                                (command_sub
                                  left_token: (Token id:Id.Left_Backtick val:'`' span_id:805)
                                  command_list: 
                                    (command.CommandList
                                      children: [
                                        (C {(grep)} {(Id.Lit_Other '^') (rcvar)} 
                                          {($ Id.VSub_DollarName '$file')}
                                        )
                                      ]
                                    )
                                )
                              }
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {(Id.Lit_LBracket '[')} {(-n)} 
                                          {(DQ ($ Id.VSub_DollarName '$rcvar'))} {(Id.Lit_RBracket ']')}
                                        )
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:828)
                                    )
                                  ]
                                  action: [
                                    (C {(load_rc_config_var)} {(${ Id.VSub_Name name)} 
                                      {(${ Id.VSub_Name rcvar)}
                                    )
                                  ]
                                  spids: [817 830]
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [
                                (command.Simple
                                  words: [{(checkyesno)} {($ Id.VSub_DollarName '$rcvar')}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'2>' span_id:851)
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                    )
                                  ]
                                )
                                (C {(echo)} {($ Id.VSub_DollarName '$file')})
                              ]
                            )
                          ]
                          spids: [774 786]
                        )
                      ]
                    )
                  ]
                )
            )
            (command.ControlFlow
              token: (Token id:Id.ControlFlow_Exit val:exit span_id:867)
              arg_word: {(0)}
            )
          ]
          spids: [746 759]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Id.Lit_LBracket '[')} {(-n)} {(DQ ($ Id.VSub_DollarName '$LIST'))} 
                  {(Id.Lit_RBracket ']')}
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:885)
            )
          ]
          action: [
            (command.ForEach
              iter_name: dir
              iter_words: [{(/etc/rc.d)} {($ Id.VSub_DollarName '$local_startup')}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {(Id.Lit_LBracket '[')} {(-n)} {(DQ ($ Id.VSub_DollarName '$VERBOSE'))} 
                          {(Id.Lit_RBracket ']')}
                        )
                        (C {(echo)} {(DQ ('From ') (${ Id.VSub_Name dir) (':'))})
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {(Id.Lit_LBracket '[')} {(-d)} {(${ Id.VSub_Name dir)} {(Id.Lit_RBracket ']')})
                        (C {(/bin/ls)} {(-1)} {(${ Id.VSub_Name dir)})
                      ]
                    )
                  ]
                )
            )
            (command.ControlFlow
              token: (Token id:Id.ControlFlow_Exit val:exit span_id:951)
              arg_word: {(0)}
            )
          ]
          spids: [874 887]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Id.Lit_LBracket '[')} {(-n)} {(DQ ($ Id.VSub_DollarName '$RCORDER'))} 
                  {(Id.Lit_RBracket ']')}
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:969)
            )
          ]
          action: [
            (command.ForEach
              iter_name: file
              iter_words: [{($ Id.VSub_DollarName '$files')}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (C {(echo)} {($ Id.VSub_DollarName '$file')})
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (C {(Id.Lit_LBracket '[')} {(-n)} 
                                  {(DQ ($ Id.VSub_DollarName '$VERBOSE'))} {(Id.Lit_RBracket ']')}
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:1002)
                            )
                          ]
                          action: [
                            (command.Case
                              to_match: {(DQ ($ Id.VSub_DollarName '$file'))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Id.Lit_Star '*') (/) (${ Id.VSub_Name early_late_divider)}
                                  ]
                                  action: [
                                    (C {(echo)} 
                                      {
                                        (SQ 
                                          (Token
                                            id: Id.Lit_Chars
                                            val: '========= Early/Late Divider ========='
                                            span_id: 1027
                                          )
                                        )
                                      }
                                    )
                                  ]
                                  spids: [1016 1021 1030 -1]
                                )
                              ]
                            )
                          ]
                          spids: [991 1004]
                        )
                      ]
                    )
                  ]
                )
            )
            (command.ControlFlow
              token: (Token id:Id.ControlFlow_Exit val:exit span_id:1042)
              arg_word: {(0)}
            )
          ]
          spids: [958 971]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Id.Lit_LBracket '[')} {($ Id.VSub_Pound '$#')} {(-gt)} {(1)} {(Id.Lit_RBracket ']')})
              terminator: (Token id:Id.Op_Semi val:';' span_id:1060)
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:script)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number '$1')}
                  spids: [1065]
                )
              ]
            )
            (C {(shift)})
          ]
          spids: [1049 1062]
        )
      ]
      else_action: [
        (C {(usage)})
        (command.ControlFlow
          token: (Token id:Id.ControlFlow_Exit val:exit span_id:1077)
          arg_word: {(1)}
        )
      ]
    )
    (C {(cd)} {(/)})
    (command.ForEach
      iter_name: dir
      iter_words: [{(/etc/rc.d)} {($ Id.VSub_DollarName '$local_startup')}]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Id.Lit_LBracket '[')} {(-x)} 
                          {(DQ ($ Id.VSub_DollarName '$dir') (/) ($ Id.VSub_DollarName '$script'))} {(Id.Lit_RBracket ']')}
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:1115)
                    )
                  ]
                  action: [
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {(Id.Lit_LBracket '[')} {(-n)} {(DQ ($ Id.VSub_DollarName '$VERBOSE'))} 
                          {(Id.Lit_RBracket ']')}
                        )
                        (C {(echo)} 
                          {
                            (DQ ($ Id.VSub_DollarName '$script') (' is located in ') 
                              ($ Id.VSub_DollarName '$dir')
                            )
                          }
                        )
                      ]
                    )
                    (C {(exec)} {(env)} {(-i)} {(Id.Lit_VarLike 'HOME=') (/)} 
                      {(Id.Lit_VarLike 'PATH=') (/sbin) (Id.Lit_Other ':') (/bin) (Id.Lit_Other ':') 
                        (/usr/sbin) (Id.Lit_Other ':') (/usr/bin)
                      } {($ Id.VSub_DollarName '$dir') (/) ($ Id.VSub_DollarName '$script')} {($ Id.VSub_Star '$*')}
                    )
                  ]
                  spids: [1102 1117]
                )
              ]
            )
          ]
        )
    )
    (C {(echo)} 
      {(DQ ($ Id.VSub_DollarName '$script') (' does not exist in /etc/rc.d or the local startup'))}
    )
    (C {(echo)} {(DQ ('directories (') (${ Id.VSub_Name local_startup) ('), or is not executable'))})
    (command.ControlFlow token:(Token id:Id.ControlFlow_Exit val:exit span_id:1191) arg_word:{(1)})
  ]
)