(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:<Redir_Great '>'> fd:16777215 arg_word:{($ VSub_Name '$tmpfile')})
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 187
          stdin_parts: [
            ($ 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')
          ]
        )
      ]
    )
    (C {(chmod)} {(644)} {($ VSub_Name '$tmpfile')})
    (C {(mv)} {(-f)} {($ VSub_Name '$tmpfile')} {(osreldate.h)})
  ]
)