(CommandList
  children: [
    (C {(set)} {(-e)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CURDIR)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(pwd)})])
                left_token: <Left_CommandSub '$('>
                spids: [85 87]
              )
            }
          spids: [84]
        )
      ]
      spids: [84]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ECHO)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name ECHO>
                suffix_op: (StringUnary op_id:VTest_ColonEquals arg_word:{(echo)})
                spids: [90 94]
              )
            }
          spids: [89]
        )
      ]
      spids: [89]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:tmpfile)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(mktemp)} {(osreldate.XXXXXXXX)})])
                left_token: <Left_CommandSub '$('>
                spids: [98 102]
              )
            }
          spids: [97]
        )
      ]
      spids: [97]
    )
    (C {(trap)} {(DQ ('rm -f ') ($ VSub_Name '$tmpfile'))} {(EXIT)})
    (C {(${ VSub_Name ECHO)} {(creating)} {(osreldate.h)} {(from)} {(newvers.sh)})
    (C {(set)} {(Lit_Other '+') (e)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:VARS_ONLY) op:Equal rhs:{(1)} spids:[132])]
      spids: [132]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(.)} 
          {
            (DQ 
              (BracedVarSub
                token: <VSub_Name NEWVERS_SH>
                suffix_op: 
                  (StringUnary
                    op_id: VTest_ColonEquals
                    arg_word: 
                      {($ VSub_Name '$CURDIR') (Lit_Slash /) (..) (Lit_Slash /) (sys) (Lit_Slash /) 
                        (conf) (Lit_Slash /) (newvers.sh)
                      }
                  )
                spids: [138 150]
              )
            )
          }
        )
        (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
      ]
    )
    (C {(set)} {(-e)})
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:16777215 arg_word:{($ VSub_Name '$tmpfile')} spids:[165])
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {
              (DQ ($ VSub_Name '$COPYRIGHT') ('\n') ('#ifdef _KERNEL\n') ('#error ') 
                (Right_DoubleQuote '"') ('<osreldate.h> cannot be used in the kernel, use <sys/param.h>') (Right_DoubleQuote '"') ('\n') 
                ('#else\n') ('#undef __FreeBSD_version\n') ('#define __FreeBSD_version ') ($ VSub_Name '$RELDATE') ('\n') 
                ('#endif\n')
              )
            }
          do_expansion: True
          here_end: EOF
          was_filled: T
          spids: [169]
        )
      ]
    )
    (C {(chmod)} {(644)} {($ VSub_Name '$tmpfile')})
    (C {(mv)} {(-f)} {($ VSub_Name '$tmpfile')} {(osreldate.h)})
  ]
)