(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:QUOTE)
          op: assign_op.Equal
          rhs: {(DQ <'> '>)}
          spids: [28]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:MIN_TEXT_LEN)
          op: assign_op.Equal
          rhs: {<8>}
          spids: [33]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '$#')} 
                      {<Id.Lit_Equals '='> <Id.Lit_Equals '='>} {<3>} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:QUOTE)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_Number '$1'))}
                  spids: [54]
                )
              ]
            )
            (C {<shift>})
          ]
          spids: [37 51]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '$#')} 
                      {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<2>} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.Simple
              words: [
                {<echo>}
                {
                  (DQ <'Usage: '> ($ Id.VSub_Number '$0') 
                    <' [quote_string(> )] response_level(starting at 0) line_width'>
                  )
                }
              ]
              redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              do_fork: T
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [65 79]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:RESPONSE_LEVEL)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$1')}
          spids: [101]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TEXT_WIDTH)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (C {<expr>} {($ Id.VSub_Number '$2')} {<->} {($ Id.VSub_Number '$1')} 
                    {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'>)} {(braced_var_sub token:<Id.VSub_Name QUOTE> prefix_op:(Id.VSub_Pound))}
                  )
              )
            }
          spids: [104]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$TEXT_WIDTH')} {<-lt>} 
                      {($ Id.VSub_DollarName '$MIN_TEXT_LEN')} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.Simple
              words: [
                {<echo>}
                {
                  (DQ <'Aborting as line length will be less than '> 
                    ($ Id.VSub_DollarName '$MIN_TEXT_LEN')
                  )
                }
              ]
              redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              do_fork: T
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [127 140]
        )
      ]
    )
    (command.ForEach
      iter_names: [i]
      iterable: 
        (for_iter.Words
          words: [
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: (C {<seq>} {<1>} {($ Id.VSub_DollarName '$RESPONSE_LEVEL')})
              )
            }
          ]
        )
      body: 
        (command.DoGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:RESPONSE_DELIM)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_DollarName '$RESPONSE_DELIM') ($ Id.VSub_DollarName '$QUOTE'))}
                  spids: [181]
                )
              ]
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:RESPONSE_DELIM)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<echo>} {(DQ ($ Id.VSub_DollarName '$RESPONSE_DELIM'))})
                      (C {<sed>} {(SQ <'s/[ ]*$//'>)})
                    ]
                    negated: F
                  )
              )
            }
          spids: [189]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:QUOTE_DEL)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<echo>} {(DQ ($ Id.VSub_DollarName '$QUOTE'))})
                      (C {<tr>} {<-d>} {(SQ <' '>)})
                    ]
                    negated: F
                  )
              )
            }
          spids: [212]
        )
      ]
    )
    (command.Pipeline
      children: [
        (C {<tr>} {<-ds>} 
          {
            (DQ ($ Id.VSub_DollarName '$QUOTE_DEL') 
              (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <n>
            )
          } {(SQ <' '>)}
        )
        (C {<fmt>} {<-w> ($ Id.VSub_DollarName '$TEXT_WIDTH')})
        (C {<sed>} {<-e>} 
          {
            (DQ <'s/^[ ]*'> <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')/'> 
              ($ Id.VSub_DollarName '$RESPONSE_DELIM') <' '> <Id.Lit_BadBackslash '\\'> <'1/'>
            )
          }
        )
      ]
      negated: F
    )
  ]
)