(CommandList
  children: [
    (Pipeline
      children: [
        (C {(tail)} {(-10000)} {(-F)} {(DQ ($ VSub_At '$@'))})
        (While
          cond: [(C {(read)} {(line)})]
          body: 
            (DoGroup
              children: [
                (Case
                  to_match: {($ VSub_Name '$line')}
                  arms: [
                    (case_arm
                      pat_list: [
                        {(EscapedLiteralPart token:<Lit_EscapedChar '\\>'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\>'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\>'>) (Lit_Other '*')
                        }
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:endl)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\r'>) 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar '\\n'>
                                    )
                                  )
                                }
                              spids: [123]
                            )
                          ]
                          spids: [123]
                        )
                      ]
                      spids: [116 120 130 -1]
                    )
                    (case_arm
                      pat_list: [
                        {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (Lit_Other '*')
                        }
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:endl)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\r'>) 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar '\\n'>
                                    )
                                  )
                                }
                              spids: [140]
                            )
                          ]
                          spids: [140]
                        )
                      ]
                      spids: [133 137 147 -1]
                    )
                    (case_arm
                      pat_list: [
                        {(EscapedLiteralPart token:<Lit_EscapedChar '\\='>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\='>) (EscapedLiteralPart token:<Lit_EscapedChar '\\='>) (Lit_Other '*')
                        }
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:endl)
                              op: Equal
                              rhs: {(DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\r'>))}
                              spids: [157]
                            )
                          ]
                          spids: [157]
                        )
                      ]
                      spids: [150 154 163 -1]
                    )
                    (case_arm
                      pat_list: [{(Lit_Other '*')}]
                      action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                      spids: [166 167 173 -1]
                    )
                  ]
                  spids: [109 113 176]
                )
                (C {(printf)} {(DQ ('%s%*s') (${ VSub_Name endl))} {(DQ (${ VSub_Name line))} 
                  {
                    (ArithSubPart
                      anode: 
                        (ArithBinary
                          op_id: Arith_Minus
                          left: 
                            (ArithBinary
                              op_id: Arith_Minus
                              left: 
                                (ArithWord
                                  w: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name COLUMNS>
                                        suffix_op: 
                                          (StringUnary
                                            op_id: VTest_ColonHyphen
                                            arg_word: {(80)}
                                          )
                                        spids: [195 199]
                                      )
                                    }
                                )
                              right: 
                                (ArithWord
                                  w: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name line>
                                        prefix_op: VSub_Pound
                                        spids: [203 206]
                                      )
                                    }
                                )
                            )
                          right: (ArithWord w:{(Lit_Digits 1)})
                        )
                      spids: [194 212]
                    )
                  } {(DQ (' '))}
                )
              ]
              spids: [106 218]
            )
        )
      ]
      negated: False
    )
  ]
)