(CommandList
  children: [
    (FuncDef
      name: _Dbg_msg
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(echo)} {($ VSub_At '$@')}]
              redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
            )
          ]
          spids: [88]
        )
      spids: [84 87]
    )
    (FuncDef
      name: _Dbg_errmsg
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(echo)} {(DQ (${ VSub_Name _Dbg_pname) (': ') ($ VSub_At '$@'))}]
              redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
            )
          ]
          spids: [108]
        )
      spids: [104 107]
    )
    (FuncDef
      name: _Dbg_do_show_version
      body: 
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DAmp]
              children: [
                (DBracket
                  expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Number '$1')})
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:label)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(_Dbg_printf_nocr)} {(DQ ('%-12s: '))} {(version)})]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [149 157]
                          )
                        }
                      spids: [148]
                    )
                  ]
                  spids: [148]
                )
              ]
            )
            (C {(_Dbg_msg)} 
              {
                (DQ (${ VSub_Name label) ($ VSub_Name '$_Dbg_debugger_name') (', release ') 
                  ($ VSub_Name '$_Dbg_release')
                )
              }
            )
          ]
          spids: [135]
        )
      spids: [131 134]
    )
    (FuncDef
      name: _Dbg_expand_filename
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Typeset
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:filename)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [207]
                )
              ]
              spids: [203]
            )
            (Assignment
              keyword: Assign_Typeset
              pairs: [
                (assign_pair
                  lhs: (LhsName name:basename)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name filename>
                          suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)})
                          spids: [222 227]
                        )
                      )
                    }
                  spids: [220]
                )
              ]
              spids: [218]
            )
            (Assignment
              keyword: Assign_Typeset
              flags: [-x]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dirname)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name filename>
                          suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ('*')})
                          spids: [237 242]
                        )
                      )
                    }
                  spids: [235]
                )
              ]
              spids: [231]
            )
            (AndOr
              ops: [Op_DAmp Op_DAmp]
              children: [
                (DBracket
                  expr: 
                    (BoolBinary
                      op_id: BoolBinary_GlobDEqual
                      left: {($ VSub_Name '$dirname')}
                      right: {($ VSub_Name '$basename')}
                    )
                )
                (DBracket
                  expr: 
                    (BoolBinary
                      op_id: BoolBinary_GlobNEqual
                      left: {($ VSub_Name '$filename')}
                      right: {(SQ </>)}
                    )
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:dirname)
                      op: Equal
                      rhs: {(SQ <.>)}
                      spids: [277]
                    )
                  ]
                  spids: [277]
                )
              ]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dirname)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name dirname>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(Lit_Slash /)})
                        spids: [289 293]
                      )
                    }
                  spids: [288]
                )
              ]
              spids: [288]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dirname)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(echo)} {($ VSub_Name '$dirname')})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [302 306]
                      )
                    }
                  spids: [301]
                )
              ]
              spids: [301]
            )
            (Assignment
              keyword: Assign_Typeset
              pairs: [(assign_pair lhs:(LhsName name:long_path) op:Equal spids:[312])]
              spids: [310]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (DBracket
                  expr: 
                    (BoolBinary
                      op_id: BoolBinary_GlobDEqual
                      left: {($ VSub_Name '$basename')}
                      right: {(SQ <.>)}
                    )
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:basename) op:Equal rhs:{(SQ )} spids:[330])]
                  spids: [330]
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:long_path)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Subshell
                                            child: 
                                              (CommandList
                                                children: [
                                                  (Sentence
                                                    child: (C {(cd)} {(DQ ($ VSub_Name '$dirname'))})
                                                    terminator: <Op_Semi ';'>
                                                  )
                                                  (C {(pwd)})
                                                ]
                                              )
                                            redirects: [
                                              (Redir
                                                op: <Redir_Great '2>'>
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                              )
                                            ]
                                            spids: [340 350]
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [338 355]
                                  )
                                }
                              spids: [337]
                            )
                          ]
                          spids: [337]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {(DQ ($ VSub_Name '$long_path'))}
                                      right: {(SQ </>)}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(echo)} {(DQ (/) ($ VSub_Name '$basename'))})]
                          spids: [16777215 380]
                        )
                      ]
                      else_action: [
                        (C {(echo)} {(DQ ($ VSub_Name '$long_path') (/) ($ VSub_Name '$basename'))})
                      ]
                      spids: [391 403]
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [16777215 359]
                )
              ]
              else_action: [
                (C {(echo)} {($ VSub_Name '$filename')})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              spids: [411 424]
            )
          ]
          spids: [200]
        )
      spids: [196 199]
    )
    (FuncDef
      name: _Dbg_tempname
      body: 
        (BraceGroup
          children: [
            (C {(echo)} 
              {
                (DQ ($ VSub_Name '$_Dbg_tmpdir') (/) (${ VSub_Name _Dbg_debugger_name) (_) 
                  ($ VSub_Number '$1') (_) ($ VSub_Dollar '$$')
                )
              }
            )
          ]
          spids: [439]
        )
      spids: [435 438]
    )
    (C {(.)} {(${ VSub_Name _Dbg_libdir) (/init/opts.sh)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:OPTLIND) op:Equal rhs:{(1)} spids:[469])]
      spids: [469]
    )
    (C {(_Dbg_parse_options)} {(DQ ($ VSub_At '$@'))})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  ops: [Op_DAmp]
                  children: [
                    (DBracket
                      expr: 
                        (LogicalNot
                          child: (BoolUnary op_id:BoolUnary_d child:{($ VSub_Name '$_Dbg_tmpdir')})
                        )
                    )
                    (DBracket
                      expr: 
                        (LogicalNot
                          child: (BoolUnary op_id:BoolUnary_w child:{($ VSub_Name '$_Dbg_tmpdir')})
                        )
                    )
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (SimpleCommand
              words: [
                {(echo)}
                {
                  (DQ (${ VSub_Name _Dbg_pname) (': cannot write to temp directory ') 
                    ($ VSub_Name '$_Dbg_tmpdir') (.)
                  )
                }
              ]
              redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
            )
            (SimpleCommand
              words: [{(echo)} {(DQ (${ VSub_Name _Dbg_pname) (': Use -T try directory location.'))}]
              redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 505]
        )
      ]
      spids: [16777215 540]
    )
    (Assignment
      keyword: Assign_Typeset
      flags: [-x]
      pairs: [
        (assign_pair
          lhs: (LhsName name:_Dbg_init_cwd)
          op: Equal
          rhs: {($ VSub_Name '$PWD')}
          spids: [550]
        )
      ]
      spids: [546]
    )
    (Assignment
      keyword: Assign_Typeset
      flags: [-i]
      pairs: [(assign_pair lhs:(LhsName name:_Dbg_running) op:Equal rhs:{(1)} spids:[558])]
      spids: [554]
    )
    (Assignment
      keyword: Assign_Typeset
      flags: [-i]
      pairs: [(assign_pair lhs:(LhsName name:_Dbg_brkpt_num) op:Equal rhs:{(0)} spids:[569])]
      spids: [565]
    )
    (Assignment
      keyword: Assign_Typeset
      pairs: [
        (assign_pair
          lhs: (LhsName name:_Dbg_set_trace_commands)
          op: Equal
          rhs: {(SQ <off>)}
          spids: [585]
        )
      ]
      spids: [583]
    )
    (Assignment
      keyword: Assign_Typeset
      flags: [-x]
      pairs: [
        (assign_pair
          lhs: (LhsName name:_Dbg_space_IFS)
          op: Equal
          rhs: {(SQ <'     \n'>)}
          spids: [598]
        )
      ]
      spids: [594]
    )
    (Assignment
      keyword: Assign_Typeset
      flags: [-i]
      pairs: [(assign_pair lhs:(LhsName name:_Dbg_step_ignore) op:Equal rhs:{(1)} spids:[620])]
      spids: [616]
    )
  ]
)