(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_Dbg_ansi_term_bold)
          op: Equal
          rhs: {(DQ ("\u001b[1m"))}
          spids: [58]
        )
      ]
      spids: [58]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_Dbg_ansi_term_italic)
          op: Equal
          rhs: {(DQ ("\u001b[3m"))}
          spids: [63]
        )
      ]
      spids: [63]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_Dbg_ansi_term_underline)
          op: Equal
          rhs: {(DQ ("\u001b[4m"))}
          spids: [68]
        )
      ]
      spids: [68]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_Dbg_ansi_term_normal)
          op: Equal
          rhs: {(DQ ("\u001b[0m"))}
          spids: [73]
        )
      ]
      spids: [73]
    )
    (FuncDef
      name: _Dbg_confirm
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DPipe
                              left: 
                                (ArithBinary
                                  op_id: Arith_Less
                                  left: (ArithWord w:{($ VSub_Pound "$#")})
                                  right: (ArithWord w:{(Lit_Digits 1)})
                                )
                              right: 
                                (ArithBinary
                                  op_id: Arith_Great
                                  left: (ArithWord w:{($ VSub_Pound "$#")})
                                  right: (ArithWord w:{(Lit_Digits 2)})
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_Dbg_response)
                          op: Equal
                          rhs: {(SQ <error>)}
                          spids: [127]
                        )
                      ]
                      spids: [127]
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [-1 124]
                )
              ]
              spids: [-1 138]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_Dbg_confirm_prompt)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [141]
                )
              ]
              spids: [141]
            )
            (C {(typeset)} 
              {(Lit_VarLike "_Dbg_confirm_default=") 
                (BracedVarSub
                  token: <VSub_Number 2>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ <no>)})
                  spids: [148 154]
                )
              }
            )
            (While
              cond: [(Sentence child:(C {(Lit_Other ":")}) terminator:<Op_Semi ";">)]
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (Pipeline
                                  children: [
                                    (SimpleCommand
                                      words: [
                                        {(read)}
                                        {($ VSub_Name "$_Dbg_edit")}
                                        {(-p)}
                                        {(DQ ($ VSub_Name "$_Dbg_confirm_prompt"))}
                                        {(_Dbg_response)}
                                        {(args)}
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_LessAnd
                                          fd: -1
                                          arg_word: {($ VSub_Name "$_Dbg_input_desc")}
                                          spids: [186]
                                        )
                                        (Redir
                                          op_id: Redir_DGreat
                                          fd: 2
                                          arg_word: {($ VSub_Name "$_Dbg_prompt_output")}
                                          spids: [189]
                                        )
                                      ]
                                    )
                                  ]
                                  negated: True
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [(ControlFlow token:<ControlFlow_Break break>)]
                          spids: [-1 194]
                        )
                      ]
                      spids: [-1 200]
                    )
                    (Case
                      to_match: {(DQ ($ VSub_Name "$_Dbg_response"))}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(SQ <y>)}
                            {(SQ <yes>)}
                            {(SQ <yeah>)}
                            {(SQ <ya>)}
                            {(SQ <ja>)}
                            {(SQ <si>)}
                            {(SQ <oui>)}
                            {(SQ <ok>)}
                            {(SQ <okay>)}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_Dbg_response)
                                  op: Equal
                                  rhs: {(SQ <y>)}
                                  spids: [268]
                                )
                              ]
                              spids: [268]
                            )
                            (ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(0)}
                            )
                          ]
                          spids: [214 265 279 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(SQ <n>)}
                            {(SQ <no>)}
                            {(SQ <nope>)}
                            {(SQ <nyet>)}
                            {(SQ <nein>)}
                            {(SQ <non>)}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_Dbg_response)
                                  op: Equal
                                  rhs: {(SQ <n>)}
                                  spids: [319]
                                )
                              ]
                              spids: [319]
                            )
                            (ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(0)}
                            )
                          ]
                          spids: [283 316 330 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DBracket
                                          expr: 
                                            (BoolBinary
                                              op_id: BoolBinary_EqualTilde
                                              left: {($ VSub_Name "$_Dbg_response")}
                                              right: {(SQ <"^[ \\t]*$">)}
                                            )
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(set)} {(Lit_Other "+") (x)})
                                    (ControlFlow
                                      token: <ControlFlow_Return return>
                                      arg_word: {(0)}
                                    )
                                  ]
                                  spids: [-1 353]
                                )
                              ]
                              else_action: [
                                (C {(_Dbg_msg)} 
                                  {
                                    (DQ ("I don't understand ") 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar "\\\"">
                                      ) ($ VSub_Name "$_Dbg_response") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (.)
                                    )
                                  }
                                )
                                (C {(_Dbg_msg)} {(DQ ("Please try again entering 'yes' or 'no'."))})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:_Dbg_response)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [388]
                                    )
                                  ]
                                  spids: [388]
                                )
                              ]
                              spids: [367 393]
                            )
                          ]
                          spids: [333 334 396 -1]
                        )
                      ]
                      spids: [204 210 399]
                    )
                  ]
                  spids: [163 403]
                )
            )
          ]
          spids: [98]
        )
      spids: [94 97]
    )
    (FuncDef
      name: _Dbg_errmsg
      body: 
        (BraceGroup
          children: [
            (C {(typeset)} {(-r)} {(Lit_VarLike "prefix=") (SQ <"**">)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: {($ VSub_Name "$_Dbg_set_highlight")}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(_Dbg_msg)} 
                      {
                        (DQ ($ VSub_Name "$prefix") (" ") (${ VSub_Name _Dbg_ansi_term_underline) 
                          ($ VSub_At "$@") (${ VSub_Name _Dbg_ansi_term_normal)
                        )
                      }
                    )
                  ]
                  spids: [-1 440]
                )
              ]
              else_action: [(C {(_Dbg_msg)} {(DQ ($ VSub_Name "$prefix") (" ") ($ VSub_At "$@"))})]
              spids: [458 470]
            )
          ]
          spids: [415]
        )
      spids: [411 414]
    )
    (FuncDef
      name: _Dbg_errmsg_no_cr
      body: 
        (BraceGroup
          children: [
            (C {(typeset)} {(-r)} {(Lit_VarLike "prefix=") (SQ <"**">)})
            (C {(_Dbg_msg_no_cr)} {(DQ ($ VSub_Name "$prefix") (" ") ($ VSub_At "$@"))})
          ]
          spids: [482]
        )
      spids: [478 481]
    )
    (FuncDef
      name: _Dbg_msg
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (DParen child:(ArithVarRef name:_Dbg_logging))
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(builtin)} {(echo)} {(-e)} {(DQ ($ VSub_At "$@"))}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$_Dbg_logfid")}
                          spids: [540]
                        )
                      ]
                    )
                  ]
                  spids: [-1 527]
                )
              ]
              spids: [-1 544]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithUnary
                              op_id: Arith_Bang
                              child: (ArithVarRef name:_Dbg_logging_redirect)
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (DBracket
                                      expr: 
                                        (BoolUnary
                                          op_id: BoolUnary_n
                                          child: {($ VSub_Name "$_Dbg_tty")}
                                        )
                                    )
                                    (DBracket
                                      expr: 
                                        (BoolBinary
                                          op_id: BoolBinary_GlobNEqual
                                          left: {($ VSub_Name "$_Dbg_tty")}
                                          right: {(SQ <"&1">)}
                                        )
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [{(builtin)} {(echo)} {(-e)} {(DQ ($ VSub_At "$@"))}]
                              redirects: [
                                (Redir
                                  op_id: Redir_DGreat
                                  fd: -1
                                  arg_word: {($ VSub_Name "$_Dbg_tty")}
                                  spids: [602]
                                )
                              ]
                            )
                          ]
                          spids: [-1 589]
                        )
                      ]
                      else_action: [(C {(builtin)} {(echo)} {(-e)} {(DQ ($ VSub_At "$@"))})]
                      spids: [606 620]
                    )
                  ]
                  spids: [-1 560]
                )
              ]
              spids: [-1 623]
            )
          ]
          spids: [513]
        )
      spids: [509 512]
    )
    (FuncDef
      name: _Dbg_msg_nocr
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (DParen child:(ArithVarRef name:_Dbg_logging))
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(builtin)} {(echo)} {(-n)} {(-e)} {(DQ ($ VSub_At "$@"))}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$_Dbg_logfid")}
                          spids: [664]
                        )
                      ]
                    )
                  ]
                  spids: [-1 649]
                )
              ]
              spids: [-1 668]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithUnary
                              op_id: Arith_Bang
                              child: (ArithVarRef name:_Dbg_logging_redirect)
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name "$_Dbg_tty")})
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [{(builtin)} {(echo)} {(-n)} {(-e)} {(DQ ($ VSub_At "$@"))}]
                              redirects: [
                                (Redir
                                  op_id: Redir_DGreat
                                  fd: -1
                                  arg_word: {($ VSub_Name "$_Dbg_tty")}
                                  spids: [714]
                                )
                              ]
                            )
                          ]
                          spids: [-1 699]
                        )
                      ]
                      else_action: [(C {(builtin)} {(echo)} {(-n)} {(-e)} {(DQ ($ VSub_At "$@"))})]
                      spids: [718 734]
                    )
                  ]
                  spids: [-1 684]
                )
              ]
              spids: [-1 737]
            )
          ]
          spids: [635]
        )
      spids: [631 634]
    )
    (FuncDef
      name: _Dbg_printf
      body: 
        (BraceGroup
          children: [(C {(_Dbg_printf_nocr)} {(DQ ($ VSub_At "$@"))}) (C {(_Dbg_msg)} {(SQ )})]
          spids: [749]
        )
      spids: [745 748]
    )
    (FuncDef
      name: _Dbg_printf_nocr
      body: 
        (BraceGroup
          children: [
            (C {(typeset)} {(Lit_VarLike "format=") ($ VSub_Number "$1")})
            (C {(shift)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (DParen child:(ArithVarRef name:_Dbg_logging))
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [
                        {(builtin)}
                        {(printf)}
                        {(DQ ($ VSub_Name "$format"))}
                        {(DQ ($ VSub_At "$@"))}
                      ]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$_Dbg_logfid")}
                          spids: [812]
                        )
                      ]
                    )
                  ]
                  spids: [-1 797]
                )
              ]
              spids: [-1 816]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithUnary
                              op_id: Arith_Bang
                              child: (ArithVarRef name:_Dbg_logging_redirect)
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name "$_Dbg_tty")})
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [
                                {(builtin)}
                                {(printf)}
                                {(DQ ($ VSub_Name "$format"))}
                                {(DQ ($ VSub_At "$@"))}
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_DGreat
                                  fd: -1
                                  arg_word: {($ VSub_Name "$_Dbg_tty")}
                                  spids: [862]
                                )
                              ]
                            )
                          ]
                          spids: [-1 847]
                        )
                      ]
                      else_action: [
                        (C {(builtin)} {(printf)} {(DQ ($ VSub_Name "$format"))} {(DQ ($ VSub_At "$@"))})
                      ]
                      spids: [866 882]
                    )
                  ]
                  spids: [-1 832]
                )
              ]
              spids: [-1 885]
            )
          ]
          spids: [774]
        )
      spids: [770 773]
    )
    (C {(typeset)} 
      {(Lit_VarLike "_Dbg_dashes=") (SQ <--------------------------------------------------->)}
    )
    (FuncDef
      name: _Dbg_section
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: {($ VSub_Name "$_Dbg_set_highlight")}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(_Dbg_msg)} 
                      {
                        (DQ (${ VSub_Name _Dbg_ansi_term_bold) ($ VSub_At "$@") 
                          (${ VSub_Name _Dbg_ansi_term_normal)
                        )
                      }
                    )
                  ]
                  spids: [-1 920]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_Local
                  flags: ["'-r'"]
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:msg)
                      op: Equal
                      rhs: {(DQ ($ VSub_At "$@"))}
                      spids: [943]
                    )
                  ]
                  spids: [939]
                )
                (C {(_Dbg_msg)} 
                  {
                    (DQ ($ VSub_Name "$msg") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) 
                      (BracedVarSub
                        token: <VSub_Name _Dbg_dashes>
                        suffix_op: 
                          (Slice
                            begin: (ArithWord w:{(Lit_Digits 0)})
                            length: 
                              (ArithWord
                                w: 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name msg>
                                      prefix_op: VSub_Pound
                                      spids: [959 962]
                                    )
                                  }
                              )
                          )
                        spids: [954 963]
                      )
                    )
                  }
                )
              ]
              spids: [936 967]
            )
          ]
          spids: [905]
        )
      spids: [901 904]
    )
    (FuncDef
      name: _Dbg_msg_rst
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:msg)
                  op: Equal
                  rhs: {(DQ ($ VSub_At "$@"))}
                  spids: [983]
                )
              ]
              spids: [979]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (DBracket
                              expr: 
                                (BoolUnary
                                  op_id: BoolUnary_n
                                  child: {($ VSub_Name "$_Dbg_set_highlight")}
                                )
                            )
                            (DParen
                              child: (ArithVarRef name:_Dbg_working_term_highlight)
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(typeset)} 
                      {(Lit_VarLike "opts=") 
                        (DQ ("--rst --width=") ($ VSub_Name "$_Dbg_set_linewidth"))
                      }
                    )
                    (C {(typeset)} 
                      {(Lit_VarLike "highlight_cmd=") 
                        (DQ (${ VSub_Name _Dbg_libdir) (/lib/term-highlight.py))
                      }
                    )
                    (C {(typeset)} {(formatted_msg)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:formatted_msg)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {(DQ ($ VSub_Name "$msg"))})
                                          (C {($ VSub_Name "$highlight_cmd")} {($ VSub_Name "$opts")})
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [1039 1051]
                              )
                            }
                          spids: [1038]
                        )
                      ]
                      spids: [1038]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (DParen
                                      child: 
                                        (ArithBinary
                                          op_id: Arith_DEqual
                                          left: (ArithWord w:{($ VSub_QMark "$?")})
                                          right: (ArithWord w:{(Lit_Digits 0)})
                                        )
                                    )
                                    (DBracket
                                      expr: 
                                        (BoolUnary
                                          op_id: BoolUnary_n
                                          child: {($ VSub_Name "$formatted_msg")}
                                        )
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(_Dbg_msg)} {(DQ ($ VSub_Name "$formatted_msg"))})
                            (ControlFlow
                              token: <ControlFlow_Return return>
                            )
                          ]
                          spids: [-1 1079]
                        )
                      ]
                      spids: [-1 1092]
                    )
                  ]
                  spids: [-1 1010]
                )
              ]
              spids: [-1 1095]
            )
            (C {(_Dbg_msg)} {(DQ ($ VSub_Name "$msg"))})
          ]
          spids: [976]
        )
      spids: [972 975]
    )
    (FuncDef
      name: _Dbg_undefined_cmd
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Pound "$#")})
                              right: (ArithWord w:{(Lit_Digits 2)})
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(_Dbg_errmsg)} 
                      {
                        (DQ ("Undefined ") ($ VSub_Number "$1") (" subcommand ") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) ($ VSub_Number "$2") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (". Try ") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) ("help ") ($ VSub_Number "$1") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (.)
                        )
                      }
                    )
                  ]
                  spids: [-1 1132]
                )
              ]
              else_action: [
                (C {(_Dbg_errmsg)} 
                  {
                    (DQ ("Undefined command ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                      ($ VSub_Number "$1") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (". Try ") 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (help) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (.)
                    )
                  }
                )
              ]
              spids: [1153 1171]
            )
          ]
          spids: [1114]
        )
      spids: [1110 1113]
    )
  ]
)