(CommandList
  children: [
    (If
      arms: [
        (if_arm
          cond: [(C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-lt)} {(1)} {(Lit_Other ']')})]
          action: [
            (Sentence
              child: (C {(echo)} {(DQ (' ') ($ VSub_Number '$0') (' <driver source (e.g., if_em.c)>'))})
              terminator: <Op_Semi ';'>
            )
            (Sentence
              child: (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [16777215 119]
        )
      ]
      spids: [16777215 137]
    )
    (Sentence
      child: 
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:__ifp__) op:Equal rhs:{(DQ (ifp))} spids:[143])]
          spids: [143]
        )
      terminator: <Op_Semi ';'>
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:file) op:Equal rhs:{($ VSub_Number '$1')} spids:[150])]
      spids: [150]
    )
    (FuncDef
      name: rotateCursor
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Name '$toggle')}
              arms: [
                (case_arm
                  pat_list: [{(1)}]
                  action: [
                    (C {(printf)} {(DQ (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (' '))})
                    (C {(printf)} {(DQ (Lit_Other '\\') (b) (Lit_Other '\\') (b))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:toggle)
                          op: Equal
                          rhs: {(DQ (2))}
                          spids: [192]
                        )
                      ]
                      spids: [192]
                    )
                  ]
                  spids: [169 170 198 16777215]
                )
                (case_arm
                  pat_list: [{(2)}]
                  action: [
                    (C {(printf)} {(DQ (' | '))})
                    (C {(printf)} {(DQ (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:toggle)
                          op: Equal
                          rhs: {(DQ (3))}
                          spids: [225]
                        )
                      ]
                      spids: [225]
                    )
                  ]
                  spids: [202 203 231 16777215]
                )
                (case_arm
                  pat_list: [{(3)}]
                  action: [
                    (C {(printf)} {(DQ (' / '))})
                    (C {(printf)} {(DQ (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:toggle)
                          op: Equal
                          rhs: {(DQ (4))}
                          spids: [258]
                        )
                      ]
                      spids: [258]
                    )
                  ]
                  spids: [235 236 264 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(printf)} {(DQ (' - '))})
                    (C {(printf)} {(DQ (Lit_Other '\\') (b) (Lit_Other '\\') (b) (Lit_Other '\\') (b))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:toggle)
                          op: Equal
                          rhs: {(DQ (1))}
                          spids: [291]
                        )
                      ]
                      spids: [291]
                    )
                  ]
                  spids: [268 269 297 16777215]
                )
              ]
              spids: [161 166 300]
            )
          ]
          spids: [158]
        )
      spids: [154 157]
    )
    (FuncDef
      name: handle_set
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:line)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [315]
                )
              ]
              spids: [315]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:set)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} {($ VSub_Name '$line')})
                                  (C {(grep)} {(DQ ($ VSub_Name '$__ifp__') ('->.* = '))})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [320 332]
                      )
                    }
                  spids: [319]
                )
              ]
              spids: [319]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$set'))} 
                      {(Lit_Other ']')}
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:word)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$line')})
                                          (C {(awk)} {(-F)} {(DQ (if_))} {(SQ <' { print $2 }'>)})
                                          (C {(awk)} {(-F) (DQ (' ='))} {(SQ <'{ print $1 }'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [354 385]
                              )
                            }
                          spids: [353]
                        )
                      ]
                      spids: [353]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:value)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$line')})
                                          (C {(awk)} {(-F)} {(DQ ('='))} {(SQ <'{ print $2 }'>)})
                                          (C {(sed)} {(-e)} {(SQ <'s/;//g'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [389 417]
                              )
                            }
                          spids: [388]
                        )
                      ]
                      spids: [388]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(echo)} 
                                        {(if_set) ($ VSub_Name '$word') 
                                          (DQ (Lit_Other '\\') ('(') ($ VSub_Name '$__ifp__') (',')) ($ VSub_Name '$value') (DQ (');'))
                                        }
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [421 436]
                              )
                            }
                          spids: [420]
                        )
                      ]
                      spids: [420]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$new')})
                                          (C {(sed)} {(-e)} {(SQ <'s/&/\\\\\\&/'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [440 454]
                              )
                            }
                          spids: [439]
                        )
                      ]
                      spids: [439]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$line')})
                                          (C {(sed)} {(-e)} {(SQ <'s/^[ \t]*//'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [458 470]
                              )
                            }
                          spids: [457]
                        )
                      ]
                      spids: [457]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:line)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$line')})
                                          (C {(sed)} 
                                            {(-e) (SQ <s/>) ($ VSub_Name '$old') (SQ </>) 
                                              ($ VSub_Name '$new') (SQ </g>)
                                            }
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [474 494]
                              )
                            }
                          spids: [473]
                        )
                      ]
                      spids: [473]
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [16777215 350]
                )
              ]
              spids: [16777215 502]
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
          ]
          spids: [309]
        )
      spids: [305 308]
    )
    (FuncDef
      name: handle_inc
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:line)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [519]
                )
              ]
              spids: [519]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:inc)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} {($ VSub_Name '$line')})
                                  (C {(grep)} 
                                    {
                                      (DQ ($ VSub_Name '$__ifp__') ('->.*++') (Lit_Other '\\') ('|++') 
                                        ($ VSub_Name '$__ifp__') ('->.*')
                                      )
                                    }
                                  )
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [525 542]
                      )
                    }
                  spids: [524]
                )
              ]
              spids: [524]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$inc'))} 
                      {(Lit_Other ']')}
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:word)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$line')})
                                          (C {(awk)} {(-F) (DQ (if_))} {(SQ <'{ print $2 }'>)})
                                          (C {(awk)} {(-F) (DQ (Lit_Other '\\') ('+'))} 
                                            {(SQ <'{ print $1}'>)}
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [564 593]
                              )
                            }
                          spids: [563]
                        )
                      ]
                      spids: [563]
                    )
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:value)
                              op: Equal
                              rhs: {(SQ <' 1'>)}
                              spids: [596]
                            )
                          ]
                          spids: [596]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$line')})
                                          (C {(sed)} {(-e)} {(SQ <'s/^[ \t]*//'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [604 616]
                              )
                            }
                          spids: [603]
                        )
                      ]
                      spids: [603]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(echo)} 
                                        {(if_inc) ($ VSub_Name '$word') 
                                          (DQ (Lit_Other '\\') ('(') ($ VSub_Name '$__ifp__') (',')) ($ VSub_Name '$value') (DQ (');'))
                                        }
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [620 635]
                              )
                            }
                          spids: [619]
                        )
                      ]
                      spids: [619]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$new')})
                                          (C {(sed)} {(-e)} {(SQ <'s/&/\\\\\\&/'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [639 653]
                              )
                            }
                          spids: [638]
                        )
                      ]
                      spids: [638]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:line)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$line')})
                                          (C {(sed)} 
                                            {(-e) (SQ <s/>) ($ VSub_Name '$old') (SQ </>) 
                                              ($ VSub_Name '$new') (SQ </g>)
                                            }
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [657 677]
                              )
                            }
                          spids: [656]
                        )
                      ]
                      spids: [656]
                    )
                    (Sentence
                      child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 560]
                )
              ]
              spids: [16777215 686]
            )
            (Sentence
              child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [516]
        )
      spids: [512 515]
    )
    (FuncDef
      name: handle_add
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:line)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [705]
                )
              ]
              spids: [705]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:add)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} {($ VSub_Name '$line')})
                                  (C {(grep)} {(DQ ($ VSub_Name '$__ifp__') ('->.*+= '))})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [710 721]
                      )
                    }
                  spids: [709]
                )
              ]
              spids: [709]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$add'))} 
                      {(Lit_Other ']')}
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:word)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$line')})
                                          (C {(awk)} {(-F) (DQ (if_))} {(SQ <'{ print $2 }'>)})
                                          (C {(awk)} {(SQ <'{ print $1}'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [743 766]
                              )
                            }
                          spids: [742]
                        )
                      ]
                      spids: [742]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:value)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$line')})
                                          (C {(awk)} {(-F) (DQ ('='))} {(SQ <'{ print $2}'>)})
                                          (C {(sed)} {(-e)} {(SQ <'s/;//g'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [770 797]
                              )
                            }
                          spids: [769]
                        )
                      ]
                      spids: [769]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(echo)} 
                                        {(if_inc) ($ VSub_Name '$word') 
                                          (DQ (Lit_Other '\\') ('(') ($ VSub_Name '$__ifp__') (',') 
                                            ($ VSub_Name '$value') (');')
                                          )
                                        }
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [801 814]
                              )
                            }
                          spids: [800]
                        )
                      ]
                      spids: [800]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$new')})
                                          (C {(sed)} {(-e)} {(SQ <'s/&/\\\\\\&/'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [818 832]
                              )
                            }
                          spids: [817]
                        )
                      ]
                      spids: [817]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$line')})
                                          (C {(sed)} {(-e)} {(SQ <'s/^[ \t]*//'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [836 848]
                              )
                            }
                          spids: [835]
                        )
                      ]
                      spids: [835]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:line)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$line')})
                                          (C {(sed)} 
                                            {(-e) (SQ <s/>) ($ VSub_Name '$old') (SQ </>) 
                                              ($ VSub_Name '$new') (SQ </g>)
                                            }
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [852 872]
                              )
                            }
                          spids: [851]
                        )
                      ]
                      spids: [851]
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [16777215 739]
                )
              ]
              spids: [16777215 880]
            )
            (Sentence
              child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [702]
        )
      spids: [698 701]
    )
    (FuncDef
      name: handle_or
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:line)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [899]
                )
              ]
              spids: [899]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:or)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} {($ VSub_Name '$line')})
                                  (C {(grep)} {(DQ ($ VSub_Name '$__ifp__') ('->.*|= '))})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [904 915]
                      )
                    }
                  spids: [903]
                )
              ]
              spids: [903]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$or'))} 
                      {(Lit_Other ']')}
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:word)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$line')})
                                          (C {(awk)} {(-F) (DQ (if_))} {(SQ <'{ print $2 }'>)})
                                          (C {(awk)} {(SQ <'{ print $1}'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [937 960]
                              )
                            }
                          spids: [936]
                        )
                      ]
                      spids: [936]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:value)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$line')})
                                          (C {(awk)} {(-F) (DQ ('='))} {(SQ <'{ print $2}'>)})
                                          (C {(sed)} {(-e)} {(SQ <'s/;//g'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [965 992]
                              )
                            }
                          spids: [964]
                        )
                      ]
                      spids: [964]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(echo)} 
                                        {(if_set) (${ VSub_Name word) (bit) 
                                          (DQ ('(') ($ VSub_Name '$__ifp__') (',') 
                                            ($ VSub_Name '$value') (', 0);')
                                          )
                                        }
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [996 1011]
                              )
                            }
                          spids: [995]
                        )
                      ]
                      spids: [995]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$new')})
                                          (C {(sed)} {(-e)} {(SQ <'s/&/\\\\\\&/'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1015 1029]
                              )
                            }
                          spids: [1014]
                        )
                      ]
                      spids: [1014]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$line')})
                                          (C {(sed)} {(-e)} {(SQ <'s/^[ \t]*//'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1038 1050]
                              )
                            }
                          spids: [1037]
                        )
                      ]
                      spids: [1037]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:line)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$line')})
                                          (C {(sed)} 
                                            {(-e) (SQ <s/>) ($ VSub_Name '$old') (SQ </>) 
                                              ($ VSub_Name '$new') (SQ </g>)
                                            }
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1054 1074]
                              )
                            }
                          spids: [1053]
                        )
                      ]
                      spids: [1053]
                    )
                    (Sentence
                      child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 933]
                )
              ]
              spids: [16777215 1083]
            )
            (Sentence
              child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [896]
        )
      spids: [892 895]
    )
    (FuncDef
      name: handle_and
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:line)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1102]
                )
              ]
              spids: [1102]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:or)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} {($ VSub_Name '$line')})
                                  (C {(grep)} {(DQ ($ VSub_Name '$__ifp__') ('->.*&= '))})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [1107 1118]
                      )
                    }
                  spids: [1106]
                )
              ]
              spids: [1106]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$or'))} 
                      {(Lit_Other ']')}
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:word)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$line')})
                                          (C {(awk)} {(-F) (DQ (if_))} {(SQ <'{ print $2 }'>)})
                                          (C {(awk)} {(SQ <'{ print $1}'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1140 1163]
                              )
                            }
                          spids: [1139]
                        )
                      ]
                      spids: [1139]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:value)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$line')})
                                          (C {(awk)} {(-F) (DQ ('='))} {(SQ <'{ print $2}'>)})
                                          (C {(sed)} {(-e)} {(SQ <'s/;//g'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1168 1195]
                              )
                            }
                          spids: [1167]
                        )
                      ]
                      spids: [1167]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:value)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$value')})
                                          (C {(sed)} {(-e) (SQ <'s/~//g'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1199 1212]
                              )
                            }
                          spids: [1198]
                        )
                      ]
                      spids: [1198]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(echo)} 
                                        {(if_set) (${ VSub_Name word) (bit) 
                                          (DQ (Lit_Other '\\') ('(') ($ VSub_Name '$__ifp__') (', 0,') 
                                            ($ VSub_Name '$value') (');')
                                          )
                                        }
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1216 1232]
                              )
                            }
                          spids: [1215]
                        )
                      ]
                      spids: [1215]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$new')})
                                          (C {(sed)} {(-e)} {(SQ <'s/&/\\\\\\&/'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1236 1250]
                              )
                            }
                          spids: [1235]
                        )
                      ]
                      spids: [1235]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$line')})
                                          (C {(sed)} {(-e)} {(SQ <'s/^[ \t]*//'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1254 1266]
                              )
                            }
                          spids: [1253]
                        )
                      ]
                      spids: [1253]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:line)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$line')})
                                          (C {(sed)} 
                                            {(-e) (SQ <s/>) ($ VSub_Name '$old') (SQ </>) 
                                              ($ VSub_Name '$new') (SQ </g>)
                                            }
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1270 1290]
                              )
                            }
                          spids: [1269]
                        )
                      ]
                      spids: [1269]
                    )
                    (Sentence
                      child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 1136]
                )
              ]
              spids: [16777215 1299]
            )
            (Sentence
              child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [1099]
        )
      spids: [1095 1098]
    )
    (FuncDef
      name: handle_toggle
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:line)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1318]
                )
              ]
              spids: [1318]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} 
                      {
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {($ VSub_Name '$line')})
                                    (C {(grep)} {(DQ (Lit_Other '\\') ('^='))})
                                  ]
                                  negated: F
                                )
                              ]
                            )
                          left_token: <Left_Backtick '`'>
                          spids: [1330 1343]
                        )
                      } {(Lit_Other ']')}
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:line)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$line')})
                                          (C {(sed)} {(-e)} 
                                            {(SQ <s/>) (DQ ($ VSub_Name '$__ifp__')) 
                                              (SQ <'->if_\\(.*\\) ^=\\(.*\\);/if_toggle\\1('>) (DQ ($ VSub_Name '$__ifp__')) (SQ <',\\2);/g'>)
                                            }
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1352 1378]
                              )
                            }
                          spids: [1351]
                        )
                      ]
                      spids: [1351]
                    )
                    (Sentence
                      child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 1348]
                )
              ]
              spids: [16777215 1387]
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
          ]
          spids: [1315]
        )
      spids: [1311 1314]
    )
    (FuncDef
      name: handle_misc
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:line)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1408]
                )
              ]
              spids: [1408]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:get)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} {($ VSub_Name '$line')})
                                  (C {(grep)} 
                                    {
                                      (DQ (if_capabilities) (Lit_Other '\\') ('|if_flags') 
                                        (Lit_Other '\\') ('|if_softc') (Lit_Other '\\') ('|if_capenable') (Lit_Other '\\') ('|if_mtu') (Lit_Other '\\') 
                                        ('|if_drv_flags')
                                      )
                                    }
                                  )
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [1413 1435]
                      )
                    }
                  spids: [1412]
                )
              ]
              spids: [1412]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$get'))} 
                      {(Lit_Other ']')}
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:word)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$line')})
                                          (C {(awk)} {(-F) (DQ ($ VSub_Name '$__ifp__') ('->if_'))} 
                                            {(SQ <'{ print $2 }'>)}
                                          )
                                          (C {(sed)} {(-e) (SQ <'s/[^a-zA-Z0-9_]/\\@/'>)})
                                          (C {(awk)} {(-F) (DQ (Lit_Other '\\') ('@'))} 
                                            {(SQ <'{ print $1}'>)}
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1457 1497]
                              )
                            }
                          spids: [1456]
                        )
                      ]
                      spids: [1456]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(echo)} 
                                        {(DQ ($ VSub_Name '$__ifp__') ('->if_')) (${ VSub_Name word)}
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1501 1511]
                              )
                            }
                          spids: [1500]
                        )
                      ]
                      spids: [1500]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(echo)} 
                                        {(DQ (if_get)) (${ VSub_Name word) 
                                          (DQ ('(') ($ VSub_Name '$__ifp__') (')'))
                                        }
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1515 1529]
                              )
                            }
                          spids: [1514]
                        )
                      ]
                      spids: [1514]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$new')})
                                          (C {(sed)} {(-e)} {(SQ <'s/&/\\\\\\&/'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1533 1547]
                              )
                            }
                          spids: [1532]
                        )
                      ]
                      spids: [1532]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:line)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name '$line')})
                                          (C {(sed)} 
                                            {(-e) (SQ <s/>) ($ VSub_Name '$old') (SQ </>) 
                                              ($ VSub_Name '$new') (SQ </g>)
                                            }
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1551 1571]
                              )
                            }
                          spids: [1550]
                        )
                      ]
                      spids: [1550]
                    )
                    (Sentence
                      child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 1453]
                )
              ]
              spids: [16777215 1580]
            )
            (Sentence
              child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [1405]
        )
      spids: [1401 1404]
    )
    (FuncDef
      name: replace_str
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:line)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1600]
                )
              ]
              spids: [1600]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:orig)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [1604]
                )
              ]
              spids: [1604]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:new)
                  op: Equal
                  rhs: {($ VSub_Number '$3')}
                  spids: [1608]
                )
              ]
              spids: [1608]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:line)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} {($ VSub_Name '$line')})
                                  (C {(sed)} {(-e)} 
                                    {(SQ <s/>) (DQ ($ VSub_Name '$orig')) (SQ <'\\(.*\\)/'>) 
                                      (DQ ($ VSub_Name '$new')) (SQ <'\\1/g'>)
                                    }
                                  )
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [1613 1639]
                      )
                    }
                  spids: [1612]
                )
              ]
              spids: [1612]
            )
            (Sentence
              child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [1597]
        )
      spids: [1592 1596]
    )
    (FuncDef
      name: handle_special
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:line)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1661]
                )
              ]
              spids: [1661]
            )
            (C {(replace_str)} {($ VSub_Name '$line')} 
              {(DQ ('(') (Lit_Other '\\') ('*') ($ VSub_Name '$__ifp__') ('->if_input)'))} {(DQ (if_input))}
            )
            (C {(replace_str)} {($ VSub_Name '$line')} {(DQ (if_setinit))} {(DQ (if_setinitfn))})
            (C {(replace_str)} {($ VSub_Name '$line')} {(DQ (if_setioctl))} {(DQ (if_setioctlfn))})
            (C {(replace_str)} {($ VSub_Name '$line')} {(DQ (if_getdrv_flags))} {(DQ (if_getdrvflags))})
            (C {(replace_str)} {($ VSub_Name '$line')} {(DQ (if_setdrv_flagsbit))} 
              {(DQ (if_setdrvflagbits))}
            )
            (C {(replace_str)} {($ VSub_Name '$line')} {(DQ (if_setstart))} {(DQ (if_setstartfn))})
            (C {(replace_str)} {($ VSub_Name '$line')} {(DQ (if_sethwassistbit))} 
              {(DQ (if_sethwassistbits))}
            )
            (C {(replace_str)} {($ VSub_Name '$line')} {(DQ (ifmedia_init))} {(DQ (ifmedia_init_drv))})
            (C {(replace_str)} {($ VSub_Name '$line')} 
              {(DQ ('IFQ_DRV_IS_EMPTY(&') ($ VSub_Name '$__ifp__') ('->if_snd)'))} {(DQ ('if_sendq_empty(') ($ VSub_Name '$__ifp__') (')'))}
            )
            (C {(replace_str)} {($ VSub_Name '$line')} 
              {(DQ ('IFQ_DRV_PREPEND(&') ($ VSub_Name '$__ifp__') ('->if_snd'))} {(DQ ('if_sendq_prepend(') ($ VSub_Name '$__ifp__'))}
            )
            (C {(replace_str)} {($ VSub_Name '$line')} {(DQ ('IFQ_SET_READY(&ifp->if_snd)'))} 
              {(DQ ('if_setsendqready(') ($ VSub_Name '$__ifp__') (')'))}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:line)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} {($ VSub_Name '$line')})
                                  (C {(sed)} {(-e)} 
                                    {(SQ <'s/IFQ_SET_MAXLEN(&'>) ($ VSub_Name '$__ifp__') 
                                      (SQ <'->if_snd, \\(.*\\))/if_setsendqlen('>) ($ VSub_Name '$__ifp__') (SQ <', \\1)/g'>)
                                    }
                                  )
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [1822 1844]
                      )
                    }
                  spids: [1821]
                )
              ]
              spids: [1821]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:line)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} {($ VSub_Name '$line')})
                                  (C {(sed)} {(-e)} 
                                    {(SQ <'s/IFQ_DRV_DEQUEUE(&'>) ($ VSub_Name '$__ifp__') 
                                      (SQ <'->if_snd, \\(.*\\))/\\1 = if_dequeue('>) ($ VSub_Name '$__ifp__') (SQ <')/g'>)
                                    }
                                  )
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [1848 1870]
                      )
                    }
                  spids: [1847]
                )
              ]
              spids: [1847]
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
          ]
          spids: [1658]
        )
      spids: [1653 1657]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(Lit_Other '[')} {(-e)} {($ VSub_Name '$file') (.tmp)} {(Lit_Other ']')})]
          action: [(C {(rm)} {($ VSub_Name '$file') (.tmp)})]
          spids: [16777215 1891]
        )
      ]
      spids: [16777215 1899]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(EmptyPart)} spids:[1901])]
      spids: [1901]
    )
    (C {(echo)} {(-n)} {(DQ ('Conversion for ') ($ VSub_Name '$file') (' started, please wait: '))})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:FAIL_PAT)
          op: Equal
          rhs: {(DQ ('XXX - DRVAPI'))}
          spids: [1913]
        )
      ]
      spids: [1913]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:count) op:Equal rhs:{(0)} spids:[1918])]
      spids: [1918]
    )
    (Pipeline
      children: [
        (C {(cat)} {($ VSub_Number '$1')})
        (While
          cond: [(C {(read)} {(-r)} {(line)})]
          body: 
            (DoGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:count)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(expr)} {($ VSub_Name '$count')} {(Lit_Other '+')} {(1)})
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [1938 1946]
                          )
                        }
                      spids: [1937]
                    )
                  ]
                  spids: [1937]
                )
                (C {(rotateCursor)})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:pat)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(echo)} {($ VSub_Name '$line')})
                                      (C {(grep)} {(DQ ($ VSub_Name '$__ifp__') ('->'))})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [1952 1965]
                          )
                        }
                      spids: [1951]
                    )
                  ]
                  spids: [1951]
                )
                (While
                  cond: [
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$pat'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} 
                      {(Lit_Other ']')}
                    )
                  ]
                  body: 
                    (DoGroup
                      children: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:pat)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [
                                              (C {(echo)} {($ VSub_Name '$line')})
                                              (C {(grep)} {(DQ ($ VSub_Name '$__ifp__') ('->'))})
                                            ]
                                            negated: F
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [1987 2000]
                                  )
                                }
                              spids: [1986]
                            )
                          ]
                          spids: [1986]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} 
                                  {
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (Pipeline
                                              children: [
                                                (C {(echo)} {($ VSub_Name '$pat')})
                                                (C {(grep)} {(DQ ($ VSub_Name '$FAIL_PAT'))})
                                              ]
                                              negated: F
                                            )
                                          ]
                                        )
                                      left_token: <Left_Backtick '`'>
                                      spids: [2011 2023]
                                    )
                                  } {(Lit_Other ']')}
                                )
                              ]
                              action: [
                                (Sentence
                                  child: (ControlFlow token:<ControlFlow_Break break>)
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              spids: [16777215 2028]
                            )
                          ]
                          spids: [16777215 2035]
                        )
                        (C {(handle_set)} {($ VSub_Name '$line')})
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {($ VSub_QMark '$?')} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(0)} {(Lit_Other ']')}
                                )
                              ]
                              action: [(C {(handle_inc)} {($ VSub_Name '$line')})]
                              spids: [16777215 2059]
                            )
                          ]
                          spids: [16777215 2068]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {($ VSub_QMark '$?')} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(0)} {(Lit_Other ']')}
                                )
                              ]
                              action: [(C {(handle_add)} {($ VSub_Name '$line')})]
                              spids: [16777215 2086]
                            )
                          ]
                          spids: [16777215 2094]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {($ VSub_QMark '$?')} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(0)} {(Lit_Other ']')}
                                )
                              ]
                              action: [(C {(handle_or)} {($ VSub_Name '$line')})]
                              spids: [16777215 2112]
                            )
                          ]
                          spids: [16777215 2120]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {($ VSub_QMark '$?')} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(0)} {(Lit_Other ']')}
                                )
                              ]
                              action: [(C {(handle_and)} {($ VSub_Name '$line')})]
                              spids: [16777215 2138]
                            )
                          ]
                          spids: [16777215 2146]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {($ VSub_QMark '$?')} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(0)} {(Lit_Other ']')}
                                )
                              ]
                              action: [(C {(handle_toggle)} {($ VSub_Name '$line')})]
                              spids: [16777215 2164]
                            )
                          ]
                          spids: [16777215 2172]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {($ VSub_QMark '$?')} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(0)} {(Lit_Other ']')}
                                )
                              ]
                              action: [(C {(handle_misc)} {($ VSub_Name '$line')})]
                              spids: [16777215 2190]
                            )
                          ]
                          spids: [16777215 2198]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {($ VSub_QMark '$?')} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(0)} {(Lit_Other ']')}
                                )
                              ]
                              action: [(C {(handle_special)} {($ VSub_Name '$line')})]
                              spids: [16777215 2217]
                            )
                          ]
                          spids: [16777215 2225]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} 
                                  {
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (Pipeline
                                              children: [
                                                (C {(echo)} {($ VSub_Name '$line')})
                                                (C {(grep)} {(DQ ($ VSub_Name '$__ifp__') ('->'))})
                                              ]
                                              negated: F
                                            )
                                          ]
                                        )
                                      left_token: <Left_Backtick '`'>
                                      spids: [2238 2251]
                                    )
                                  } {(Lit_Other ']')}
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:line)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(echo)} {($ VSub_Name '$line')})
                                                      (C {(sed)} {(-e)} 
                                                        {(SQ <'s:$: \\/* '>) (${ VSub_Name FAIL_PAT) 
                                                          (SQ <' *\\/:g'>)
                                                        }
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [2260 2280]
                                          )
                                        }
                                      spids: [2259]
                                    )
                                  ]
                                  spids: [2259]
                                )
                              ]
                              spids: [16777215 2256]
                            )
                          ]
                          spids: [16777215 2283]
                        )
                      ]
                      spids: [1983 2285]
                    )
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:line)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(echo)} {(DQ ($ VSub_Name '$line'))})
                                      (C {(sed)} {(-e)} 
                                        {(SQ <'s:VLAN_CAPABILITIES('>) ($ VSub_Name '$__ifp__') 
                                          (SQ <'):if_vlancap('>) ($ VSub_Name '$__ifp__') (SQ <'):g'>)
                                        }
                                      )
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [2289 2313]
                          )
                        }
                      spids: [2288]
                    )
                  ]
                  spids: [2288]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} 
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (Pipeline
                                      children: [
                                        (C {(echo)} {($ VSub_Name '$line')})
                                        (C {(grep)} {(DQ ('struct ifnet'))})
                                      ]
                                      negated: F
                                    )
                                  ]
                                )
                              left_token: <Left_Backtick '`'>
                              spids: [2328 2340]
                            )
                          } {(Lit_Other ']')}
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:line)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [
                                              (C {(echo)} {($ VSub_Name '$line')})
                                              (C {(sed)} {(-e)} 
                                                {(SQ <'s/struct ifnet[ \\t]*\\*/if_t /g'>)}
                                              )
                                            ]
                                            negated: F
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [2349 2363]
                                  )
                                }
                              spids: [2348]
                            )
                          ]
                          spids: [2348]
                        )
                      ]
                      spids: [16777215 2345]
                    )
                  ]
                  spids: [16777215 2366]
                )
                (SimpleCommand
                  words: [{(echo)} {(DQ ($ VSub_Name '$line'))}]
                  redirects: [
                    (Redir
                      op_id: Redir_DGreat
                      fd: 16777215
                      arg_word: {($ VSub_Name '$file') (.tmp)}
                      spids: [2375]
                    )
                  ]
                )
              ]
              spids: [1935 2380]
            )
        )
      ]
      negated: F
    )
    (C {(echo)} {(DQ )})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:count)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {(grep)} {($ VSub_Name '$FAIL_PAT')} {($ VSub_Name '$file') (.tmp)})
                          (C {(wc)} {(-l)})
                        ]
                        negated: F
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [2388 2401]
              )
            }
          spids: [2387]
        )
      ]
      spids: [2387]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(Lit_Other '[')} {($ VSub_Name '$count')} {(-gt)} {(0)} {(Lit_Other ']')})]
          action: [
            (C {(echo)} {(DQ ($ VSub_Name '$count') (' lines could not be converted to DRVAPI'))})
            (C {(echo)} {(DQ ('Look for /* ') ($ VSub_Name '$FAIL_PAT') (' */ in the converted file'))})
          ]
          spids: [16777215 2415]
        )
      ]
      spids: [16777215 2434]
    )
    (C {(echo)} 
      {
        (DQ ('original ') ($ VSub_Name '$file') ('  has been moved to ') ($ VSub_Name '$file') (.orig))
      }
    )
    (C {(mv)} {($ VSub_Name '$file')} {($ VSub_Name '$file') (.orig)})
    (C {(mv)} {($ VSub_Name '$file') (.tmp)} {($ VSub_Name '$file')})
  ]
)