(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:Version)
          op: assign_op.Equal
          rhs: {<0.7>}
          spids: [10]
        )
      ]
    )
    (C {<.>} {</etc/DISTRO_SPECS>})
    (C {<.>} {</etc/rc.d/PUPSTATE>})
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} 
                  {
                    (DQ 
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        command_list: (command.CommandList children:[(C {<which>} {<git>})])
                      )
                    )
                  } {<Id.Lit_Equals '='>} {(DQ )} {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<Xdialog>} {<--title>} {(DQ <Error>)} {<--msgbox>} 
              {(DQ <'Please install the devx sfs or just git from the repo.'>)} {<0>} {<0>}
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [26 46]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:WDIR)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                command_list: (command.CommandList children:[(C {<pwd>})])
              )
            }
          spids: [76]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} 
                  {($ Id.VSub_DollarName '$WDIR') </woof-CE>} {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:SCRIPT_PATH)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_Backtick '`'>
                          command_list: 
                            (command.CommandList
                              children: [(C {<realpath>} {($ Id.VSub_Number '$0')})]
                            )
                        )
                      )
                    }
                  spids: [105]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {<Id.Lit_LBracket '['>} 
                          {
                            (DQ 
                              (braced_var_sub
                                token: <Id.VSub_Name SCRIPT_PATH>
                                suffix_op: 
                                  (suffix_op.Unary
                                    op_id: Id.VOp1_Percent
                                    arg_word: 
                                      {<Id.Lit_Slash /> <woof-CE> <Id.Lit_Slash /> <ztools> 
                                        <Id.Lit_Slash /> <patch-generator.sh>
                                      }
                                  )
                              )
                            )
                          } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$SCRIPT_PATH'))} {<-a>} 
                          {(DQ ($ Id.VSub_Number '$1'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(SQ )} {<Id.Lit_RBracket ']'>}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:WDIR)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (braced_var_sub
                                  token: <Id.VSub_Name SCRIPT_PATH>
                                  suffix_op: 
                                    (suffix_op.Unary
                                      op_id: Id.VOp1_Percent
                                      arg_word: 
                                        {<Id.Lit_Slash /> <woof-CE> <Id.Lit_Slash /> <ztools> 
                                          <Id.Lit_Slash /> <patch-generator.sh>
                                        }
                                    )
                                )
                              )
                            }
                          spids: [159]
                        )
                      ]
                    )
                    (C {<cd>} {($ Id.VSub_DollarName '$WDIR')})
                  ]
                  spids: [117 156]
                )
              ]
              else_action: [
                (C {<Xdialog>} {<--title>} {(DQ <Error>)} {<--msgbox>} 
                  {(DQ <'This script should be in the same folder as the woof-CE git folder'>)} {<0>} {<0>}
                )
                (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
              ]
            )
          ]
          spids: [84 98]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:GIT_BRANCH)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                command_list: 
                  (command.CommandList
                    children: [
                      (C {<cut>} {<-f3>} {<-d> (SQ </>)} 
                        {($ Id.VSub_DollarName '$WDIR') </woof-CE/.git/HEAD>}
                      )
                    ]
                  )
              )
            }
          spids: [212]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_DollarName '$GIT_BRANCH'))} 
                  {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<Xdialog>} {<--title>} {(DQ <Error>)} {<--msgbox>} 
              {(DQ <'The woof-CE folder is not a git repo. Please clone the woof-CE git'>)} {<0>} {<0>}
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [227 240]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$GIT_BRANCH'))} 
                  {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <testing>)} {<-a>} {(DQ ($ Id.VSub_DollarName '$GIT_BRANCH'))} 
                  {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <rationalise>)} {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<Xdialog>} {<--title>} {(DQ <Error>)} {<--msgbox>} 
              {
                (DQ 
                  <
"Your woof-CE repo is not in the testing or rationalise branch. Please run 'git checkout testing' or 'git checkout rationalise'"
                  >
                )
              } {<0>} {<0>}
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [270 301]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$GIT_BRANCH'))} 
                  {<Id.Lit_Equals '='>} {(DQ <testing>)} {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:GIT_HEAD)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        command_list: 
                          (command.CommandList
                            children: [
                              (C {<cut>} {<-c>} {<1-6>} 
                                {($ Id.VSub_DollarName '$WDIR') </woof-CE/.git/refs/heads/testing>}
                              )
                            ]
                          )
                      )
                    }
                  spids: [351]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:REMOTE_HEAD)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        command_list: 
                          (command.CommandList
                            children: [
                              (command.Pipeline
                                children: [
                                  (C {<git>} {<ls-remote>} 
                                    {<https> <Id.Lit_Other ':'> 
                                      <//github.com/puppylinux-woof-CE/woof-CE.git>
                                    }
                                  )
                                  (C {<grep>} {(SQ <refs/heads/testing>)})
                                  (C {<cut>} {<-c>} {<1-6>})
                                ]
                                negated: F
                              )
                            ]
                          )
                      )
                    }
                  spids: [364]
                )
              ]
            )
          ]
          spids: [331 348]
        )
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$GIT_BRANCH'))} 
                  {<Id.Lit_Equals '='>} {(DQ <rationalise>)} {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:GIT_HEAD)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        command_list: 
                          (command.CommandList
                            children: [
                              (C {<cut>} {<-c>} {<1-6>} 
                                {($ Id.VSub_DollarName '$WDIR') 
                                  </woof-CE/.git/refs/heads/rationalise>
                                }
                              )
                            ]
                          )
                      )
                    }
                  spids: [412]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:REMOTE_HEAD)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        command_list: 
                          (command.CommandList
                            children: [
                              (command.Pipeline
                                children: [
                                  (C {<git>} {<ls-remote>} 
                                    {<https> <Id.Lit_Other ':'> 
                                      <//github.com/puppylinux-woof-CE/woof-CE.git>
                                    }
                                  )
                                  (C {<grep>} {(SQ <refs/heads/rationalise>)})
                                  (C {<cut>} {<-c>} {<1-6>})
                                ]
                                negated: F
                              )
                            ]
                          )
                      )
                    }
                  spids: [425]
                )
              ]
            )
          ]
          spids: [392 409]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$REMOTE_HEAD'))} 
                  {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$GIT_HEAD'))} {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<Xdialog>} {<--title>} {(DQ <Error>)} {<--msgbox>} 
              {(DQ <"Your local repo is not in sysnc with the remote. Please run 'git pull --all'">)} {<0>} {<0>}
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [455 473]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} 
                  {(DQ <sfs>)} {<-a>} {(DQ ($ Id.VSub_DollarName '$PUPMODE'))} {<Id.Lit_Equals '='>} {(DQ <2>)} {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<Xdialog>} {<--title>} {(DQ <Error>)} {<--msgbox>} 
              {(DQ <"There is no pup.sfs in full installs. Please run without the 'sfs' argument">)} {<0>} {<0>}
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [504 533]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$BUILD_FROM_WOOF'))} 
          {<Id.Lit_RBracket ']'>}
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:FROMWOOF)
              op: assign_op.Equal
              rhs: 
                {<_> 
                  (command_sub
                    left_token: <Id.Left_DollarParen '$('>
                    command_list: 
                      (command.CommandList
                        children: [
                          (command.Pipeline
                            children: [
                              (C {<echo>} {($ Id.VSub_DollarName '$BUILD_FROM_WOOF')})
                              (C {<cut>} {<-f>} {<2>} {<-d>} {(SQ <';'>)})
                              (C {<cut>} {<-c>} {<1-6>})
                            ]
                            negated: F
                          )
                        ]
                      )
                  )
                }
              spids: [576]
            )
          ]
        )
      ]
    )
    (command.Case
      to_match: {(DQ ($ Id.VSub_Number '$1'))}
      arms: [
        (case_arm
          pat_list: [{<sfs>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:COMP_DIR)
                  op: assign_op.Equal
                  rhs: {</initrd/pup_ro2>}
                  spids: [618]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:PATCHES)
                  op: assign_op.Equal
                  rhs: 
                    {<woof_> (DQ ($ Id.VSub_DollarName '$GIT_BRANCH')) 
                      (DQ ($ Id.VSub_DollarName '$GIT_HEAD')) <_patches_to_> (DQ ($ Id.VSub_DollarName '$DISTRO_FILE_PREFIX')) <-> 
                      (DQ ($ Id.VSub_DollarName '$DISTRO_VERSION')) <_sfs> (DQ ($ Id.VSub_DollarName '$FROMWOOF'))
                    }
                  spids: [622]
                )
              ]
            )
          ]
          spids: [615 616 644 -1]
        )
        (case_arm
          pat_list: [{(SQ )}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:COMP_DIR)
                  op: assign_op.Equal
                  rhs: (word.Empty)
                  spids: [651]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:PATCHES)
                  op: assign_op.Equal
                  rhs: 
                    {<woof_> (DQ ($ Id.VSub_DollarName '$GIT_BRANCH')) 
                      (DQ ($ Id.VSub_DollarName '$GIT_HEAD')) <_patches_to_> (DQ ($ Id.VSub_DollarName '$DISTRO_FILE_PREFIX')) <-> 
                      (DQ ($ Id.VSub_DollarName '$DISTRO_VERSION')) (DQ ($ Id.VSub_DollarName '$FROMWOOF'))
                    }
                  spids: [654]
                )
              ]
            )
          ]
          spids: [647 649 675 -1]
        )
        (case_arm
          pat_list: [{<Id.Lit_Star '*'>}]
          action: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                          {(DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_RBracket ']'>}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (C {<echo>} {(DQ <'No such file: '> ($ Id.VSub_Number '$1'))})
                    (C {<Xdialog>} {<--title>} {(DQ <Error>)} {<--msgbox>} 
                      {(DQ <'No such file: '> ($ Id.VSub_Number '$1'))} {<0>} {<0>}
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {<1>}
                    )
                  ]
                  spids: [681 696]
                )
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {<Id.Lit_LBracket '['>} 
                          {
                            (DQ 
                              (command_sub
                                left_token: <Id.Left_Backtick '`'>
                                command_list: 
                                  (command.CommandList
                                    children: [
                                      (C {<expr>} {(DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Other ':'>} 
                                        {(SQ <'.*\\(woof-out\\)'>)}
                                      )
                                    ]
                                  )
                              )
                            )
                          } {<Id.Lit_Equals '='>} {(SQ )} {<Id.Lit_RBracket ']'>}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (C {<echo>} {(DQ <'File must exist in woof-out_*'>)})
                    (C {<Xdialog>} {<--title>} {(DQ <Error>)} {<--msgbox>} 
                      {(DQ <'File must exist in woof-out_*'>)} {<0>} {<0>}
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {<1>}
                    )
                  ]
                  spids: [732 766]
                )
              ]
            )
            (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$WDIR') </patches>})
            (C {<cd>} {($ Id.VSub_DollarName '$WDIR') </woof-CE/woof-code>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:WOOFOUT_DIR)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_Backtick '`'>
                          command_list: 
                            (command.CommandList
                              children: [
                                (C {<expr>} {(DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Other ':'>} 
                                  {(SQ <'.*\\(woof-out[^/]*\\)'>)}
                                )
                              ]
                            )
                        )
                      )
                    }
                  spids: [817]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:FILE)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_Backtick '`'>
                          command_list: 
                            (command.CommandList
                              children: [
                                (C {<expr>} {(DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Other ':'>} 
                                  {(SQ <'.*woof-out[^/]*/\\(.*\\)'>)}
                                )
                              ]
                            )
                        )
                      )
                    }
                  spids: [841]
                )
              ]
            )
            (C {<echo>} {(DQ <'Making patch from '> ($ Id.VSub_DollarName '$FILE'))})
            (command.Simple
              words: [
                {<diff>}
                {<-u>}
                {<-N>}
                {($ Id.VSub_DollarName '$FILE')}
                {<../../> ($ Id.VSub_DollarName '$WOOFOUT_DIR') </> ($ Id.VSub_DollarName '$FILE')}
              ]
              redirects: [
                (redir.Redir
                  op: <Id.Redir_Great '>'>
                  fd: -1
                  arg_word: 
                    {($ Id.VSub_DollarName '$WDIR') </patches/> 
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        command_list: 
                          (command.CommandList
                            children: [(C {<basename>} {($ Id.VSub_DollarName '$FILE')})]
                          )
                      ) <.patch>
                    }
                )
              ]
            )
            (C {<cd>} {($ Id.VSub_DollarName '$WDIR')})
            (C {<Xdialog>} {<--title>} {(DQ <Finished>)} {<--msgbox>} 
              {
                (DQ <'Made patch from '> ($ Id.VSub_DollarName '$FILE') <' '> <Id.Lit_Other '\\'> <'n '> 
                  <'It can be found in '> <Id.Lit_Other '\\'> <'n '> ($ Id.VSub_DollarName '$WDIR') </patches/>
                )
              } {<0>} {<0>}
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit>)
          ]
          spids: [678 679 936 -1]
        )
      ]
    )
    (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$WDIR') </> ($ Id.VSub_DollarName '$PATCHES')})
    (C {<rm>} {<-rf>} 
      {($ Id.VSub_DollarName '$WDIR') </> ($ Id.VSub_DollarName '$PATCHES') </> <Id.Lit_Star '*'>}
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:DIRS)
          op: assign_op.Equal
          rhs: {<rootfs-skeleton>}
          spids: [958]
        )
      ]
    )
    (command.ForEach
      iter_name: i
      iter_words: [
        {
          (command_sub
            left_token: <Id.Left_DollarParen '$('>
            command_list: 
              (command.CommandList
                children: [(C {<ls>} {<woof-CE/woof-code/rootfs-packages/>})]
              )
          )
        }
      ]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:DIRS)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ ($ Id.VSub_DollarName '$DIRS') <' rootfs-packages/'> 
                        ($ Id.VSub_DollarName '$i')
                      )
                    }
                  spids: [976]
                )
              ]
            )
          ]
        )
    )
    (command.ForEach
      iter_name: D
      iter_words: [{($ Id.VSub_DollarName '$DIRS')}]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:FOLDER)
                  op: assign_op.Equal
                  rhs: {<woof-CE/woof-code/> ($ Id.VSub_DollarName '$D')}
                  spids: [996]
                )
              ]
            )
            (C {<cd>} {($ Id.VSub_DollarName '$WDIR') </> ($ Id.VSub_DollarName '$FOLDER')})
            (command.ForEach
              iter_name: f
              iter_words: [
                {
                  (command_sub
                    left_token: <Id.Left_DollarParen '$('>
                    command_list: 
                      (command.CommandList
                        children: [(C {<find>} {<./>} {<-type>} {<f>})]
                      )
                  )
                }
              ]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DAmp]
                      children: [
                        (C {<Id.Lit_LBracket '['>} {<-f>} 
                          {($ Id.VSub_DollarName '$COMP_DIR') </> ($ Id.VSub_DollarName '$f')} {<Id.Lit_RBracket ']'>}
                        )
                        (C {<Id.Lit_LBracket '['>} 
                          {
                            (DQ 
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                command_list: 
                                  (command.CommandList
                                    children: [
                                      (C {<diff>} {<-u>} {<-N>} {($ Id.VSub_DollarName '$f')} 
                                        {($ Id.VSub_DollarName '$COMP_DIR') </> 
                                          ($ Id.VSub_DollarName '$f')
                                        }
                                      )
                                    ]
                                  )
                              )
                            )
                          } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ )} {<Id.Lit_RBracket ']'>}
                        )
                        (command.Simple
                          words: [
                            {<diff>}
                            {<-u>}
                            {<-N>}
                            {($ Id.VSub_DollarName '$f')}
                            {($ Id.VSub_DollarName '$COMP_DIR') </> ($ Id.VSub_DollarName '$f')}
                          ]
                          redirects: [
                            (redir.Redir
                              op: <Id.Redir_Great '>'>
                              fd: -1
                              arg_word: 
                                {($ Id.VSub_DollarName '$WDIR') </> ($ Id.VSub_DollarName '$PATCHES') 
                                  </> 
                                  (command_sub
                                    left_token: <Id.Left_DollarParen '$('>
                                    command_list: 
                                      (command.CommandList
                                        children: [(C {<basename>} {($ Id.VSub_DollarName '$f')})]
                                      )
                                  ) <.patch>
                                }
                            )
                          ]
                        )
                      ]
                    )
                  ]
                )
            )
            (C {<cd>} {($ Id.VSub_DollarName '$WDIR') </> ($ Id.VSub_DollarName '$PATCHES')})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:DS)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          command_list: 
                            (command.CommandList
                              children: [
                                (command.Pipeline
                                  children: [
                                    (C {<echo>} {($ Id.VSub_DollarName '$D')})
                                    (C {<sed>} {(SQ <'s/\\//\\\\\\//'>)})
                                  ]
                                  negated: F
                                )
                              ]
                            )
                        )
                      )
                    }
                  spids: [1110]
                )
              ]
            )
            (C {<sed>} {<-i>} 
              {
                (DQ <s/> <Id.Lit_Other '\\'> <-> <Id.Lit_Other '\\'> <-> <Id.Lit_Other '\\'> <-> 
                  <Id.Lit_Other '\\'> <' '> <Id.Lit_Other '\\'> <.> <Id.Lit_Other '\\'> <//> <Id.Lit_Other '\\'> <-> <Id.Lit_Other '\\'> <-> 
                  <Id.Lit_Other '\\'> <-> <Id.Lit_Other '\\'> <' a'> <Id.Lit_Other '\\'> </woof> <Id.Lit_Other '\\'> <-code> <Id.Lit_Other '\\'> 
                  </> ($ Id.VSub_DollarName '$DS') <Id.Lit_Other '\\'> <//>
                )
              } {<Id.Lit_Star '*'>}
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} 
                          {(DQ <sfs>)} {<Id.Lit_RBracket ']'>}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <s/> <Id.Lit_Other '\\'> <'+'> <Id.Lit_Other '\\'> <'+'> <Id.Lit_Other '\\'> 
                          <'+'> <Id.Lit_Other '\\'> <' '> <Id.Lit_Other '\\'> </initrd> <Id.Lit_Other '\\'> </pup_ro2> <Id.Lit_Other '\\'> 
                          </> <Id.Lit_Other '\\'> <.> <Id.Lit_Other '\\'> <//> <Id.Lit_Other '\\'> <'+'> <Id.Lit_Other '\\'> <'+'> 
                          <Id.Lit_Other '\\'> <'+'> <Id.Lit_Other '\\'> <' b'> <Id.Lit_Other '\\'> </woof> <Id.Lit_Other '\\'> <-code> <Id.Lit_Other '\\'> 
                          </> ($ Id.VSub_DollarName '$DS') <Id.Lit_Other '\\'> <//>
                        )
                      } {<Id.Lit_Star '*'>}
                    )
                  ]
                  spids: [1168 1185]
                )
              ]
              else_action: [
                (C {<sed>} {<-i>} 
                  {
                    (DQ <s/> <Id.Lit_Other '\\'> <'+'> <Id.Lit_Other '\\'> <'+'> <Id.Lit_Other '\\'> <'+'> 
                      <Id.Lit_Other '\\'> <' '> <Id.Lit_Other '\\'> </> <Id.Lit_Other '\\'> <.> <Id.Lit_Other '\\'> <//> <Id.Lit_Other '\\'> <'+'> 
                      <Id.Lit_Other '\\'> <'+'> <Id.Lit_Other '\\'> <'+'> <Id.Lit_Other '\\'> <' b'> <Id.Lit_Other '\\'> </woof> <Id.Lit_Other '\\'> 
                      <-code> <Id.Lit_Other '\\'> </> ($ Id.VSub_DollarName '$DS') <Id.Lit_Other '\\'> <//>
                    )
                  } {<Id.Lit_Star '*'>}
                )
              ]
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:INITPATH)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                command_list: 
                  (command.CommandList
                    children: [
                      (command.Pipeline
                        children: [
                          (C {<echo>} {(DQ ($ Id.VSub_DollarName '$PUPSFS'))})
                          (C {<cut>} {<-f>} {<2>} {<-d>} {(SQ </>)})
                          (C {<grep>} {<-v>} {<sfs>})
                        ]
                        negated: F
                      )
                    ]
                  )
              )
            }
          spids: [1286]
        )
      ]
    )
    (C {<mkdir>} {<-p>} {</tmp/initfs>})
    (C {<cd>} {</tmp/initfs>})
    (command.Pipeline
      children: [
        (C {<gunzip>} {<-c>} {</mnt/home/> ($ Id.VSub_DollarName '$INITPATH') </initrd.gz>})
        (C {<cpio>} {<-i>})
      ]
      negated: F
    )
    (C {<cd>} {($ Id.VSub_DollarName '$WDIR') </woof-CE>})
    (command.Simple
      words: [{<diff>} {<-u>} {<initrd-progs/0initrd/init>} {</tmp/initfs/init>}]
      redirects: [
        (redir.Redir
          op: <Id.Redir_Great '>'>
          fd: -1
          arg_word: 
            {($ Id.VSub_DollarName '$WDIR') </> ($ Id.VSub_DollarName '$PATCHES') </init.patch>}
        )
      ]
    )
    (C {<sed>} {<-i>} 
      {
        (DQ <s/> <Id.Lit_Other '\\'> <-> <Id.Lit_Other '\\'> <-> <Id.Lit_Other '\\'> <-> <Id.Lit_Other '\\'> 
          <' /'> <Id.Lit_Other '\\'> <-> <Id.Lit_Other '\\'> <-> <Id.Lit_Other '\\'> <-> <Id.Lit_Other '\\'> <' a'> 
          <Id.Lit_Other '\\'> <//>
        )
      } {($ Id.VSub_DollarName '$WDIR') </> ($ Id.VSub_DollarName '$PATCHES') </init.patch>}
    )
    (C {<sed>} {<-i>} 
      {
        (DQ <s/> <Id.Lit_Other '\\'> <'+'> <Id.Lit_Other '\\'> <'+'> <Id.Lit_Other '\\'> <'+'> 
          <Id.Lit_Other '\\'> <' '> <Id.Lit_Other '\\'> </tmp> <Id.Lit_Other '\\'> </initfs/> <Id.Lit_Other '\\'> <'+'> 
          <Id.Lit_Other '\\'> <'+'> <Id.Lit_Other '\\'> <'+'> <Id.Lit_Other '\\'> <' b'> <Id.Lit_Other '\\'> </initrd> <Id.Lit_Other '\\'> 
          <-progs> <Id.Lit_Other '\\'> </0initrd/>
        )
      } {($ Id.VSub_DollarName '$WDIR') </> ($ Id.VSub_DollarName '$PATCHES') </init.patch>}
    )
    (C {<rm>} {<-rf>} {</tmp/initfs>})
    (C {<cd>} {($ Id.VSub_DollarName '$WDIR') </> ($ Id.VSub_DollarName '$PATCHES')})
    (C {<mkdir>} {<binary_files>} {<SVGs>} {<defaults>} {<docs>} {<running>} {<desktop>})
    (command.ForEach
      iter_name: f
      iter_words: [
        {
          (command_sub
            left_token: <Id.Left_DollarParen '$('>
            command_list: 
              (command.CommandList
                children: [
                  (command.Pipeline
                    children: [
                      (C {<grep>} {<Id.Lit_Other '^'> <Binary>} {<Id.Lit_Star '*'>})
                      (C {<cut>} {<-f>} {<1>} {<-d> (SQ <':'>)})
                    ]
                    negated: F
                  )
                ]
              )
          )
        }
      ]
      do_arg_iter: F
      body: (command.DoGroup children:[(C {<mv>} {($ Id.VSub_DollarName '$f')} {<binary_files/>})])
    )
    (C {<mv>} {<Id.Lit_Star '*'> <.svg.patch>} {<SVGs/>})
    (C {<mv>} {<default> <Id.Lit_Star '*'> <.patch>} {<defaults/>})
    (C {<mv>} {<Id.Lit_Star '*'> <.rules.patch>} {<running/>})
    (C {<mv>} 
      (word.BracedTree
        parts: [
          (word_part.BracedTuple
            words: [
              {<PUPSTATE>}
              {<BOOTCONFIG>}
              {<clock>}
              {<current_month>}
              {<issue>}
              {<hosts>}
              {<hostname>}
              {<ld.so.conf>}
              {<resolv.conf>}
              {<profile>}
            ]
          )
          <.patch>
        ]
      ) {<running/>}
    )
    (C {<mv>} 
      (word.BracedTree
        parts: [
          <Id.Lit_Star '*'>
          <.>
          (word_part.BracedTuple words:[{<htm>} {<html>} {<css>} {<txt>}])
          <.patch>
        ]
      ) {<docs/>}
    )
    (C {<mv>} {<Id.Lit_Star '*'> <.html.> <Id.Lit_Star '*'> <.patch>} {<docs/>})
    (C {<mv>} {<Id.Lit_Star '*'> <.desktop.patch>} {<desktop/>})
    (C {<rm>} {<-f>} {<messages.patch>})
    (C {<cd>} {($ Id.VSub_DollarName '$WDIR')})
    (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>})
    (C {<rm>} {<-f>} {($ Id.VSub_DollarName '$WDIR') </> ($ Id.VSub_DollarName '$PATCHES') <.tar.gz>})
    (C {<tar>} {<cvzf>} {($ Id.VSub_DollarName '$PATCHES') <.tar.gz>} 
      {($ Id.VSub_DollarName '$PATCHES') </>}
    )
    (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>})
  ]
)