(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CONFFILE)
          op: Equal
          rhs: {(TildeSubPart token:<Lit_TildeLike '~'>) (/.appprc)}
          spids: [20]
        )
      ]
      spids: [20]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:SEP)
          op: Equal
          rhs: {(DQ ("-=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-"))}
          spids: [25]
        )
      ]
      spids: [25]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-e)} {(DQ ($ VSub_Name '$CONFFILE'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:LAST_DIR)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(grep)} {(-m)} {(1)} {(DQ ('^LAST_DIR='))} 
                                    {(DQ (${ VSub_Name CONFFILE))}
                                  )
                                  (C {(sed)} {(-e)} {(SQ <'s/^LAST_DIR=//'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [48 72]
                      )
                    }
                  spids: [47]
                )
              ]
              spids: [47]
            )
            (C {(cd)} {(DQ (${ VSub_Name LAST_DIR))})
          ]
          spids: [16777215 44]
        )
      ]
      else_action: [
        (SimpleCommand
          words: [{(cd)}]
          redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})]
        )
      ]
      spids: [83 92]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:PATCH)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(zenity)} {(--file-selection)})])
                left_token: <Left_CommandSub '$('>
                spids: [96 100]
              )
            }
          spids: [95]
        )
      ]
      spids: [95]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_QMark '$?'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (0))} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})]
          spids: [16777215 122]
        )
      ]
      spids: [16777215 133]
    )
    (SimpleCommand
      words: [{(cd)} {(-)}]
      redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:SUBJECT)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (C {(sed)} {(-n)} {(-e)} {(SQ <'/^Subject: /p'>)} {(DQ (${ VSub_Name PATCH))})
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [146 162]
              )
            }
          spids: [145]
        )
      ]
      spids: [145]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:HEADERS)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (C {(sed)} {(-e)} {(SQ <'/^'>) (DQ (${ VSub_Name SEP)) (SQ <'$/,$d'>)} 
                        {($ VSub_Number '$1')}
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [165 183]
              )
            }
          spids: [164]
        )
      ]
      spids: [164]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:BODY)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (C {(sed)} {(-e)} {(DQ ('1,/') (${ VSub_Name SEP) (/d))} {($ VSub_Number '$1')})
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [186 200]
              )
            }
          spids: [185]
        )
      ]
      spids: [185]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CMT_MSG)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (C {(sed)} {(-e)} {(SQ <'1,/^$/d'>)} {(-e)} {(SQ <'/^---$/,$d'>)} 
                        {(DQ (${ VSub_Name PATCH))}
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [203 223]
              )
            }
          spids: [202]
        )
      ]
      spids: [202]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DIFF)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [(C {(sed)} {(-e)} {(SQ <'1,/^---$/d'>)} {(DQ (${ VSub_Name PATCH))})]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [226 240]
              )
            }
          spids: [225]
        )
      ]
      spids: [225]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CCS)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {(echo)} {(-e)} 
                            {
                              (DQ ($ VSub_Name '$CMT_MSG') (Lit_Other '\\') (n) ($ VSub_Name '$HEADERS'))
                            }
                          )
                          (C {(sed)} {(-n)} {(-e)} {(SQ <'s/^Cc: \\(.*\\)$/\\1,/gp'>)} {(-e)} 
                            {(SQ <'s/^Signed-off-by: \\(.*\\)/\\1,/gp'>)}
                          )
                        ]
                        negated: F
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [244 275]
              )
            }
          spids: [243]
        )
      ]
      spids: [243]
    )
    (SimpleCommand
      words: [{(echo)} {(DQ ($ VSub_Name '$SUBJECT'))}]
      redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{($ VSub_Number '$1')})]
    )
    (SimpleCommand
      words: [{(echo)} {(DQ ('Cc: ') ($ VSub_Name '$CCS'))}]
      redirects: [(Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{($ VSub_Number '$1')})]
    )
    (Pipeline
      children: [
        (C {(echo)} {(DQ ($ VSub_Name '$HEADERS'))})
        (SimpleCommand
          words: [{(sed)} {(-e)} {(SQ <'/^Subject: /d'>)} {(-e)} {(SQ <'/^Cc: /d'>)}]
          redirects: [(Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{($ VSub_Number '$1')})]
        )
      ]
      negated: F
    )
    (SimpleCommand
      words: [{(echo)} {(DQ ($ VSub_Name '$SEP'))}]
      redirects: [(Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{($ VSub_Number '$1')})]
    )
    (SimpleCommand
      words: [{(echo)} {(DQ ($ VSub_Name '$CMT_MSG'))}]
      redirects: [(Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{($ VSub_Number '$1')})]
    )
    (SimpleCommand
      words: [{(echo)} {(DQ (---))}]
      redirects: [(Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{($ VSub_Number '$1')})]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ (x) (${ VSub_Name BODY) (x))} {(KW_Bang '!') (Lit_Other '=')} 
                  {(DQ (xx))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (SimpleCommand
              words: [{(echo)}]
              redirects: [(Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{($ VSub_Number '$1')})]
            )
            (SimpleCommand
              words: [{(echo)} {(DQ ($ VSub_Name '$BODY'))}]
              redirects: [(Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{($ VSub_Number '$1')})]
            )
            (SimpleCommand
              words: [{(echo)}]
              redirects: [(Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{($ VSub_Number '$1')})]
            )
          ]
          spids: [16777215 379]
        )
      ]
      spids: [16777215 406]
    )
    (SimpleCommand
      words: [{(echo)} {(DQ ($ VSub_Name '$DIFF'))}]
      redirects: [(Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{($ VSub_Number '$1')})]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LAST_DIR)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(dirname)} {(DQ (${ VSub_Name PATCH))})])
                left_token: <Left_CommandSub '$('>
                spids: [420 428]
              )
            }
          spids: [419]
        )
      ]
      spids: [419]
    )
    (SimpleCommand
      words: [{(grep)} {(-v)} {(DQ ('^LAST_DIR='))} {(DQ (${ VSub_Name CONFFILE))}]
      redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(DQ (${ VSub_Name CONFFILE) (_))})]
    )
    (SimpleCommand
      words: [{(echo)} {(DQ ('LAST_DIR=') (${ VSub_Name LAST_DIR))}]
      redirects: [(Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(DQ (${ VSub_Name CONFFILE) (_))})]
    )
    (C {(mv)} {(DQ (${ VSub_Name CONFFILE) (_))} {(DQ (${ VSub_Name CONFFILE))})
  ]
)