(command.CommandList
  children: [
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:Version spids:[10])
          op: Equal
          rhs: {(0.7)}
          spids: [10]
        )
      ]
      spids: [10]
    )
    (C {(.)} {(/etc/DISTRO_SPECS)})
    (C {(.)} {(/etc/rc.d/PUPSTATE)})
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Lit_Other '[')} 
                  {
                    (DQ 
                      (word_part.CommandSubPart
                        command_list: (command.CommandList children:[(C {(which)} {(git)})])
                        left_token: <Left_CommandSub '$('>
                        spids: [31 35]
                      )
                    )
                  } {(Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                )
              terminator: <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:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 46]
        )
      ]
      spids: [16777215 74]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:WDIR spids:[76])
          op: Equal
          rhs: 
            {
              (word_part.CommandSubPart
                command_list: (command.CommandList children:[(C {(pwd)})])
                left_token: <Left_CommandSub '$('>
                spids: [77 79]
              )
            }
          spids: [76]
        )
      ]
      spids: [76]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {($ VSub_DollarName '$WDIR') (/woof-CE)} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:SCRIPT_PATH spids:[105])
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (word_part.CommandSubPart
                          command_list: 
                            (command.CommandList
                              children: [(C {(realpath)} {($ VSub_Number '$0')})]
                            )
                          left_token: <Left_Backtick '`'>
                          spids: [107 111]
                        )
                      )
                    }
                  spids: [105]
                )
              ]
              spids: [105]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} 
                          {
                            (DQ 
                              (word_part.BracedVarSub
                                token: <VSub_Name SCRIPT_PATH>
                                suffix_op: 
                                  (suffix_op.StringUnary
                                    op_id: VOp1_Percent
                                    arg_word: 
                                      {(Lit_Slash /) (woof-CE) (Lit_Slash /) (ztools) (Lit_Slash /) 
                                        (patch-generator.sh)
                                      }
                                  )
                                spids: [120 129]
                              )
                            )
                          } {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_DollarName '$SCRIPT_PATH'))} {(-a)} 
                          {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} {(SQ )} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:WDIR spids:[157])
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (word_part.BracedVarSub
                                  token: <VSub_Name SCRIPT_PATH>
                                  suffix_op: 
                                    (suffix_op.StringUnary
                                      op_id: VOp1_Percent
                                      arg_word: 
                                        {(Lit_Slash /) (woof-CE) (Lit_Slash /) (ztools) (Lit_Slash /) 
                                          (patch-generator.sh)
                                        }
                                    )
                                  spids: [159 168]
                                )
                              )
                            }
                          spids: [157]
                        )
                      ]
                      spids: [157]
                    )
                    (C {(cd)} {($ VSub_DollarName '$WDIR')})
                  ]
                  spids: [16777215 154]
                )
              ]
              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:<ControlFlow_Exit exit> arg_word:{(1)})
              ]
              spids: [177 206]
            )
          ]
          spids: [16777215 98]
        )
      ]
      spids: [16777215 208]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:GIT_BRANCH spids:[210])
          op: Equal
          rhs: 
            {
              (word_part.CommandSubPart
                command_list: 
                  (command.CommandList
                    children: [
                      (C {(cut)} {(-f3)} {(-d) (SQ </>)} 
                        {($ VSub_DollarName '$WDIR') (/woof-CE/.git/HEAD)}
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [211 223]
              )
            }
          spids: [210]
        )
      ]
      spids: [210]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Lit_Other '[')} {(KW_Bang '!')} {(DQ ($ VSub_DollarName '$GIT_BRANCH'))} 
                  {(Lit_Other ']')}
                )
              terminator: <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:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 238]
        )
      ]
      spids: [16777215 266]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$GIT_BRANCH'))} 
                  {(KW_Bang '!') (Lit_Other '=')} {(DQ (testing))} {(-a)} {(DQ ($ VSub_DollarName '$GIT_BRANCH'))} {(KW_Bang '!') (Lit_Other '=')} 
                  {(DQ (rationalise))} {(Lit_Other ']')}
                )
              terminator: <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:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 299]
        )
      ]
      spids: [16777215 327]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$GIT_BRANCH'))} {(Lit_Other '=')} 
                  {(DQ (testing))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:GIT_HEAD spids:[349])
                  op: Equal
                  rhs: 
                    {
                      (word_part.CommandSubPart
                        command_list: 
                          (command.CommandList
                            children: [
                              (C {(cut)} {(-c)} {(1-6)} 
                                {($ VSub_DollarName '$WDIR') (/woof-CE/.git/refs/heads/testing)}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [350 359]
                      )
                    }
                  spids: [349]
                )
              ]
              spids: [349]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:REMOTE_HEAD spids:[362])
                  op: Equal
                  rhs: 
                    {
                      (word_part.CommandSubPart
                        command_list: 
                          (command.CommandList
                            children: [
                              (command.Pipeline
                                children: [
                                  (C {(git)} {(ls-remote)} 
                                    {(https) (Lit_Other ':') 
                                      (//github.com/puppylinux-woof-CE/woof-CE.git)
                                    }
                                  )
                                  (C {(grep)} {(SQ <refs/heads/testing>)})
                                  (C {(cut)} {(-c)} {(1-6)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [363 388]
                      )
                    }
                  spids: [362]
                )
              ]
              spids: [362]
            )
          ]
          spids: [16777215 346]
        )
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$GIT_BRANCH'))} {(Lit_Other '=')} 
                  {(DQ (rationalise))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:GIT_HEAD spids:[410])
                  op: Equal
                  rhs: 
                    {
                      (word_part.CommandSubPart
                        command_list: 
                          (command.CommandList
                            children: [
                              (C {(cut)} {(-c)} {(1-6)} 
                                {($ VSub_DollarName '$WDIR') (/woof-CE/.git/refs/heads/rationalise)}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [411 420]
                      )
                    }
                  spids: [410]
                )
              ]
              spids: [410]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:REMOTE_HEAD spids:[423])
                  op: Equal
                  rhs: 
                    {
                      (word_part.CommandSubPart
                        command_list: 
                          (command.CommandList
                            children: [
                              (command.Pipeline
                                children: [
                                  (C {(git)} {(ls-remote)} 
                                    {(https) (Lit_Other ':') 
                                      (//github.com/puppylinux-woof-CE/woof-CE.git)
                                    }
                                  )
                                  (C {(grep)} {(SQ <refs/heads/rationalise>)})
                                  (C {(cut)} {(-c)} {(1-6)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [424 449]
                      )
                    }
                  spids: [423]
                )
              ]
              spids: [423]
            )
          ]
          spids: [390 407]
        )
      ]
      spids: [16777215 451]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$REMOTE_HEAD'))} 
                  {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_DollarName '$GIT_HEAD'))} {(Lit_Other ']')}
                )
              terminator: <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:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 471]
        )
      ]
      spids: [16777215 499]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (sfs))} {(-a)} 
                  {(DQ ($ VSub_DollarName '$PUPMODE'))} {(Lit_Other '=')} {(DQ (2))} {(Lit_Other ']')}
                )
              terminator: <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:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 531]
        )
      ]
      spids: [16777215 559]
    )
    (command.AndOr
      ops: [Op_DAmp]
      children: [
        (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$BUILD_FROM_WOOF'))} {(Lit_Other ']')})
        (command.Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (lhs_expr.LhsName name:FROMWOOF spids:[574])
              op: Equal
              rhs: 
                {(_) 
                  (word_part.CommandSubPart
                    command_list: 
                      (command.CommandList
                        children: [
                          (command.Pipeline
                            children: [
                              (C {(echo)} {($ VSub_DollarName '$BUILD_FROM_WOOF')})
                              (C {(cut)} {(-f)} {(2)} {(-d)} {(SQ <';'>)})
                              (C {(cut)} {(-c)} {(1-6)})
                            ]
                            negated: F
                          )
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [576 602]
                  )
                }
              spids: [574]
            )
          ]
          spids: [574]
        )
      ]
    )
    (command.Case
      to_match: {(DQ ($ VSub_Number '$1'))}
      arms: [
        (case_arm
          pat_list: [{(sfs)}]
          action: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:COMP_DIR spids:[616])
                  op: Equal
                  rhs: {(/initrd/pup_ro2)}
                  spids: [616]
                )
              ]
              spids: [616]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:PATCHES spids:[620])
                  op: Equal
                  rhs: 
                    {(woof_) (DQ ($ VSub_DollarName '$GIT_BRANCH')) 
                      (DQ ($ VSub_DollarName '$GIT_HEAD')) (_patches_to_) (DQ ($ VSub_DollarName '$DISTRO_FILE_PREFIX')) (-) 
                      (DQ ($ VSub_DollarName '$DISTRO_VERSION')) (_sfs) (DQ ($ VSub_DollarName '$FROMWOOF'))
                    }
                  spids: [620]
                )
              ]
              spids: [620]
            )
          ]
          spids: [613 614 642 16777215]
        )
        (case_arm
          pat_list: [{(SQ )}]
          action: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:COMP_DIR spids:[649])
                  op: Equal
                  rhs: (word.EmptyWord)
                  spids: [649]
                )
              ]
              spids: [649]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:PATCHES spids:[652])
                  op: Equal
                  rhs: 
                    {(woof_) (DQ ($ VSub_DollarName '$GIT_BRANCH')) 
                      (DQ ($ VSub_DollarName '$GIT_HEAD')) (_patches_to_) (DQ ($ VSub_DollarName '$DISTRO_FILE_PREFIX')) (-) 
                      (DQ ($ VSub_DollarName '$DISTRO_VERSION')) (DQ ($ VSub_DollarName '$FROMWOOF'))
                    }
                  spids: [652]
                )
              ]
              spids: [652]
            )
          ]
          spids: [645 647 673 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} {(DQ ($ VSub_Number '$1'))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ('No such file: ') ($ VSub_Number '$1'))})
                    (C {(Xdialog)} {(--title)} {(DQ (Error))} {(--msgbox)} 
                      {(DQ ('No such file: ') ($ VSub_Number '$1'))} {(0)} {(0)}
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Exit exit>
                      arg_word: {(1)}
                    )
                  ]
                  spids: [16777215 694]
                )
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} 
                          {
                            (DQ 
                              (word_part.CommandSubPart
                                command_list: 
                                  (command.CommandList
                                    children: [
                                      (C {(expr)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ':')} 
                                        {(SQ <'.*\\(woof-out\\)'>)}
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [735 747]
                              )
                            )
                          } {(Lit_Other '=')} {(SQ )} {(Lit_Other ']')}
                        )
                      terminator: <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: <ControlFlow_Exit exit>
                      arg_word: {(1)}
                    )
                  ]
                  spids: [730 758]
                )
              ]
              spids: [16777215 792]
            )
            (C {(mkdir)} {(-p)} {($ VSub_DollarName '$WDIR') (/patches)})
            (C {(cd)} {($ VSub_DollarName '$WDIR') (/woof-CE/woof-code)})
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:WOOFOUT_DIR spids:[809])
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (word_part.CommandSubPart
                          command_list: 
                            (command.CommandList
                              children: [
                                (C {(expr)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ':')} 
                                  {(SQ <'.*\\(woof-out[^/]*\\)'>)}
                                )
                              ]
                            )
                          left_token: <Left_Backtick '`'>
                          spids: [811 823]
                        )
                      )
                    }
                  spids: [809]
                )
              ]
              spids: [809]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:FILE spids:[827])
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (word_part.CommandSubPart
                          command_list: 
                            (command.CommandList
                              children: [
                                (C {(expr)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ':')} 
                                  {(SQ <'.*woof-out[^/]*/\\(.*\\)'>)}
                                )
                              ]
                            )
                          left_token: <Left_Backtick '`'>
                          spids: [829 841]
                        )
                      )
                    }
                  spids: [827]
                )
              ]
              spids: [827]
            )
            (C {(echo)} {(DQ ('Making patch from ') ($ VSub_DollarName '$FILE'))})
            (command.SimpleCommand
              words: [
                {(diff)}
                {(-u)}
                {(-N)}
                {($ VSub_DollarName '$FILE')}
                {(../../) ($ VSub_DollarName '$WOOFOUT_DIR') (/) ($ VSub_DollarName '$FILE')}
              ]
              redirects: [
                (redir.Redir
                  op: <Redir_Great '>'>
                  fd: 16777215
                  arg_word: 
                    {($ VSub_DollarName '$WDIR') (/patches/) 
                      (word_part.CommandSubPart
                        command_list: 
                          (command.CommandList
                            children: [(C {(basename)} {($ VSub_DollarName '$FILE')})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [870 874]
                      ) (.patch)
                    }
                )
              ]
            )
            (C {(cd)} {($ VSub_DollarName '$WDIR')})
            (C {(Xdialog)} {(--title)} {(DQ (Finished))} {(--msgbox)} 
              {
                (DQ ('Made patch from ') ($ VSub_DollarName '$FILE') (' ') (Lit_Other '\\') ('n ') 
                  ('It can be found in ') (Lit_Other '\\') ('n ') ($ VSub_DollarName '$WDIR') (/patches/)
                )
              } {(0)} {(0)}
            )
            (command.ControlFlow token:<ControlFlow_Exit exit>)
          ]
          spids: [676 677 916 16777215]
        )
      ]
      spids: [604 610 918]
    )
    (C {(mkdir)} {(-p)} {($ VSub_DollarName '$WDIR') (/) ($ VSub_DollarName '$PATCHES')})
    (C {(rm)} {(-rf)} 
      {($ VSub_DollarName '$WDIR') (/) ($ VSub_DollarName '$PATCHES') (/) (Lit_Other '*')}
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:DIRS spids:[938])
          op: Equal
          rhs: {(rootfs-skeleton)}
          spids: [938]
        )
      ]
      spids: [938]
    )
    (command.ForEach
      iter_name: i
      iter_words: [
        {
          (word_part.CommandSubPart
            command_list: 
              (command.CommandList
                children: [(C {(ls)} {(woof-CE/woof-code/rootfs-packages/)})]
              )
            left_token: <Left_CommandSub '$('>
            spids: [947 951]
          )
        }
      ]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:DIRS spids:[956])
                  op: Equal
                  rhs: 
                    {(DQ ($ VSub_DollarName '$DIRS') (' rootfs-packages/') ($ VSub_DollarName '$i'))}
                  spids: [956]
                )
              ]
              spids: [956]
            )
          ]
          spids: [953 963]
        )
      spids: [946 16777215]
    )
    (command.ForEach
      iter_name: D
      iter_words: [{($ VSub_DollarName '$DIRS')}]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:FOLDER spids:[976])
                  op: Equal
                  rhs: {(woof-CE/woof-code/) ($ VSub_DollarName '$D')}
                  spids: [976]
                )
              ]
              spids: [976]
            )
            (C {(cd)} {($ VSub_DollarName '$WDIR') (/) ($ VSub_DollarName '$FOLDER')})
            (command.ForEach
              iter_name: f
              iter_words: [
                {
                  (word_part.CommandSubPart
                    command_list: 
                      (command.CommandList
                        children: [(C {(find)} {(./)} {(-type)} {(f)})]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [994 1002]
                  )
                }
              ]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.AndOr
                      ops: [Op_DAmp Op_DAmp]
                      children: [
                        (C {(Lit_Other '[')} {(-f)} 
                          {($ VSub_DollarName '$COMP_DIR') (/) ($ VSub_DollarName '$f')} {(Lit_Other ']')}
                        )
                        (C {(Lit_Other '[')} 
                          {
                            (DQ 
                              (word_part.CommandSubPart
                                command_list: 
                                  (command.CommandList
                                    children: [
                                      (C {(diff)} {(-u)} {(-N)} {($ VSub_DollarName '$f')} 
                                        {($ VSub_DollarName '$COMP_DIR') (/) ($ VSub_DollarName '$f')}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1023 1035]
                              )
                            )
                          } {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                        )
                        (command.SimpleCommand
                          words: [
                            {(diff)}
                            {(-u)}
                            {(-N)}
                            {($ VSub_DollarName '$f')}
                            {($ VSub_DollarName '$COMP_DIR') (/) ($ VSub_DollarName '$f')}
                          ]
                          redirects: [
                            (redir.Redir
                              op: <Redir_Great '>'>
                              fd: 16777215
                              arg_word: 
                                {($ VSub_DollarName '$WDIR') (/) ($ VSub_DollarName '$PATCHES') (/) 
                                  (word_part.CommandSubPart
                                    command_list: 
                                      (command.CommandList
                                        children: [(C {(basename)} {($ VSub_DollarName '$f')})]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [1068 1072]
                                  ) (.patch)
                                }
                            )
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [1005 1076]
                )
              spids: [993 16777215]
            )
            (C {(cd)} {($ VSub_DollarName '$WDIR') (/) ($ VSub_DollarName '$PATCHES')})
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:DS spids:[1090])
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (word_part.CommandSubPart
                          command_list: 
                            (command.CommandList
                              children: [
                                (command.Pipeline
                                  children: [
                                    (C {(echo)} {($ VSub_DollarName '$D')})
                                    (C {(sed)} {(SQ <'s/\\//\\\\\\//'>)})
                                  ]
                                  negated: F
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [1092 1104]
                        )
                      )
                    }
                  spids: [1090]
                )
              ]
              spids: [1090]
            )
            (C {(sed)} {(-i)} 
              {
                (DQ (s/) (Lit_Other '\\') (-) (Lit_Other '\\') (-) (Lit_Other '\\') (-) (Lit_Other '\\') 
                  (' ') (Lit_Other '\\') (.) (Lit_Other '\\') (//) (Lit_Other '\\') (-) (Lit_Other '\\') (-) (Lit_Other '\\') (-) 
                  (Lit_Other '\\') (' a') (Lit_Other '\\') (/woof) (Lit_Other '\\') (-code) (Lit_Other '\\') (/) ($ VSub_DollarName '$DS') 
                  (Lit_Other '\\') (//)
                )
              } {(Lit_Other '*')}
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (sfs))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(sed)} {(-i)} 
                      {
                        (DQ (s/) (Lit_Other '\\') ('+') (Lit_Other '\\') ('+') (Lit_Other '\\') ('+') 
                          (Lit_Other '\\') (' ') (Lit_Other '\\') (/initrd) (Lit_Other '\\') (/pup_ro2) (Lit_Other '\\') (/) (Lit_Other '\\') (.) 
                          (Lit_Other '\\') (//) (Lit_Other '\\') ('+') (Lit_Other '\\') ('+') (Lit_Other '\\') ('+') (Lit_Other '\\') (' b') 
                          (Lit_Other '\\') (/woof) (Lit_Other '\\') (-code) (Lit_Other '\\') (/) ($ VSub_DollarName '$DS') (Lit_Other '\\') (//)
                        )
                      } {(Lit_Other '*')}
                    )
                  ]
                  spids: [16777215 1165]
                )
              ]
              else_action: [
                (C {(sed)} {(-i)} 
                  {
                    (DQ (s/) (Lit_Other '\\') ('+') (Lit_Other '\\') ('+') (Lit_Other '\\') ('+') 
                      (Lit_Other '\\') (' ') (Lit_Other '\\') (/) (Lit_Other '\\') (.) (Lit_Other '\\') (//) (Lit_Other '\\') ('+') (Lit_Other '\\') 
                      ('+') (Lit_Other '\\') ('+') (Lit_Other '\\') (' b') (Lit_Other '\\') (/woof) (Lit_Other '\\') (-code) 
                      (Lit_Other '\\') (/) ($ VSub_DollarName '$DS') (Lit_Other '\\') (//)
                    )
                  } {(Lit_Other '*')}
                )
              ]
              spids: [1214 1259]
            )
          ]
          spids: [973 1261]
        )
      spids: [970 16777215]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:INITPATH spids:[1266])
          op: Equal
          rhs: 
            {
              (word_part.CommandSubPart
                command_list: 
                  (command.CommandList
                    children: [
                      (command.Pipeline
                        children: [
                          (C {(echo)} {(DQ ($ VSub_DollarName '$PUPSFS'))})
                          (C {(cut)} {(-f)} {(2)} {(-d)} {(SQ </>)})
                          (C {(grep)} {(-v)} {(sfs)})
                        ]
                        negated: F
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [1267 1295]
              )
            }
          spids: [1266]
        )
      ]
      spids: [1266]
    )
    (C {(mkdir)} {(-p)} {(/tmp/initfs)})
    (C {(cd)} {(/tmp/initfs)})
    (command.Pipeline
      children: [
        (C {(gunzip)} {(-c)} {(/mnt/home/) ($ VSub_DollarName '$INITPATH') (/initrd.gz)})
        (C {(cpio)} {(-i)})
      ]
      negated: F
    )
    (C {(cd)} {($ VSub_DollarName '$WDIR') (/woof-CE)})
    (command.SimpleCommand
      words: [{(diff)} {(-u)} {(initrd-progs/0initrd/init)} {(/tmp/initfs/init)}]
      redirects: [
        (redir.Redir
          op: <Redir_Great '>'>
          fd: 16777215
          arg_word: {($ VSub_DollarName '$WDIR') (/) ($ VSub_DollarName '$PATCHES') (/init.patch)}
        )
      ]
    )
    (C {(sed)} {(-i)} 
      {
        (DQ (s/) (Lit_Other '\\') (-) (Lit_Other '\\') (-) (Lit_Other '\\') (-) (Lit_Other '\\') (' /') 
          (Lit_Other '\\') (-) (Lit_Other '\\') (-) (Lit_Other '\\') (-) (Lit_Other '\\') (' a') (Lit_Other '\\') (//)
        )
      } {($ VSub_DollarName '$WDIR') (/) ($ VSub_DollarName '$PATCHES') (/init.patch)}
    )
    (C {(sed)} {(-i)} 
      {
        (DQ (s/) (Lit_Other '\\') ('+') (Lit_Other '\\') ('+') (Lit_Other '\\') ('+') (Lit_Other '\\') (' ') 
          (Lit_Other '\\') (/tmp) (Lit_Other '\\') (/initfs/) (Lit_Other '\\') ('+') (Lit_Other '\\') ('+') (Lit_Other '\\') ('+') 
          (Lit_Other '\\') (' b') (Lit_Other '\\') (/initrd) (Lit_Other '\\') (-progs) (Lit_Other '\\') (/0initrd/)
        )
      } {($ VSub_DollarName '$WDIR') (/) ($ VSub_DollarName '$PATCHES') (/init.patch)}
    )
    (C {(rm)} {(-rf)} {(/tmp/initfs)})
    (C {(cd)} {($ VSub_DollarName '$WDIR') (/) ($ VSub_DollarName '$PATCHES')})
    (C {(mkdir)} {(binary_files)} {(SVGs)} {(defaults)} {(docs)} {(running)} {(desktop)})
    (command.ForEach
      iter_name: f
      iter_words: [
        {
          (word_part.CommandSubPart
            command_list: 
              (command.CommandList
                children: [
                  (command.Pipeline
                    children: [
                      (C {(grep)} {(Lit_Other '^') (Binary)} {(Lit_Other '*')})
                      (C {(cut)} {(-f)} {(1)} {(-d) (SQ <':'>)})
                    ]
                    negated: F
                  )
                ]
              )
            left_token: <Left_CommandSub '$('>
            spids: [1446 1467]
          )
        }
      ]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [(C {(mv)} {($ VSub_DollarName '$f')} {(binary_files/)})]
          spids: [1469 1478]
        )
      spids: [1445 16777215]
    )
    (C {(mv)} {(Lit_Other '*') (.svg.patch)} {(SVGs/)})
    (C {(mv)} {(default) (Lit_Other '*') (.patch)} {(defaults/)})
    (C {(mv)} {(Lit_Other '*') (.rules.patch)} {(running/)})
    (C {(mv)} 
      (word.BracedWordTree
        parts: [
          (word_part.BracedAltPart
            words: [
              {(PUPSTATE)}
              {(BOOTCONFIG)}
              {(clock)}
              {(current_month)}
              {(issue)}
              {(hosts)}
              {(hostname)}
              {(ld.so.conf)}
              {(resolv.conf)}
              {(profile)}
            ]
          )
          (.patch)
        ]
      ) {(running/)}
    )
    (C {(mv)} 
      (word.BracedWordTree
        parts: [
          (Lit_Other '*')
          (.)
          (word_part.BracedAltPart words:[{(htm)} {(html)} {(css)} {(txt)}])
          (.patch)
        ]
      ) {(docs/)}
    )
    (C {(mv)} {(Lit_Other '*') (.html.) (Lit_Other '*') (.patch)} {(docs/)})
    (C {(mv)} {(Lit_Other '*') (.desktop.patch)} {(desktop/)})
    (C {(rm)} {(-f)} {(messages.patch)})
    (C {(cd)} {($ VSub_DollarName '$WDIR')})
    (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
    (C {(rm)} {(-f)} {($ VSub_DollarName '$WDIR') (/) ($ VSub_DollarName '$PATCHES') (.tar.gz)})
    (C {(tar)} {(cvzf)} {($ VSub_DollarName '$PATCHES') (.tar.gz)} {($ VSub_DollarName '$PATCHES') (/)})
    (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
  ]
)