(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LeftVar name:PATH)
          rhs: {(/sbin) (Lit_Other ":") (/usr/sbin) (Lit_Other ":") (/bin) (Lit_Other ":") (/usr/bin)}
          spids: [43]
        )
      ]
      spids: [43]
    )
    (Assignment
      keyword: Assign_Export
      pairs: [(assign_pair lhs:(LeftVar name:PATH) spids:[54])]
      spids: [52]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LeftVar name:scriptname) rhs:{(DQ ($ VSub_Number "$0"))} spids:[70])]
      spids: [70]
    )
    (C {(umask)} {(022)})
    (FuncDef
      name: on_exit
      body: 
        (BraceGroup
          children: [
            (C {(echo)} 
              {
                (DQ ("error: '") ($ VSub_Name "$scriptname") 
                  ("' exited outside the expected code flow.")
                )
              }
            )
          ]
          spids: [85]
        )
      spids: [81 84]
    )
    (C {(trap)} {(on_exit)} {(EXIT)})
    (C {(trap)} {(DQ (":"))} {(INT)} {(QUIT)} {(TSTP)})
    (SimpleCommand
      words: [{(stty)} {(onlcr)}]
      redirects: [(Redirect op_id:Redir_GreatAnd arg_word:{(1)} fd:0 spids:[131])]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LeftVar name:runlevel) rhs:{($ VSub_Name "$RUNLEVEL")} spids:[139])]
      spids: [139]
    )
    (AndOr
      children: [
        (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ )} 
          {(Lit_Other "]")}
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LeftVar name:runlevel) rhs:{($ VSub_Number "$1")} spids:[161])]
          spids: [161]
        )
      ]
      op_id: Op_DAmp
    )
    (If
      arms: [
        (if_arm
          cond: 
            (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$runlevel"))} {(Lit_Other "=")} {(DQ )} 
              {(Lit_Other "]")}
            )
          action: 
            (CommandList
              children: [
                (SimpleCommand
                  words: [{(echo)} {(DQ ("Usage: ") ($ VSub_Name "$scriptname") (" <runlevel>"))}]
                  redirects: [(Redirect op_id:Redir_GreatAnd arg_word:{(2)} fd:-1 spids:[190])]
                )
                (C {(exit)} {(1)})
              ]
            )
          spids: [-1 179]
        )
      ]
      spids: [-1 198]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LeftVar name:previous) rhs:{($ VSub_Name "$PREVLEVEL")} spids:[200])]
      spids: [200]
    )
    (AndOr
      children: [
        (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$previous"))} {(Lit_Other "=")} {(DQ )} {(Lit_Other "]")})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LeftVar name:previous) rhs:{(N)} spids:[218])]
          spids: [218]
        )
      ]
      op_id: Op_DAmp
    )
    (Assignment
      keyword: Assign_Export
      pairs: [
        (assign_pair lhs:(LeftVar name:runlevel) spids:[224])
        (assign_pair lhs:(LeftVar name:previous) spids:[226])
      ]
      spids: [222]
    )
    (If
      arms: [
        (if_arm
          cond: 
            (Sentence
              command: (C {(Lit_Other "[")} {(-f)} {(/etc/default/rcS)} {(Lit_Other "]")})
              terminator: <Op_Semi ";">
            )
          action: (C {(.)} {(/etc/default/rcS)})
          spids: [-1 241]
        )
      ]
      spids: [-1 248]
    )
    (Assignment
      keyword: Assign_Export
      pairs: [(assign_pair lhs:(LeftVar name:VERBOSE) spids:[252])]
      spids: [250]
    )
    (If
      arms: [
        (if_arm
          cond: 
            (Sentence
              command: (C {(Lit_Other "[")} {(-f)} {(/lib/lsb/init-functions)} {(Lit_Other "]")})
              terminator: <Op_Semi ";">
            )
          action: (C {(.)} {(/lib/lsb/init-functions)})
          spids: [-1 267]
        )
      ]
      else_action: 
        (CommandList
          children: [
            (FuncDef
              name: log_action_msg
              body: 
                (BraceGroup
                  children: [
                    (Sentence
                      command: (C {(echo)} {($ VSub_At "$@")})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  spids: [281]
                )
              spids: [277 280]
            )
            (FuncDef
              name: log_failure_msg
              body: 
                (BraceGroup
                  children: [
                    (Sentence
                      command: (C {(echo)} {($ VSub_At "$@")})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  spids: [295]
                )
              spids: [291 294]
            )
            (FuncDef
              name: log_warning_msg
              body: 
                (BraceGroup
                  children: [
                    (Sentence
                      command: (C {(echo)} {($ VSub_At "$@")})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  spids: [309]
                )
              spids: [305 308]
            )
          ]
        )
      spids: [274 318]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LeftVar name:CONCURRENCY) rhs:{(makefile)} spids:[336])]
      spids: [336]
    )
    (AndOr
      children: [
        (C {(test)} {(-s)} {(/etc/init.d/.depend.boot)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LeftVar name:CONCURRENCY) rhs:{(DQ (none))} spids:[347])]
          spids: [347]
        )
      ]
      op_id: Op_DPipe
    )
    (AndOr
      children: [
        (C {(test)} {(-s)} {(/etc/init.d/.depend.start)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LeftVar name:CONCURRENCY) rhs:{(DQ (none))} spids:[360])]
          spids: [360]
        )
      ]
      op_id: Op_DPipe
    )
    (AndOr
      children: [
        (C {(test)} {(-s)} {(/etc/init.d/.depend.stop)})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LeftVar name:CONCURRENCY) rhs:{(DQ (none))} spids:[373])]
          spids: [373]
        )
      ]
      op_id: Op_DPipe
    )
    (If
      arms: [
        (if_arm
          cond: 
            (Sentence
              command: (C {(test)} {(-e)} {(/etc/init.d/.legacy-bootordering)})
              terminator: <Op_Semi ";">
            )
          action: 
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LeftVar name:CONCURRENCY) rhs:{(DQ (none))} spids:[391])]
              spids: [391]
            )
          spids: [-1 388]
        )
      ]
      spids: [-1 396]
    )
    (If
      arms: [
        (if_arm
          cond: 
            (Sentence
              command: (Pipeline children:[(C {(test)} {(-e)} {(/proc/stat)})] negated:True)
              terminator: <Op_Semi ";">
            )
          action: 
            (If
              arms: [
                (if_arm
                  cond: 
                    (Sentence
                      command: 
                        (C {(Lit_Other "[")} 
                          {(DQ (CommandSubPart command_list:(C {(uname)}) spids:[417419]))} {(Lit_Other "=")} {(DQ (GNU/kFreeBSD))} {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  action: (C {(mount)} {(-t)} {(linprocfs)} {(linprocfs)} {(/proc)})
                  spids: [-1 432]
                )
              ]
              spids: [-1 450]
            )
          spids: [-1 409]
        )
      ]
      spids: [-1 452]
    )
    (AndOr
      children: [
        (SimpleCommand
          words: [{(startpar)} {(-v)}]
          redirects: [
            (Redirect op_id:Redir_Great arg_word:{(/dev/null)} fd:-1 spids:[458])
            (Redirect op_id:Redir_GreatAnd arg_word:{(1)} fd:2 spids:[462])
          ]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LeftVar name:CONCURRENCY) rhs:{(DQ (none))} spids:[467])]
          spids: [467]
        )
      ]
      op_id: Op_DPipe
    )
    (Case
      to_match: {(DQ ($ VSub_Name "$CONCURRENCY"))}
      arms: [
        (case_arm
          pat_list: [{(makefile)} {(startpar)} {(shell)}]
          action: 
            (CommandList
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LeftVar name:CONCURRENCY) rhs:{(makefile)} spids:[502])]
                  spids: [502]
                )
                (C {(log_action_msg)} 
                  {
                    (DQ ("Using makefile-style concurrent boot in runlevel ") 
                      ($ VSub_Name "$runlevel")
                    )
                  }
                )
                (FuncDef
                  name: startup
                  body: 
                    (BraceGroup
                      children: [
                        (C {(eval)} 
                          {
                            (DQ 
                              (CommandSubPart
                                command_list: 
                                  (C {(startpar)} {(-p)} {(4)} {(-t)} {(20)} {(-T)} {(3)} {(-M)} 
                                    {($ VSub_Number "$1")} {(-P)} {($ VSub_Name "$previous")} {(-R)} {($ VSub_Name "$runlevel")}
                                  )
                                spids: [524 550]
                              )
                            )
                          }
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: 
                                (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$failed_service"))} 
                                  {(Lit_Other "]")}
                                )
                              action: 
                                (C {(log_failure_msg)} 
                                  {
                                    (DQ ("startpar: service(s) returned failure: ") 
                                      ($ VSub_Name "$failed_service")
                                    )
                                  }
                                )
                              spids: [-1 568]
                            )
                          ]
                          spids: [-1 579]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: 
                                (C {(Lit_Other "[")} {(-n)} 
                                  {(DQ ($ VSub_Name "$skipped_service_not_installed"))} {(Lit_Other "]")}
                                )
                              action: 
                                (C {(log_warning_msg)} 
                                  {
                                    (DQ ("startpar: service(s) skipped, program is not installed: ") 
                                      ($ VSub_Name "$skipped_service_not_installed")
                                    )
                                  }
                                )
                              spids: [-1 596]
                            )
                          ]
                          spids: [-1 607]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: 
                                (C {(Lit_Other "[")} {(-n)} 
                                  {(DQ ($ VSub_Name "$skipped_service_not_configured"))} {(Lit_Other "]")}
                                )
                              action: 
                                (C {(log_warning_msg)} 
                                  {
                                    (DQ ("startpar: service(s) skipped, program is not configured: ") 
                                      ($ VSub_Name "$skipped_service_not_configured")
                                    )
                                  }
                                )
                              spids: [-1 624]
                            )
                          ]
                          spids: [-1 635]
                        )
                        (C {(unset)} {(failed_service)} {(skipped_service_not_installed)} 
                          {(skipped_service_not_configured)}
                        )
                      ]
                      spids: [518]
                    )
                  spids: [514 517]
                )
              ]
            )
          spids: [491 496 651 -1]
        )
        (case_arm
          pat_list: [{(none)} {(Lit_Other "*")}]
          action: 
            (FuncDef
              name: startup
              body: 
                (BraceGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LeftVar name:action)
                          rhs: {($ VSub_Number "$1")}
                          spids: [667]
                        )
                      ]
                      spids: [667]
                    )
                    (C {(shift)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LeftVar name:scripts)
                          rhs: {(DQ ($ VSub_At "$@"))}
                          spids: [674]
                        )
                      ]
                      spids: [674]
                    )
                    (ForEach
                      iter_name: script
                      iter_words: [{($ VSub_Name "$scripts")}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          child: 
                            (C {($ VSub_Name "$debug")} {(DQ ($ VSub_Name "$script"))} 
                              {($ VSub_Name "$action")}
                            )
                          spids: [690 702]
                        )
                      spids: [685 688]
                    )
                  ]
                  spids: [664]
                )
              spids: [660 663]
            )
          spids: [654 657 708 -1]
        )
      ]
      spids: [482 488 710]
    )
    (If
      arms: [
        (if_arm
          cond: 
            (C {(Lit_Other "[")} {(-d)} {(/etc/rc) ($ VSub_Name "$runlevel") (.d)} {(Lit_Other "]")})
          action: 
            (CommandList
              children: [
                (Case
                  to_match: {(DQ ($ VSub_Name "$runlevel"))}
                  arms: [
                    (case_arm
                      pat_list: [{(0)} {(6)}]
                      action: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [(assign_pair lhs:(LeftVar name:ACTION) rhs:{(stop)} spids:[746])]
                          spids: [746]
                        )
                      spids: [740 743 750 -1]
                    )
                    (case_arm
                      pat_list: [{(S)}]
                      action: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [(assign_pair lhs:(LeftVar name:ACTION) rhs:{(start)} spids:[757])]
                          spids: [757]
                        )
                      spids: [753 754 761 -1]
                    )
                    (case_arm
                      pat_list: [{(Lit_Other "*")}]
                      action: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [(assign_pair lhs:(LeftVar name:ACTION) rhs:{(start)} spids:[768])]
                          spids: [768]
                        )
                      spids: [764 765 772 -1]
                    )
                  ]
                  spids: [731 737 775]
                )
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (C {(Lit_Other "[")} {(makefile)} {(Lit_Other "=")} 
                          {(DQ ($ VSub_Name "$CONCURRENCY"))} {(Lit_Other "]")}
                        )
                      action: 
                        (If
                          arms: [
                            (if_arm
                              cond: 
                                (AndOr
                                  children: [
                                    (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$ACTION"))} 
                                      {(Lit_Other "=")} {(DQ (start))} {(Lit_Other "]")}
                                    )
                                    (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$previous"))} 
                                      {(KW_Bang "!") (Lit_Other "=")} {(N)} {(Lit_Other "]")}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              action: (C {(startup)} {(stop)})
                              spids: [-1 833]
                            )
                          ]
                          spids: [-1 841]
                        )
                      spids: [-1 798]
                    )
                    (if_arm
                      cond: 
                        (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$previous"))} 
                          {(KW_Bang "!") (Lit_Other "=")} {(N)} {(Lit_Other "]")}
                        )
                      action: 
                        (CommandList
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LeftVar name:CURLEVEL)
                                  rhs: {(DQ )}
                                  spids: [867]
                                )
                              ]
                              spids: [867]
                            )
                            (ForEach
                              iter_name: s
                              iter_words: [
                                {(/etc/rc) ($ VSub_Name "$runlevel") (.d/K) (Lit_Other "*")}
                              ]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  child: 
                                    (CommandList
                                      children: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LeftVar name:level)
                                              rhs: 
                                                {
                                                  (BracedVarSub
                                                    token: <VSub_Name s>
                                                    suffix_op: 
                                                      (StringUnary
                                                        op_id: VOp1_Pound
                                                        arg_word: 
                                                          {(Lit_Slash /) (etc) (Lit_Slash /) (rc) 
                                                            ($ VSub_Name "$runlevel") (.d) (Lit_Slash /) (K)
                                                          }
                                                      )
                                                    spids: [892 903]
                                                  )
                                                }
                                              spids: [891]
                                            )
                                          ]
                                          spids: [891]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LeftVar name:level)
                                              rhs: 
                                                {
                                                  (BracedVarSub
                                                    token: <VSub_Name level>
                                                    suffix_op: 
                                                      (StringUnary
                                                        op_id: VOp1_DPercent
                                                        arg_word: {("[a-zA-Z]*")}
                                                      )
                                                    spids: [907 911]
                                                  )
                                                }
                                              spids: [906]
                                            )
                                          ]
                                          spids: [906]
                                        )
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: 
                                                (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$level"))} 
                                                  {(Lit_Other "=")} {(DQ ($ VSub_Name "$CURLEVEL"))} {(Lit_Other "]")}
                                                )
                                              action: (C {(continue)})
                                              spids: [-1 931]
                                            )
                                          ]
                                          spids: [-1 937]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LeftVar name:CURLEVEL)
                                              rhs: {($ VSub_Name "$level")}
                                              spids: [940]
                                            )
                                          ]
                                          spids: [940]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LeftVar name:SCRIPTS)
                                              rhs: {(DQ )}
                                              spids: [944]
                                            )
                                          ]
                                          spids: [944]
                                        )
                                        (ForEach
                                          iter_name: i
                                          iter_words: [
                                            {(/etc/rc) ($ VSub_Name "$runlevel") (.d/K) 
                                              ($ VSub_Name "$level") (Lit_Other "*")
                                            }
                                          ]
                                          do_arg_iter: False
                                          body: 
                                            (DoGroup
                                              child: 
                                                (CommandList
                                                  children: [
                                                    (AndOr
                                                      children: [
                                                        (C {(Lit_Other "[")} {(KW_Bang "!")} {(-f)} 
                                                          {($ VSub_Name "$i")} {(Lit_Other "]")}
                                                        )
                                                        (C {(continue)})
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LeftVar name:suffix)
                                                          rhs: 
                                                            {
                                                              (BracedVarSub
                                                                token: <VSub_Name i>
                                                                suffix_op: 
                                                                  (StringUnary
                                                                    op_id: VOp1_Pound
                                                                    arg_word: 
                                                                      {(Lit_Slash /) (etc) 
                                                                        (Lit_Slash /) (rc) ($ VSub_Name "$runlevel") (.d) (Lit_Slash /) ("K[0-9][0-9]")
                                                                      }
                                                                  )
                                                                spids: [1002 1013]
                                                              )
                                                            }
                                                          spids: [1001]
                                                        )
                                                      ]
                                                      spids: [1001]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LeftVar name:previous_stop)
                                                          rhs: 
                                                            {(/etc/rc) ($ VSub_Name "$previous") 
                                                              (.d/K) (Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "[") (0-9) (Lit_Other "]") ($ VSub_Name "$suffix")
                                                            }
                                                          spids: [1016]
                                                        )
                                                      ]
                                                      spids: [1016]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LeftVar name:previous_start)
                                                          rhs: 
                                                            {(/etc/rc) ($ VSub_Name "$previous") 
                                                              (.d/S) (Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "[") (0-9) (Lit_Other "]") ($ VSub_Name "$suffix")
                                                            }
                                                          spids: [1029]
                                                        )
                                                      ]
                                                      spids: [1029]
                                                    )
                                                    (AndOr
                                                      children: [
                                                        (C {(Lit_Other "[")} {(-f)} 
                                                          {($ VSub_Name "$previous_stop")} {(Lit_Other "]")}
                                                        )
                                                        (AndOr
                                                          children: [
                                                            (C {(Lit_Other "[")} {(KW_Bang "!")} {(-f)} 
                                                              {($ VSub_Name "$previous_start")} {(Lit_Other "]")}
                                                            )
                                                            (C {(continue)})
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LeftVar name:SCRIPTS)
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$SCRIPTS") (" ") 
                                                                ($ VSub_Name "$i")
                                                              )
                                                            }
                                                          spids: [1092]
                                                        )
                                                      ]
                                                      spids: [1092]
                                                    )
                                                  ]
                                                )
                                              spids: [962 1100]
                                            )
                                          spids: [954 -1]
                                        )
                                        (C {(startup)} {(stop)} {($ VSub_Name "$SCRIPTS")})
                                      ]
                                    )
                                  spids: [884 1110]
                                )
                              spids: [877 -1]
                            )
                          ]
                        )
                      spids: [844 860]
                    )
                  ]
                  spids: [-1 1113]
                )
                (If
                  arms: [
                    (if_arm
                      cond: 
                        (C {(Lit_Other "[")} {(makefile)} {(Lit_Other "=")} 
                          {(DQ ($ VSub_Name "$CONCURRENCY"))} {(Lit_Other "]")}
                        )
                      action: 
                        (If
                          arms: [
                            (if_arm
                              cond: 
                                (C {(Lit_Other "[")} {(S)} {(Lit_Other "=")} 
                                  {(DQ ($ VSub_Name "$runlevel"))} {(Lit_Other "]")}
                                )
                              action: (C {(startup)} {(boot)})
                              spids: [-1 1150]
                            )
                          ]
                          else_action: (C {(startup)} {($ VSub_Name "$ACTION")})
                          spids: [1158 1166]
                        )
                      spids: [-1 1132]
                    )
                  ]
                  else_action: 
                    (CommandList
                      children: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [(assign_pair lhs:(LeftVar name:CURLEVEL) rhs:{(DQ )} spids:[1180])]
                          spids: [1180]
                        )
                        (ForEach
                          iter_name: s
                          iter_words: [{(/etc/rc) ($ VSub_Name "$runlevel") (.d/S) (Lit_Other "*")}]
                          do_arg_iter: False
                          body: 
                            (DoGroup
                              child: 
                                (CommandList
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LeftVar name:level)
                                          rhs: 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name s>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: 
                                                      {(Lit_Slash /) (etc) (Lit_Slash /) (rc) 
                                                        ($ VSub_Name "$runlevel") (.d) (Lit_Slash /) (S)
                                                      }
                                                  )
                                                spids: [1205 1216]
                                              )
                                            }
                                          spids: [1204]
                                        )
                                      ]
                                      spids: [1204]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LeftVar name:level)
                                          rhs: 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name level>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_DPercent
                                                    arg_word: {("[a-zA-Z]*")}
                                                  )
                                                spids: [1220 1224]
                                              )
                                            }
                                          spids: [1219]
                                        )
                                      ]
                                      spids: [1219]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$level"))} 
                                              {(Lit_Other "=")} {(DQ ($ VSub_Name "$CURLEVEL"))} {(Lit_Other "]")}
                                            )
                                          action: (C {(continue)})
                                          spids: [-1 1244]
                                        )
                                      ]
                                      spids: [-1 1250]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LeftVar name:CURLEVEL)
                                          rhs: {($ VSub_Name "$level")}
                                          spids: [1253]
                                        )
                                      ]
                                      spids: [1253]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LeftVar name:SCRIPTS)
                                          rhs: {(DQ )}
                                          spids: [1257]
                                        )
                                      ]
                                      spids: [1257]
                                    )
                                    (ForEach
                                      iter_name: i
                                      iter_words: [
                                        {(/etc/rc) ($ VSub_Name "$runlevel") (.d/S) 
                                          ($ VSub_Name "$level") (Lit_Other "*")
                                        }
                                      ]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          child: 
                                            (CommandList
                                              children: [
                                                (AndOr
                                                  children: [
                                                    (C {(Lit_Other "[")} {(KW_Bang "!")} {(-f)} 
                                                      {($ VSub_Name "$i")} {(Lit_Other "]")}
                                                    )
                                                    (C {(continue)})
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LeftVar name:suffix)
                                                      rhs: 
                                                        {
                                                          (BracedVarSub
                                                            token: <VSub_Name i>
                                                            suffix_op: 
                                                              (StringUnary
                                                                op_id: VOp1_Pound
                                                                arg_word: 
                                                                  {(Lit_Slash /) (etc) (Lit_Slash /) 
                                                                    (rc) ($ VSub_Name "$runlevel") (.d) (Lit_Slash /) ("S[0-9][0-9]")
                                                                  }
                                                              )
                                                            spids: [1295 1306]
                                                          )
                                                        }
                                                      spids: [1294]
                                                    )
                                                  ]
                                                  spids: [1294]
                                                )
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: 
                                                        (C {(Lit_Other "[")} 
                                                          {(DQ ($ VSub_Name "$previous"))} {(KW_Bang "!") (Lit_Other "=")} {(N)} {(Lit_Other "]")}
                                                        )
                                                      action: 
                                                        (CommandList
                                                          children: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LeftVar name:stop)
                                                                  rhs: 
                                                                    {(/etc/rc) 
                                                                      ($ VSub_Name "$runlevel") (.d/K) (Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "[") (0-9) (Lit_Other "]") ($ VSub_Name "$suffix")
                                                                    }
                                                                  spids: [1344]
                                                                )
                                                              ]
                                                              spids: [1344]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LeftVar name:previous_start)
                                                                  rhs: 
                                                                    {(/etc/rc) 
                                                                      ($ VSub_Name "$previous") (.d/S) (Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "[") (0-9) (Lit_Other "]") ($ VSub_Name "$suffix")
                                                                    }
                                                                  spids: [1357]
                                                                )
                                                              ]
                                                              spids: [1357]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: 
                                                                    (Sentence
                                                                      command: 
                                                                        (C {(Lit_Other "[")} {(start)} 
                                                                          {(Lit_Other "=")} {(DQ ($ VSub_Name "$ACTION"))} {(Lit_Other "]")}
                                                                        )
                                                                      terminator: <Op_Semi ";">
                                                                    )
                                                                  action: 
                                                                    (AndOr
                                                                      children: [
                                                                        (C {(Lit_Other "[")} {(-f)} 
                                                                          {
                                                                            ($ VSub_Name 
"$previous_start"
                                                                            )
                                                                          } {(Lit_Other "]")}
                                                                        )
                                                                        (AndOr
                                                                          children: [
                                                                            (C {(Lit_Other "[")} 
                                                                              {(KW_Bang "!")} {(-f)} {($ VSub_Name "$stop")} {(Lit_Other "]")}
                                                                            )
                                                                            (C {(continue)})
                                                                          ]
                                                                          op_id: Op_DAmp
                                                                        )
                                                                      ]
                                                                      op_id: Op_DAmp
                                                                    )
                                                                  spids: [-1 1406]
                                                                )
                                                              ]
                                                              else_action: 
                                                                (CommandList
                                                                  children: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LeftVar
                                                                              name: previous_stop
                                                                            )
                                                                          rhs: 
                                                                            {(/etc/rc) 
                                                                              ($ VSub_Name 
"$previous"
                                                                              ) (.d/K) (Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "[") (0-9) (Lit_Other "]") ($ VSub_Name "$suffix")
                                                                            }
                                                                          spids: [1445]
                                                                        )
                                                                      ]
                                                                      spids: [1445]
                                                                    )
                                                                    (AndOr
                                                                      children: [
                                                                        (C {(Lit_Other "[")} {(-f)} 
                                                                          {
                                                                            ($ VSub_Name 
"$previous_stop"
                                                                            )
                                                                          } {(Lit_Other "]")}
                                                                        )
                                                                        (AndOr
                                                                          children: [
                                                                            (C {(Lit_Other "[")} 
                                                                              {(KW_Bang "!")} {(-f)} {($ VSub_Name "$previous_start")} {(Lit_Other "]")}
                                                                            )
                                                                            (C {(continue)})
                                                                          ]
                                                                          op_id: Op_DAmp
                                                                        )
                                                                      ]
                                                                      op_id: Op_DAmp
                                                                    )
                                                                  ]
                                                                )
                                                              spids: [1434 1503]
                                                            )
                                                          ]
                                                        )
                                                      spids: [-1 1325]
                                                    )
                                                  ]
                                                  spids: [-1 1507]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LeftVar name:SCRIPTS)
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$SCRIPTS") (" ") 
                                                            ($ VSub_Name "$i")
                                                          )
                                                        }
                                                      spids: [1510]
                                                    )
                                                  ]
                                                  spids: [1510]
                                                )
                                              ]
                                            )
                                          spids: [1275 1518]
                                        )
                                      spids: [1267 -1]
                                    )
                                    (C {(startup)} {($ VSub_Name "$ACTION")} {($ VSub_Name "$SCRIPTS")})
                                  ]
                                )
                              spids: [1197 1528]
                            )
                          spids: [1190 -1]
                        )
                      ]
                    )
                  spids: [1169 1531]
                )
              ]
            )
          spids: [-1 728]
        )
      ]
      spids: [-1 1533]
    )
    (C {(trap)} {(-)} {(EXIT)})
    (C {(exit)} {(0)})
  ]
)