(command.CommandList
  children: [
    (command.Simple blame_tok:<set> more_env:[] words:[{<set>} {<-e>}] redirects:[] do_fork:T)
    (command.ShAssignment
      left: <Id.Lit_VarLike 'CURDIR='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'CURDIR='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CURDIR='> name:CURDIR)
          op: assign_op.Equal
          rhs: 
            {
              (CommandSub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (command.Simple
                    blame_tok: <pwd>
                    more_env: []
                    words: [{<pwd>}]
                    redirects: []
                    do_fork: T
                  )
                right: <Id.Eof_RParen _>
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'ECHO='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'ECHO='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ECHO='> name:ECHO)
          op: assign_op.Equal
          rhs: 
            {
              (BracedVarSub
                left: <Id.Left_DollarBrace '${'>
                token: <Id.VSub_Name ECHO>
                var_name: ECHO
                suffix_op: (suffix_op.Unary op:<Id.VTest_ColonEquals _> arg_word:{<echo>})
                right: <Id.Right_DollarBrace '}'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'tmpfile='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'tmpfile='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tmpfile='> name:tmpfile)
          op: assign_op.Equal
          rhs: 
            {
              (CommandSub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (command.Simple
                    blame_tok: <mktemp>
                    more_env: []
                    words: [{<mktemp>} {<osreldate.XXXXXXXX>}]
                    redirects: []
                    do_fork: T
                  )
                right: <Id.Eof_RParen _>
              )
            }
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <trap>
      more_env: []
      words: [{<trap>} {(DQ <'rm -f '> ($ Id.VSub_DollarName tmpfile))} {<EXIT>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <Id.Left_DollarBrace '${'>
      more_env: []
      words: [{(${ Id.VSub_Name ECHO)} {<creating>} {<osreldate.h>} {<from>} {<newvers.sh>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <set>
      more_env: []
      words: [{<set>} {<Id.Lit_Other '+'> <e>}]
      redirects: []
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'VARS_ONLY='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'VARS_ONLY='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'VARS_ONLY='> name:VARS_ONLY)
          op: assign_op.Equal
          rhs: {<1>}
        )
      ]
      redirects: []
    )
    (command.AndOr
      children: [
        (command.Simple
          blame_tok: <.>
          more_env: []
          words: [
            {<.>}
            {
              (DQ 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name NEWVERS_SH>
                  var_name: NEWVERS_SH
                  suffix_op: 
                    (suffix_op.Unary
                      op: <Id.VTest_ColonEquals _>
                      arg_word: 
                        {($ Id.VSub_DollarName CURDIR) <Id.Lit_Slash '/'> <..> <Id.Lit_Slash '/'> <sys> 
                          <Id.Lit_Slash '/'> <conf> <Id.Lit_Slash '/'> <newvers.sh>
                        }
                    )
                  right: <Id.Right_DollarBrace '}'>
                )
              )
            }
          ]
          redirects: []
          do_fork: T
        )
        (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>})
      ]
      ops: [<Id.Op_DPipe _>]
    )
    (command.Simple blame_tok:<set> more_env:[] words:[{<set>} {<-e>}] redirects:[] do_fork:T)
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>}]
      redirects: [
        (Redir
          op: <Id.Redir_Great '>'>
          loc: (redir_loc.Fd fd:1)
          arg: {($ Id.VSub_DollarName tmpfile)}
        )
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                ($ Id.VSub_DollarName COPYRIGHT)
                <'\n'>
                <'#ifdef _KERNEL\n'>
                <'#error '>
                <Id.Right_DoubleQuote '"'>
                <'<osreldate.h> cannot be used in the kernel, use <sys/param.h>'>
                <Id.Right_DoubleQuote '"'>
                <'\n'>
                <'#else\n'>
                <'#undef __FreeBSD_version\n'>
                <'#define __FreeBSD_version '>
                ($ Id.VSub_DollarName RELDATE)
                <'\n'>
                <'#endif\n'>
              ]
            )
        )
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <chmod>
      more_env: []
      words: [{<chmod>} {<644>} {($ Id.VSub_DollarName tmpfile)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <mv>
      more_env: []
      words: [{<mv>} {<-f>} {($ Id.VSub_DollarName tmpfile)} {<osreldate.h>}]
      redirects: []
      do_fork: T
    )
  ]
)