(command.CommandList
  children: [
    (C {<typeset>} {<-i>} {<Id.Lit_VarLike '_Dbg_inside_skip='> <0>})
    (C {<typeset>} {<-A>} {<_Dbg_cmdloop_hooks>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.IndexedName name:_Dbg_cmdloop_hooks index:{(SQ <display>)})
          op: assign_op.Equal
          rhs: {(SQ <_Dbg_eval_all_display>)}
          spids: [81]
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence child:(C {<typeset>} {<_Dbg_read_fn>}) terminator:<Id.Op_Semi _>)
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:_Dbg_read_fn)
              op: assign_op.Equal
              rhs: {(SQ <read>)}
              spids: [106]
            )
          ]
        )
      ]
    )
    (C {<typeset>} {<Id.Lit_VarLike '_Dbg_space='> (SQ <' '>)})
    (C {<typeset>} {<Id.Lit_VarLike '_Dbg_edit='> (SQ <-e>)})
    (C {<typeset>} {<Id.Lit_VarLike '_Dbg_edit_style='> (SQ <emacs>)})
    (C {<set>} {<-o>} {($ Id.VSub_DollarName '$_Dbg_edit_style')})
    (C {<typeset>} 
      {<Id.Lit_VarLike '_Dbg_prompt_str='> 
        (SQ <'$_Dbg_debugger_name${_Dbg_less}${#_Dbg_history[@]}${_Dbg_greater}$_Dbg_space'>)
      }
    )
    (C {<typeset>} {<Id.Lit_VarLike '_Dbg_last_x_args='> (SQ )})
    (C {<typeset>} {<Id.Lit_VarLike '_Dbg_last_cmd='> (SQ )})
    (command.CommandList
      children: [
        (command.Sentence child:(C {<typeset>} {<-i>} {<_Dbg_fdi>}) terminator:<Id.Op_Semi _>)
        (command.Simple
          words: [{<exec>}]
          redirects: [
            (redir
              op: <Id.Redir_LessAnd '{_Dbg_fdi}<&'>
              loc: (redir_loc.VarName name:_Dbg_fdi)
              arg: {<0>}
            )
          ]
          do_fork: T
        )
      ]
    )
    (C {<typeset>} {<-i>} {<Id.Lit_VarLike '_Dbg_fd_last='> <0>})
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {<typeset>} {<-a>} {<_Dbg_cmdfile>})
          terminator: <Id.Op_Semi _>
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:_Dbg_cmdfile)
              op: assign_op.Equal
              rhs: {(sh_array_literal left:<Id.Op_LParen _> words:[{(SQ )}])}
              spids: [246]
            )
          ]
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence child:(C {<typeset>} {<-a>} {<_Dbg_fd>}) terminator:<Id.Op_Semi _>)
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:_Dbg_fd)
              op: assign_op.Equal
              rhs: 
                {
                  (sh_array_literal
                    left: <Id.Op_LParen _>
                    words: [{($ Id.VSub_DollarName '$_Dbg_fdi')}]
                  )
                }
              spids: [263]
            )
          ]
        )
      ]
    )
    (C {<typeset>} {<_Dbg_prompt_output>})
    (command.ShFunction
      name: _Dbg_process_commands
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:_Dbg_inside_skip)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [329]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:_Dbg_step_ignore)
                  op: assign_op.Equal
                  rhs: {<-1>}
                  spids: [333]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:_Dbg_continue_rc)
                  op: assign_op.Equal
                  rhs: {<-1>}
                  spids: [340]
                )
              ]
            )
            (C {<_Dbg_write_journal>} 
              {(DQ <'_Dbg_step_ignore='> ($ Id.VSub_DollarName '$_Dbg_step_ignore'))}
            )
            (C {<typeset>} {<key>})
            (command.ForEach
              iter_name: key
              iter_words: [
                {
                  (braced_var_sub
                    token: <Id.VSub_Name _Dbg_cmdloop_hooks>
                    prefix_op: (Id.VSub_Bang)
                    bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                  )
                }
              ]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (C 
                      {
                        (braced_var_sub
                          token: <Id.VSub_Name _Dbg_cmdloop_hooks>
                          bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName '$key')})
                        )
                      }
                    )
                  ]
                )
            )
            (command.WhileUntil
              keyword: <Id.KW_While while>
              cond: 
                (condition.Shell
                  commands: [
                    (command.Sentence
                      child: 
                        (command.DParen
                          child: 
                            (arith_expr.Binary
                              op_id: Id.Arith_Great
                              left: <Id.Lit_ArithVarLike _Dbg_fd_last>
                              right: {<Id.Lit_Digits 0>}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                )
              body: 
                (command.DoGroup
                  children: [
                    (C {<typeset>} {<Id.Lit_VarLike '_Dbg_greater='> (SQ )})
                    (C {<typeset>} {<Id.Lit_VarLike '_Dbg_less='> (SQ )})
                    (C {<typeset>} {<result>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<_Dbg_copies>} {(SQ <'>'>)} 
                                      {($ Id.VSub_DollarName '$_Dbg_DEBUGGER_LEVEL')}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:_Dbg_greater)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName '$result')}
                                  spids: [461]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:_Dbg_less)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (braced_var_sub
                                        token: <Id.VSub_Name result>
                                        suffix_op: 
                                          (suffix_op.PatSub
                                            pat: {<Id.Lit_Other '>'>}
                                            replace: {<Id.Lit_Other '<'>}
                                            replace_mode: Id.Lit_Slash
                                          )
                                      )
                                    }
                                  spids: [465]
                                )
                              ]
                            )
                          ]
                          spids: [446 458]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<_Dbg_copies>} {(SQ <')'>)} 
                                      {($ Id.VSub_DollarName '$BASH_SUBSHELL')}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:_Dbg_greater)
                                  op: assign_op.Equal
                                  rhs: {(DQ (${ Id.VSub_Name result) (${ Id.VSub_Name _Dbg_greater))}
                                  spids: [494]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:_Dbg_less)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ (${ Id.VSub_Name _Dbg_less) 
                                        (braced_var_sub
                                          token: <Id.VSub_Name result>
                                          suffix_op: 
                                            (suffix_op.PatSub
                                              pat: {<')'>}
                                              replace: {<'('>}
                                              replace_mode: Id.Lit_Slash
                                            )
                                        )
                                      )
                                    }
                                  spids: [505]
                                )
                              ]
                            )
                          ]
                          spids: [479 491]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:_Dbg_prompt_output)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (braced_var_sub
                                token: <Id.VSub_Name _Dbg_tty>
                                suffix_op: 
                                  (suffix_op.Unary
                                    tok: <Id.VTest_ColonHyphen ':-'>
                                    arg_word: {<Id.Lit_Slash '/'> <dev> <Id.Lit_Slash '/'> <null>}
                                  )
                              )
                            }
                          spids: [575]
                        )
                      ]
                    )
                    (C {<eval>} {(DQ <'local _Dbg_prompt='> ($ Id.VSub_DollarName '$_Dbg_prompt_str'))})
                    (C {<_Dbg_preloop>})
                    (C {<typeset>} {<_Dbg_cmd>})
                    (C {<typeset>} {<args>})
                    (C {<typeset>} {<rc>})
                    (command.WhileUntil
                      keyword: <Id.KW_While while>
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: (C {<Id.Lit_Colon ':'>})
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      body: 
                        (command.DoGroup
                          children: [
                            (C {<set>} {<-o>} {<history>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:_Dbg_input_desc)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (braced_var_sub
                                        token: <Id.VSub_Name _Dbg_fd>
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: <Id.Lit_ArithVarLike _Dbg_fd_last>
                                          )
                                      )
                                    }
                                  spids: [631]
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DBracket
                                              expr: 
                                                (bool_expr.Binary
                                                  op_id: Id.BoolBinary_GlobDEqual
                                                  left: {($ Id.VSub_DollarName '$_Dbg_tty')}
                                                  right: {(SQ <'&1'>)}
                                                )
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<echo>} {<-n>} {(DQ ($ Id.VSub_DollarName '$_Dbg_prompt'))})
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.Pipeline
                                                      children: [
                                                        (command.Simple
                                                          words: [{<read>} {<_Dbg_cmd>} {<args>}]
                                                          redirects: [
                                                            (redir
                                                              op: <Id.Redir_LessAnd '<&'>
                                                              loc: (redir_loc.Fd fd:0)
                                                              arg: 
                                                                {
                                                                  ($ Id.VSub_DollarName 
'$_Dbg_input_desc'
                                                                  )
                                                                }
                                                            )
                                                            (redir
                                                              op: <Id.Redir_GreatAnd '2>&'>
                                                              loc: (redir_loc.Fd fd:2)
                                                              arg: {<1>}
                                                            )
                                                          ]
                                                          do_fork: T
                                                        )
                                                      ]
                                                      negated: T
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Break break>
                                            )
                                          ]
                                          spids: [668 685]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [640 656]
                                )
                              ]
                              else_action: [
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (command.DParen
                                                  child: 
                                                    <Id.Lit_ArithVarLike _Dbg_set_read_completion>
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: (sh_lhs_expr.Name name:_Dbg_read_fn)
                                              op: assign_op.Equal
                                              rhs: {(SQ <readc>)}
                                              spids: [709]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [697 706]
                                    )
                                  ]
                                  else_action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:_Dbg_read_fn)
                                          op: assign_op.Equal
                                          rhs: {(SQ <read>)}
                                          spids: [718]
                                        )
                                      ]
                                    )
                                  ]
                                )
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (command.Pipeline
                                                  children: [
                                                    (command.Simple
                                                      words: [
                                                        {($ Id.VSub_DollarName '$_Dbg_read_fn')}
                                                        {($ Id.VSub_DollarName '$_Dbg_edit')}
                                                        {<-p>}
                                                        {(DQ ($ Id.VSub_DollarName '$_Dbg_prompt'))}
                                                        {<_Dbg_cmd>}
                                                        {<args>}
                                                      ]
                                                      redirects: [
                                                        (redir
                                                          op: <Id.Redir_LessAnd '<&'>
                                                          loc: (redir_loc.Fd fd:0)
                                                          arg: 
                                                            {
                                                              ($ Id.VSub_DollarName 
'$_Dbg_input_desc'
                                                              )
                                                            }
                                                        )
                                                        (redir
                                                          op: <Id.Redir_DGreat '2>>'>
                                                          loc: (redir_loc.Fd fd:2)
                                                          arg: 
                                                            {
                                                              ($ Id.VSub_DollarName 
'$_Dbg_prompt_output'
                                                              )
                                                            }
                                                        )
                                                      ]
                                                      do_fork: T
                                                    )
                                                  ]
                                                  negated: T
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (C {<set>} {<Id.Lit_Other '+'> <o>} {<history>})
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Break break>
                                        )
                                      ]
                                      spids: [727 755]
                                    )
                                  ]
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DBracket
                                              expr: 
                                                (bool_expr.LogicalAnd
                                                  left: 
                                                    (bool_expr.Binary
                                                      op_id: Id.BoolBinary_EqualTilde
                                                      left: {($ Id.VSub_DollarName '$_Dbg_cmd')}
                                                      right: {(SQ <' '>)}
                                                    )
                                                  right: 
                                                    (bool_expr.Unary
                                                      op_id: Id.BoolUnary_z
                                                      child: {($ Id.VSub_DollarName '$args')}
                                                    )
                                                )
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.Sentence
                                      child: (C {<typeset>} {<-a>} {<ary>})
                                      terminator: <Id.Op_Semi _>
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:IFS)
                                          op: assign_op.Equal
                                          rhs: {(SQ <' '>)}
                                          spids: [816]
                                        )
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:ary)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [{($ Id.VSub_DollarName '$_Dbg_cmd')}]
                                              )
                                            }
                                          spids: [821]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:_Dbg_cmd)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (braced_var_sub
                                                token: <Id.VSub_Name ary>
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 0>}
                                                  )
                                              )
                                            }
                                          spids: [829]
                                        )
                                      ]
                                    )
                                    (C {<unset>} 
                                      {<Id.Lit_ArrayLhsOpen 'ary['> <0> <Id.Lit_RBracket ']'>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:args)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (braced_var_sub
                                                  token: <Id.VSub_Name ary>
                                                  bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                                )
                                              )
                                            }
                                          spids: [845]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [784 806]
                                )
                              ]
                            )
                            (C {<set>} {<Id.Lit_Other '+'> <o>} {<history>})
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                <Id.Lit_ArithVarLike _Dbg_brkpt_commands_defining>
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.Case
                                      to_match: {($ Id.VSub_DollarName '$_Dbg_cmd')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{<silent>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.IndexedName
                                                      name: _Dbg_brkpt_commands_silent
                                                      index: 
                                                        {
                                                          ($ Id.VSub_DollarName 
'$_Dbg_brkpt_commands_current'
                                                          )
                                                        }
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<1>}
                                                  spids: [893]
                                                )
                                              ]
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [888 890 904 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<end>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      name: _Dbg_brkpt_commands_defining
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<0>}
                                                  spids: [912]
                                                )
                                              ]
                                            )
                                            (C {<eval>} 
                                              {
                                                (DQ <'_Dbg_prompt='> 
                                                  ($ Id.VSub_DollarName '$_Dbg_prompt_str')
                                                )
                                              }
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [907 909 963 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<Id.Lit_Star '*'>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.IndexedName
                                                      name: _Dbg_brkpt_commands
                                                      index: 
                                                        {
                                                          (braced_var_sub
                                                            token: <Id.VSub_Name _Dbg_brkpt_commands>
                                                            prefix_op: (Id.VSub_Pound)
                                                            bracket_op: 
                                                              (bracket_op.WholeArray
                                                                op_id: Id.Lit_At
                                                              )
                                                          )
                                                        }
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$_Dbg_cmd') <' '> 
                                                        ($ Id.VSub_DollarName '$args')
                                                      )
                                                    }
                                                  spids: [970]
                                                )
                                              ]
                                            )
                                            (command.DParen
                                              child: 
                                                (arith_expr.UnaryAssign
                                                  op_id: Id.Node_PostDPlus
                                                  child: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_LBracket
                                                      left: 
                                                        <Id.Lit_ArithVarLike _Dbg_brkpt_commands_end>
                                                      right: 
                                                        {
                                                          ($ Id.VSub_DollarName 
'$_Dbg_brkpt_commands_current'
                                                          )
                                                        }
                                                    )
                                                )
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [966 967 1009 -1]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:rc)
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_QMark '$?')}
                                          spids: [1015]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [867 878]
                                )
                              ]
                              else_action: [
                                (C {<_Dbg_onecmd>} {(DQ ($ Id.VSub_DollarName '$_Dbg_cmd'))} 
                                  {(DQ ($ Id.VSub_DollarName '$args'))}
                                )
                                (C {<_Dbg_postcmd>})
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_GreatEqual
                                      left: <Id.Lit_ArithVarLike _Dbg_continue_rc>
                                      right: {<Id.Lit_Digits 0>}
                                    )
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {($ Id.VSub_DollarName '$_Dbg_continue_rc')}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                <Id.Lit_ArithVarLike _Dbg_brkpt_commands_defining>
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:_Dbg_prompt)
                                          op: assign_op.Equal
                                          rhs: {(SQ <'>'>)}
                                          spids: [1070]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [1056 1067]
                                )
                              ]
                              else_action: [
                                (C {<eval>} 
                                  {(DQ <'_Dbg_prompt='> ($ Id.VSub_DollarName '$_Dbg_prompt_str'))}
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (C {<unset>} 
                      {<Id.Lit_ArrayLhsOpen '_Dbg_fd['> <_Dbg_fd_last--> <Id.Lit_RBracket ']'>}
                    )
                  ]
                )
            )
            (C {<_Dbg_msg>} {(SQ )})
            (C {<_Dbg_do_quit>})
          ]
        )
    )
    (command.ShFunction
      name: _Dbg_annotation
      body: 
        (BraceGroup
          children: [
            (C {<typeset>} {<Id.Lit_VarLike 'label='> (DQ ($ Id.VSub_Number '$1'))})
            (C {<shift>})
            (C {<_Dbg_do_print>} {(DQ <'\x1a\x1a'> ($ Id.VSub_DollarName '$label'))})
            (C {($ Id.VSub_Star '$*')})
            (C {<_Dbg_do_print>} {(SQ <'\x1a\x1a'>)})
          ]
        )
    )
    (command.ShFunction
      name: _Dbg_onecmd
      body: 
        (BraceGroup
          children: [
            (C {<typeset>} {<Id.Lit_VarLike 'full_cmd='> ($ Id.VSub_At '$@')})
            (C {<typeset>} {<Id.Lit_VarLike '_Dbg_orig_cmd='> (DQ ($ Id.VSub_Number '$1'))})
            (command.Sentence
              child: (C {<typeset>} {<expanded_alias>})
              terminator: <Id.Op_Semi _>
            )
            (C {<_Dbg_alias_expand>} {(DQ ($ Id.VSub_DollarName '$_Dbg_orig_cmd'))})
            (C {<typeset>} {<Id.Lit_VarLike '_Dbg_cmd='> (DQ ($ Id.VSub_DollarName '$expanded_alias'))})
            (C {<shift>})
            (C {<typeset>} {<Id.Lit_VarLike '_Dbg_args='> (DQ ($ Id.VSub_At '$@'))})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_z
                                  child: {($ Id.VSub_DollarName '$_Dbg_cmd')}
                                )
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:_Dbg_cmd)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName '$_Dbg_last_next_step_cmd')}
                          spids: [1251]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:_Dbg_args)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName '$_Dbg_last_next_step_args')}
                          spids: [1255]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:full_cmd)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName '$_Dbg_cmd') <' '> 
                                ($ Id.VSub_DollarName '$_Dbg_args')
                              )
                            }
                          spids: [1259]
                        )
                      ]
                    )
                  ]
                  spids: [1237 1248]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {($ Id.VSub_DollarName '$_Dbg_set_trace_commands')}
                                  right: {(SQ <on>)}
                                )
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<_Dbg_msg>} {(DQ <'+'> ($ Id.VSub_DollarName '$full_cmd'))})]
                  spids: [1275 1291]
                )
              ]
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'dq_cmd='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: (C {<_Dbg_esc_dq>} {(DQ ($ Id.VSub_DollarName '$_Dbg_cmd'))})
                )
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'dq_args='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: (C {<_Dbg_esc_dq>} {(DQ ($ Id.VSub_DollarName '$_Dbg_args'))})
                )
              }
            )
            (C {<_Dbg_write_journal>} 
              {
                (DQ <'_Dbg_history['> 
                  (braced_var_sub
                    token: <Id.VSub_Name _Dbg_history>
                    prefix_op: (Id.VSub_Pound)
                    bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                  ) <']='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) ($ Id.VSub_DollarName '$dq_cmd') 
                  <' '> ($ Id.VSub_DollarName '$dq_args') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>)
                )
              }
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      name: _Dbg_history
                      index: 
                        {
                          (braced_var_sub
                            token: <Id.VSub_Name _Dbg_history>
                            prefix_op: (Id.VSub_Pound)
                            bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                          )
                        }
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ ($ Id.VSub_DollarName '$_Dbg_cmd') <' '> ($ Id.VSub_DollarName '$_Dbg_args'))
                    }
                  spids: [1362]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:_Dbg_hi)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (braced_var_sub
                        token: <Id.VSub_Name _Dbg_history>
                        prefix_op: (Id.VSub_Pound)
                        bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                      )
                    }
                  spids: [1387]
                )
              ]
            )
            (C {<history>} {<-s>} {<-->} {(DQ ($ Id.VSub_DollarName '$full_cmd'))})
            (C {<typeset>} {<-i>} {<Id.Lit_VarLike '_Dbg_redo='> <1>})
            (command.WhileUntil
              keyword: <Id.KW_While while>
              cond: 
                (condition.Shell
                  commands: [
                    (command.Sentence
                      child: (command.DParen child:<Id.Lit_ArithVarLike _Dbg_redo>)
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                )
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:_Dbg_redo)
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [1432]
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (command.DBracket
                          expr: 
                            (bool_expr.Unary
                              op_id: Id.BoolUnary_z
                              child: {($ Id.VSub_DollarName '$_Dbg_cmd')}
                            )
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:_Dbg_cmd)
                              op: assign_op.Equal
                              rhs: {($ Id.VSub_DollarName '$_Dbg_last_cmd')}
                              spids: [1447]
                            )
                          ]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DBracket
                                      expr: 
                                        (bool_expr.Unary
                                          op_id: Id.BoolUnary_n
                                          child: {($ Id.VSub_DollarName '$_Dbg_cmd')}
                                        )
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<typeset>} {<-i>} {<Id.Lit_VarLike 'found='> <0>})
                            (C {<typeset>} {<found_cmd>})
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DBracket
                                              expr: 
                                                (bool_expr.Unary
                                                  op_id: Id.BoolUnary_n
                                                  child: 
                                                    {
                                                      (braced_var_sub
                                                        token: <Id.VSub_Name _Dbg_debugger_commands>
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {($ Id.VSub_DollarName '$_Dbg_cmd')}
                                                          )
                                                      )
                                                    }
                                                )
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:found)
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [1499]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:found_cmd)
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName '$_Dbg_cmd')}
                                          spids: [1503]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [1479 1496]
                                )
                              ]
                              else_action: [
                                (C {<typeset>} {<-i>} {<Id.Lit_VarLike 'count='> <0>})
                                (command.Sentence
                                  child: (C {<typeset>} {<list>})
                                  terminator: <Id.Op_Semi _>
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:list)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (DQ 
                                            (braced_var_sub
                                              token: <Id.VSub_Name _Dbg_debugger_commands>
                                              prefix_op: (Id.VSub_Bang)
                                              bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                            )
                                          )
                                        }
                                      spids: [1527]
                                    )
                                  ]
                                )
                                (command.ForEach
                                  iter_name: try
                                  iter_words: [{($ Id.VSub_DollarName '$list')}]
                                  do_arg_iter: F
                                  body: 
                                    (command.DoGroup
                                      children: [
                                        (command.If
                                          arms: [
                                            (if_arm
                                              cond: 
                                                (condition.Shell
                                                  commands: [
                                                    (command.Sentence
                                                      child: 
                                                        (command.DBracket
                                                          expr: 
                                                            (bool_expr.Binary
                                                              op_id: Id.BoolBinary_EqualTilde
                                                              left: {($ Id.VSub_DollarName '$try')}
                                                              right: 
                                                                {<Id.Lit_Other '^'> 
                                                                  ($ Id.VSub_DollarName '$_Dbg_cmd')
                                                                }
                                                            )
                                                        )
                                                      terminator: <Id.Op_Semi _>
                                                    )
                                                  ]
                                                )
                                              action: [
                                                (command.ShAssignment
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (sh_lhs_expr.Name name:found_cmd)
                                                      op: assign_op.Equal
                                                      rhs: {($ Id.VSub_DollarName '$try')}
                                                      spids: [1570]
                                                    )
                                                  ]
                                                )
                                                (command.DParen
                                                  child: 
                                                    (arith_expr.UnaryAssign
                                                      op_id: Id.Node_PostDPlus
                                                      child: <Id.Lit_ArithVarLike count>
                                                    )
                                                )
                                              ]
                                              spids: [1552 1567]
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                )
                                (command.DParen
                                  child: 
                                    (arith_expr.BinaryAssign
                                      op_id: Id.Arith_Equal
                                      left: <Id.Lit_ArithVarLike found>
                                      right: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: <Id.Lit_ArithVarLike count>
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                    )
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: (command.DParen child:<Id.Lit_ArithVarLike found>)
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C 
                                      {
                                        (braced_var_sub
                                          token: <Id.VSub_Name _Dbg_debugger_commands>
                                          bracket_op: 
                                            (bracket_op.ArrayIndex
                                              expr: {($ Id.VSub_DollarName '$found_cmd')}
                                            )
                                        )
                                      } {($ Id.VSub_DollarName '$_Dbg_args')}
                                    )
                                    (command.Sentence
                                      child: 
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: (sh_lhs_expr.Name name:IFS)
                                              op: assign_op.Equal
                                              rhs: {($ Id.VSub_DollarName '$_Dbg_space_IFS')}
                                              spids: [1623]
                                            )
                                          ]
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                    (C {<eval>} 
                                      {
                                        (DQ <'_Dbg_prompt='> ($ Id.VSub_DollarName '$_Dbg_prompt_str'))
                                      }
                                    )
                                    (command.AndOr
                                      ops: [Id.Op_DAmp]
                                      children: [
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_GreatEqual
                                              left: <Id.Lit_ArithVarLike _Dbg_continue_rc>
                                              right: {<Id.Lit_Digits 0>}
                                            )
                                        )
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Return return>
                                          arg_word: {($ Id.VSub_DollarName '$_Dbg_continue_rc')}
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [1602 1610]
                                )
                              ]
                            )
                          ]
                          spids: [1451 1463]
                        )
                      ]
                    )
                    (command.Case
                      to_match: {($ Id.VSub_DollarName '$_Dbg_cmd')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {<Id.Lit_LBracket '['> <Id.Lit_Pound '#'> <Id.Lit_RBracket ']'> 
                              <Id.Lit_Star '*'>
                            }
                          ]
                          action: [
                            (C {<_Dbg_history_remove_item>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:_Dbg_last_cmd)
                                  op: assign_op.Equal
                                  rhs: {(SQ <'#'>)}
                                  spids: [1685]
                                )
                              ]
                            )
                          ]
                          spids: [1674 1679 1691 -1]
                        )
                        (case_arm
                          pat_list: [{<.>}]
                          action: [
                            (C {<_Dbg_list>} {($ Id.VSub_DollarName '$_Dbg_frame_last_filename')} 
                              {($ Id.VSub_DollarName '$_Dbg_frame_last_lineno')} {<1>}
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:_Dbg_last_cmd)
                                  op: assign_op.Equal
                                  rhs: {(SQ <list>)}
                                  spids: [1713]
                                )
                              ]
                            )
                          ]
                          spids: [1699 1701 1719 -1]
                        )
                        (case_arm
                          pat_list: [{<'/'> <Id.Lit_Star '*'>}]
                          action: [
                            (C {<_Dbg_do_search>} {($ Id.VSub_DollarName '$_Dbg_cmd')})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:_Dbg_last_cmd)
                                  op: assign_op.Equal
                                  rhs: {(SQ <search>)}
                                  spids: [1738]
                                )
                              ]
                            )
                          ]
                          spids: [1727 1730 1744 -1]
                        )
                        (case_arm
                          pat_list: [
                            {<Id.Lit_LBracket '['> <Id.Lit_QMark '?'> <Id.Lit_RBracket ']'> 
                              <Id.Lit_Star '*'>
                            }
                          ]
                          action: [
                            (C {<_Dbg_do_reverse>} {($ Id.VSub_DollarName '$_Dbg_cmd')})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:_Dbg_last_cmd)
                                  op: assign_op.Equal
                                  rhs: {(DQ <reverse>)}
                                  spids: [1765]
                                )
                              ]
                            )
                          ]
                          spids: [1752 1757 1771 -1]
                        )
                        (case_arm
                          pat_list: [{<cd>}]
                          action: [
                            (C {<local>} 
                              {<Id.Lit_VarLike 'cd_command='> 
                                (DQ <'cd '> ($ Id.VSub_DollarName '$_Dbg_args'))
                              }
                            )
                            (C {<eval>} {($ Id.VSub_DollarName '$cd_command')})
                            (C {<_Dbg_do_pwd>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:_Dbg_last_cmd)
                                  op: assign_op.Equal
                                  rhs: {(SQ <cd>)}
                                  spids: [1809]
                                )
                              ]
                            )
                          ]
                          spids: [1779 1781 1815 -1]
                        )
                        (case_arm
                          pat_list: [{<comp>} {<compl>} {<comple>} {<complet>} {<complete>}]
                          action: [
                            (C {<_Dbg_do_complete>} {($ Id.VSub_DollarName '$_Dbg_args')})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:_Dbg_last_cmd)
                                  op: assign_op.Equal
                                  rhs: {(SQ <complete>)}
                                  spids: [1849]
                                )
                              ]
                            )
                          ]
                          spids: [1823 1841 1855 -1]
                        )
                        (case_arm
                          pat_list: [{<debug>}]
                          action: [
                            (C {<_Dbg_do_debug>} {($ Id.VSub_DollarName '$_Dbg_args')})
                            (C {<_Dbg_do_next_skip>} {(SQ <skip>)} {<1>})
                            (command.Sentence
                              child: 
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:IFS)
                                      op: assign_op.Equal
                                      rhs: {(DQ ($ Id.VSub_DollarName '$_Dbg_old_IFS'))}
                                      spids: [1886]
                                    )
                                  ]
                                )
                              terminator: <Id.Op_Semi _>
                            )
                            (command.ControlFlow
                              token: <Id.ControlFlow_Return return>
                              arg_word: {<1>}
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:_Dbg_last_cmd)
                                  op: assign_op.Equal
                                  rhs: {(SQ <debug>)}
                                  spids: [1898]
                                )
                              ]
                            )
                          ]
                          spids: [1863 1865 1904 -1]
                        )
                        (case_arm
                          pat_list: [{<D>} {<deletea>} {<deleteal>} {<deleteall>}]
                          action: [
                            (C {<_Dbg_clear_all_brkpt>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:_Dbg_last_cmd)
                                  op: assign_op.Equal
                                  rhs: {(SQ <deleteall>)}
                                  spids: [1932]
                                )
                              ]
                            )
                          ]
                          spids: [1912 1926 1938 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.ControlFlow_Return return>}]
                          spids: [1946 1948 1951 -1]
                        )
                        (case_arm
                          pat_list: [{<shell>} {(SQ <'!!'>)}]
                          action: [(C {<eval>} {($ Id.VSub_DollarName '$_Dbg_args')})]
                          spids: [1959 1967 1974 -1]
                        )
                        (case_arm
                          pat_list: [{<si>} {<sig>} {<sign>} {<signa>} {<signal>}]
                          action: [
                            (C {<_Dbg_do_signal>} {($ Id.VSub_DollarName '$_Dbg_args')})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:_Dbg_last_cmd)
                                  op: assign_op.Equal
                                  rhs: {(SQ <signal>)}
                                  spids: [2008]
                                )
                              ]
                            )
                          ]
                          spids: [1982 2000 2014 -1]
                        )
                        (case_arm
                          pat_list: [{(SQ <'step+'>)} {(SQ <step->)}]
                          action: [
                            (C {<_Dbg_do_step>} {(DQ ($ Id.VSub_DollarName '$_Dbg_cmd'))} 
                              {($ Id.VSub_DollarName '$_Dbg_args')}
                            )
                            (command.ControlFlow
                              token: <Id.ControlFlow_Return return>
                              arg_word: {<0>}
                            )
                          ]
                          spids: [2022 2032 2049 -1]
                        )
                        (case_arm
                          pat_list: [{<L>}]
                          action: [
                            (C {<_Dbg_do_list_brkpt>})
                            (C {<_Dbg_list_watch>})
                            (C {<_Dbg_list_action>})
                          ]
                          spids: [2075 2077 2089 -1]
                        )
                        (case_arm
                          pat_list: [{<A>}]
                          action: [
                            (C {<_Dbg_do_clear_all_actions>} {($ Id.VSub_DollarName '$_Dbg_args')})
                          ]
                          spids: [2097 2099 2107 -1]
                        )
                        (case_arm
                          pat_list: [{<H>}]
                          action: [
                            (C {<_Dbg_history_remove_item>})
                            (C {<_Dbg_do_history_list>} {($ Id.VSub_DollarName '$_Dbg_args')})
                          ]
                          spids: [2115 2117 2128 -1]
                        )
                        (case_arm
                          pat_list: [{<S>}]
                          action: [(C {<_Dbg_do_list_functions>} {($ Id.VSub_DollarName '$_Dbg_args')})]
                          spids: [2136 2138 2146 -1]
                        )
                        (case_arm
                          pat_list: [{<V>}]
                          action: [
                            (C {<_Dbg_do_info_variables>} {(DQ ($ Id.VSub_DollarName '$_Dbg_args'))})
                          ]
                          spids: [2154 2156 2166 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\!'>) 
                              <Id.Lit_Star '*'>
                            }
                            {<history>}
                          ]
                          action: [(C {<_Dbg_do_history>} {($ Id.VSub_DollarName '$_Dbg_args')})]
                          spids: [2178 2185 2193 -1]
                        )
                        (case_arm
                          pat_list: [{(SQ )}]
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DBracket
                                              expr: 
                                                (bool_expr.Unary
                                                  op_id: Id.BoolUnary_n
                                                  child: {($ Id.VSub_DollarName '$_Dbg_last_cmd')}
                                                )
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:_Dbg_cmd)
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName '$_Dbg_last_cmd')}
                                          spids: [2222]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:_Dbg_redo)
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [2226]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [2207 2219]
                                )
                              ]
                            )
                          ]
                          spids: [2197 2200 2233 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'>}]
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: <Id.Lit_ArithVarLike _Dbg_set_autoeval>
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<_Dbg_do_eval>} {($ Id.VSub_DollarName '$_Dbg_cmd')} 
                                      {($ Id.VSub_DollarName '$_Dbg_args')}
                                    )
                                  ]
                                  spids: [2242 2253]
                                )
                              ]
                              else_action: [
                                (C {<_Dbg_undefined_cmd>} {(DQ ($ Id.VSub_DollarName '$_Dbg_cmd'))})
                                (C {<_Dbg_history_remove_item>})
                              ]
                            )
                          ]
                          spids: [2236 2238 2287 -1]
                        )
                      ]
                    )
                  ]
                )
            )
            (command.Sentence
              child: 
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:IFS)
                      op: assign_op.Equal
                      rhs: {($ Id.VSub_DollarName '$_Dbg_space_IFS')}
                      spids: [2300]
                    )
                  ]
                )
              terminator: <Id.Op_Semi _>
            )
            (C {<eval>} {(DQ <'_Dbg_prompt='> ($ Id.VSub_DollarName '$_Dbg_prompt_str'))})
          ]
        )
    )
    (command.ShFunction
      name: _Dbg_preloop
      body: 
        (BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: (command.DParen child:<Id.Lit_ArithVarLike _Dbg_set_annotate>)
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<_Dbg_annotation>} {(SQ <breakpoints>)} {<_Dbg_do_info>} {<breakpoints>})
                    (C {<_Dbg_annotation>} {(SQ <stack>)} {<_Dbg_do_backtrace>} {<3>})
                  ]
                  spids: [2322 2331]
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: _Dbg_postcmd
      body: 
        (BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: (command.DParen child:<Id.Lit_ArithVarLike _Dbg_set_annotate>)
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Case
                      to_match: {($ Id.VSub_DollarName '$_Dbg_last_cmd')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {<Id.ControlFlow_Break break>}
                            {<tbreak>}
                            {<disable>}
                            {<enable>}
                            {<condition>}
                            {<clear>}
                            {<delete>}
                          ]
                          action: [
                            (C {<_Dbg_annotation>} {(SQ <breakpoints>)} {<_Dbg_do_info>} {<breakpoints>})
                          ]
                          spids: [2391 2417 2431 -1]
                        )
                        (case_arm
                          pat_list: [{<up>} {<down>} {<frame>}]
                          action: [(C {<_Dbg_annotation>} {(SQ <stack>)} {<_Dbg_do_backtrace>} {<3>})]
                          spids: [2434 2444 2458 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'>}]
                          spids: [2461 2463 -1 2466]
                        )
                      ]
                    )
                  ]
                  spids: [2372 2381]
                )
              ]
            )
          ]
        )
    )
  ]
)